background preloader

Tutorial: manage menu and LCD display with Arduino

Tutorial: manage menu and LCD display with Arduino
Working on my MIDI ribbon controller I needed to implement a menu to easily configure several parameters, but I found information on how to handle a menu, how to manage an LCD display, but very poor info on how to combine the two things. However, thanks to Alexander Brevig Menubackend library I managed to create the menu I wanted.I downloaded the Alexander Brevig Library version 1.4 and I slightly modified it adding, at line 195 of the MenuBackend.h file , immediately before the line "private:", this method: void toRoot() { setCurrent( &getRoot() ); } I needed this method to be able to return easily to the root of the menu. In my sketch I then imported and the Menubackend library and the LiquidCrystal library which is included in the Arduino IDE. Main | Item1-------------------------------Item2----------------------------------------------------Item3 | |Item1SubItem1-----Item1SubItem2 Item2SubItem1------Item2SubItem2------Item2SubItem3 For this project you need the following components: Related:  DOC_ARDUINOIntervallometre

Siliconfish: Arduino LCD Countdown Clock Quickie project for a desktop clock that counts down to when my work project has to be done, then counts how many weeks it is late. The design is the "raw electronics" look. The arduino is mounted on the back of the large LCD display by nothing more than a stacked header, and hot glued to a small piece of wood for a base. The code is built on top of the basic example for a clock that syncs from the PC, found here: The Arduino Time Library on the Arduino When plugged into the PC and using the Arduino serial monitor, it waits for you to enter a unix timestamp. They have the form of seconds since Jan 01 1970, type in T1297687386 Type that in the start the clock. Change this variable in the code to the unix timestamp of the event you want to count down tosigned long tapeout = 1309539600; The hardware is nothing more than an arduino interfaced to a huge 20x4 backlit LCD module, using the 4 bit wide parallel communication mode.

Comment déclencher un EOS ? Après quelques recherches et quelques essais sur mon Canon EOS 500D, je suis arrivé à ça : Schéma en haut, pour Canon EOS, ou bien (avec la prise qui va bien) pour Sony alpha.Schéma du bas pour Panasonic GF1 et autres ayant la prise de télécommande. #define MAP_PIN 3 #define CLIC_PIN 2 int tempo_map = 400; // durée laissée à la mise au point, ici 400 ms à réglerint tempo_clic = 200; // durée pour le contact du shoot, ici 200ms à régler void setup() { // initialisation des pin digitaux de l'arduino pinMode(MAP_PIN, OUTPUT); pinMode(CLIC_PIN, OUTPUT); } void loop() // Code test pour un déclenchement avec mise au point toutes les 5 secondes{ digitalWrite(MAP_PIN, HIGH); delay(tempo_map); digitalWrite(CLIC_PIN, HIGH); delay(tempo_clic); digitalWrite(MAP_PIN, LOW); digitalWrite(CLIC_PIN, LOW); delay(5000); } J'ai pris un optocoupleur équivalent au PC827 car c'est un double canal. PS : je ne suis pas doué en schéma électronique, si vous avez mieux, je suis preneur.

RotaryEncoders ALPS STEC12E07 Encoder A rotary or "shaft" encoder is an angular measuring device. It is used to precisely measure rotation of motors or to create wheel controllers (knobs) that can turn infinitely (with no end stop like a potentiometer has). Some of them are also equipped with a pushbutton when you press on the axis (like the ones used for navigation on many music controllers). I've written a little sketch to read a rotary controller and send its readout via RS232. It simply updates a counter (encoder0Pos) every time the encoder turns by one step, and sends it via serial to the PC. This works fine with an ALPS STEC12E08 encoder which has 24 steps per turn. I learned about how to read the encoder from the file encoder.h included in the Arduino distribution as part of the AVRLib. Example 1 Oh, a few notes: I'm not sure about the etiquette of this, but I'm just going to add onto this tutorial. Below is an image showing the waveforms of the A & B channels of an encoder. Interrupt Example

[PoBot] Débuter avec une carte Arduino La famille Arduino est apparue en 2006 sous forme d’une carte programmable avec un port série. Puis de nouvelles versions sont apparues, toujours aussi simples, avec différents formats : petites, grandes, plus puissantes, plus économiques, avec USB, avec Ethernet, compatible Androïd, etc... On peut les utiliser pour récupérer les informations de capteurs, pour contrôler des moteurs, pour communiquer avec un ordinateur, avec un téléphone portable, pour envoyer et lire des messages sur Internet, pour éteindre des appareils électriques, pour piloter un robot mobile, pour servir de cerveau à un humanoïde, ou tout simplement pour apprendre l’électronique, et encore bien d’autres usages. Retrouvez grâce au lexique tous nos articles traitant de la carte Arduino. Arduino, c’est une grande famille et une solution reconnue avec des publications dédiées. Différents modèles, une même passion Présentation Voici ses caractéristiques principales pour le modèle le plus courant : hardware software Premiers pas

Ressources pour l'interactivité | Arduino / I2C Arduino est distribué avec la logithèque Wire qui permet une communication I2C et Two Wire. La logithèque Wire utilise un adressage à 7 bits pour l'écriture et la lecture. Pour convertir une adresse I2C à 8 bist en adresse I2C à 7 bits, les bits doivent être décalés vers la droite ( >> 1 ). Par exemple, le capteur TPA81 à l'adresse I2C 8 bits de 0xD0 (B11010000) par défaut. Rp=1.8k 5.1 Écriture // Set register and write data Wire.beginTransmission(ADDRESS); Wire.send(REGISTRE); Wire.send(DATA); [...] 5.2 Lecture // Set register Wire.beginTransmission(ADDRESS); Wire.write(REGISTRE); Wire.endTransmission(); // Request data Wire.requestFrom(ADDRESS, NUMBER_OF_BYTES); // Wait for register's datawhile(Wire.available() < NUMBER_OF_BYTES) { ; // Do nothing } int i2c_data = Wire.read();

miniEngine | An open-source, Arduino based intervalometer and multi-axis motion-control system for time-lapse and video photography. apache-ant-1.8.3 Introduction à Apache Ant Le paquet Apache Ant est un outil de compilation basé sur Java. En théorie, ça ressemble beaucoup à make, mais sans les inconvénients de make. Ant est différent. Ce paquet est connu pour se construire correctement sur une plateforme LFS-7.5. Informations sur le paquet Dépendances d'Apache Ant Requises Un JDK (Java Binary ou OpenJDK-1.7.0.51/IcedTea-2.4.5) Recommandées JUnit-4.11 Notes utilisateur : Installation de Apache Ant Note Il se peut que vous ayez besoin de bibliothèques supplémentaires pour satisfaire les exigences de construction de divers paquets installés en utilisant Apache Ant. S'il n'est pas possible d'installer JUnit, installez Apache Ant en supprimant la référence aux instructions de test (remarquez que les tests ne seront pas effectués) : sed -i 's/jars,test-jar/jars/' build.xml Sinon copiez le fichier jar junit dans l'arborescence locale. cp -v /usr/share/java/junit-4.11.jar lib/optional . . Contenu

Arduino BitBang Sources Tuto qu'on a suivi Pourquoi ? Si vous achetez un atmel, qui ne coute qu'environ 3€, vous pouvez le programmer aussi bien qu'un arduino, et c'est plus facile a integrer dans un montage Seul problème: le programmeur coute une fortune, pas besoin de depenser d'argent si vous avez déja un arduino! Materiel Necessaire: Arduino 1 Atmel, peu importe lequel (atmega8, atmega 16, atmega 32 ou atmega 168) Des "pins" secables (4) Quelques cables et si possibles une plaquette d'essai Comment ? On va utiliser la puce qui se trouve sur l'arduino pour communiquer en usb entre le pc et l'atmel. Partie Materielle Pins sur l'arduino Il faut souder les 4 pins secables sur l'arduino, attention de ne pas faire cramer la puce! Branchement de l'atmel on va recuperer l'alimentation du port icsp de l'arduino, et le reste des 4 pins que l'on vient de souder. On a maintenant une prise icsp qui peut programmer n'importe quel atmel! Du côté de l'atmel, justement nous avons deux choix qui s'offre a nous: Conclusion

HomePage Déjà visites sur cette page. Nouveau : Découvrez nos kits de machines opensource et notre nouveau site dédié ! Bienvenue ! Soutenez le site www.mon-club-elec.fr ! Vous aimez le site www.mon-club-elec.fr ? Paiement par compte Paypal ou par carte bancaire acceptés Vous pouvez donner dès 1€ ! En cours : portage de la librairie JavacvPro en version PyQt : Ma librairie JavacvPro : la "vision par ordinateur" avec OpenCV sous Processing pour tous ! Je viens de finaliser la version 0.4 de ma librairie JavacvPro qui implémente la librairie OpenCV 2.3.1 sous Processing, permettant de créer facilement des applications de reconnaissance visuelle et d'analyse d'image en temps réel sur un flux vidéo de webcam. HomePageEssentiel Pour aller droit à essentiel... En cours de mise en place... Contact et support Je crée ce site sur mon temps libre et je mets les contenus à la disposition de tous "as is" en espérant que cela soit utile. Dernières mises en ligne Ce site est en cours d'enrichissement permanent.

Related: