Arduino : initiation

Pour faire suite à l’initiation / présentation de l’Arduino faite hier, il me semblait opportun de publier un post synthétisant ce qui a été dit. Vous trouverez également des liens / ressources références.

I – Arduino – la carte

Donc voici l’Arduino.

L’Arduino est un microcontroleur (un élément de commande) programmable. Elle a été pensée pour faciliter l’usage de l’électronique. Avec elle, on peut arriver très rapidement à réaliser des circuits et de commande sans avoir une connaissance poussée de l’électronique.

LES DIFFÉRRENTS MODÈLES

Selon les usages, il y a plusieurs types d’Arduino.

• Arduino Uno (remplace les anciens modèles Duomilanove et Diecemilla) : c’est la carte de base, celle qui est en photo ci-dessus, celle que je conseille aux débutants. La puce centrale est une ATMega 328. Le « 328 » indique sa mémoire.

• Arduino Mega : c’est la carte de base avec plus de mémoire. La puce centrale est une ATMega 1280. Elle possède plus d’entrées / sorties (54). Et plus chère.

• Arduino Mega 2650 : La puce centrale est donc une ATMega 2650.

• Arduino Nano / Arduino Mini : pour les projets aboutis, à construire. Sa taille permet de l’implanter plus facilment dans un objet. Je le déconseille pour le prototypage / essai : le câblage s’en trouve énormément compliqué.

• Arduino BT : BT pour BlueTooth. Permet à l’Arduino de communiquer sans fil. Plus chère que l’Arduino de base mais peut se révéler très pratique à la longue. Ça évite d’occuper des entrées/sorties avec un module annexe.

• Lylipad Arduino : conçu pour la mode interactive. Sa taille et son ergonomie sont pensées pour être facilement cousue sur du textile.

• Arduino Fio : pour les utilisateurs avancés. Cet Arduino est programmable sans passer par le logiciel Arduino dédié.

• Arduino Pro : pour les utilisateurs avancés. Carte Arduino avec le minimum de composants installés. Carte moins chère, donc, mais moins intuitive.

LES SHIELDS

Les shields sont des cartes électroniques qui se branchent directement les entrées/sorties de l’Arduino sur l’Arduino. Ce sont des modules possédant des fonctions spécifiques. Ils simplifient considérablement la programmation, le cablage, l’ergonomie et la fabrication. On peut trouver une liste complète à cette adresse : http://shieldlist.org/.

Quelques exemples :

• 4D Systems 4Display Shield 128 : un shield facilitant le cablage d’un écran LCD

 

• Adafruit Industries Ethernet Shield : pour brancher l’Arduino sur un réseau ethernet

 

• Adafruit Industries GPS Shield : pour les applications GPS

• Excamera Labs Gameduino Shield : pour faire tourner des jeux 8-bits à partir de l’Arduino. Possède une sortie VGA.

 

 

II – Arduino – le logiciel

**

**

La carte Arduino fonctionne avec un logiciel dédié qui facilite le transfert de programme vers sa ROM. Il est téléchargeable à cette adresse.

INSTALLATION

L’installation se passe en 2 temps. La première est l’installation du driver de la carte, la deuxième, l’installation du logiciel à proprement parler. Un redémarrage de l’ordinateur est nécessaire.

Pour les Mac

Pour Windows

Pour Linux

 

III – Montage – Exemples simples

COMMANDER UNE SORTIE ARDUINO : blinking led

La Blinking Led est le Hello World de l’Arduino. Commençons donc par cet exemple. Cet exemple se retrouve de manière plus détaillée ici, en anglais.

Le code (à copier/coller dans le logiciel) :

/* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ void setup() { // initialize the digital pin as an output. // Pin 13 has an LED connected on most Arduino boards: pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH);   // set the LED on delay(1000);              // wait for a second digitalWrite(13, LOW);    // set the LED off delay(1000);              // wait for a second }

Le cablage :

COMMANDER UNE SORTIE ARDUINO PAR UNE DE SES ENTRÉES : blinking led commandée par potentiomètre

Plus de détails ici.

Le code :

/* Analog Input Demonstrates analog input by reading an analog sensor on analog pin 0 and turning on and off a light emitting diode(LED) connected to digital pin 13. The amount of time the LED will be on and off depends on the value obtained by analogRead(). The circuit: * Potentiometer attached to analog input 0 * center pin of the potentiometer to the analog pin * one side pin (either one) to ground * the other side pin to +5V * LED anode (long leg) attached to digital output 13 * LED cathode (short leg) attached to ground * Note: because most Arduinos have a built-in LED attached to pin 13 on the board, the LED is optional. Created by David Cuartielles Modified 4 Sep 2010 By Tom Igoe This example code is in the public domain. http://arduino.cc/en/Tutorial/AnalogInput */ int sensorPin = A0; // select the input pin for the potentiometer int ledPin = 13; // select the pin for the LED int sensorValue = 0; // variable to store the value coming from the sensor void setup() { // declare the ledPin as an OUTPUT: pinMode(ledPin, OUTPUT); } void loop() { // read the value from the sensor: sensorValue = analogRead(sensorPin); // turn the ledPin on digitalWrite(ledPin, HIGH); // stop the program for milliseconds: delay(sensorValue); // turn the ledPin off: digitalWrite(ledPin, LOW); // stop the program for for milliseconds: delay(sensorValue); } 

Le cablage (le cablage de la led est le même que le précédent) :

Je vous invite à essayer les différents exemples du site Arduino (rubrique Learning). Ils constituent d’excellents points de départ.

IV – Quelques réalisations (pour donner des idées)

ARDUINO + WIIMOTE

http://www.youtube.com/watch?v=DjC2Y9suWSI

http://www.youtube.com/watch?v=UK5YHQJR26k&feature=related

DRONE

http://diydrones.com/profiles/blogs/aeroquadan-arduinopowered (pour le fabriquer : www.aeroquadstore.com)

V –  Ressources

LIVRES / MAGAZINES

Make Magazine : le magazine pour le Do it Yourself éléctronique / Hack. Le n°25 est consacré à l’Arduino.

Blog Make : le blog attaché à Makezine. Plein d’idées et de tuyaux.

Making Things Talk : LA bible des projets sérieux à base d’Arduino. Très pédagogique, très didactique, de nombreuses annexes pour expliquer les protocoles, bref, à mes yeux : incontournable.

-> le site du livre où on retrouve les codes et les erratum du livre (quelques erreurs existent dans le livre selon l’édition)

-> Amazon

Amazon : http://www.amazon.com/Make-Embedded-Projects-Hardware-Discovery/dp/1449389716/ref=sr_1_1?ie=UTF8&s=books&qid=1306930851&sr=8-1

Arduino : bots and gadgets : pour construire des robots à base d’Arduino

-> Amazon

Make : electronics (learning by discovery) : pour les débutants en électronique (et pour ceux qui veulent se rafraichir la mémoire) : bien illustré et clair.

-> Amazon

Arduino Cookbook : très bon guide avec des exemples intéressants basiques mais qui peuvent se customiser et répondre à pas mal de besoins.

-> Amazon

Practical Arduino : Un bon exemple de speech synthetizer dans ce livre.

-> le site du livre

-> Amazon

Building Wireless Sensor Networks Processing : comme son titre l’indique, pour les solutions sans fil.

-> Amazon

 

SITES INTERNET

Arduino.cc : site de référence de l’Arduino. Impossible de ne pas y passer.

Youtube : on peut trouver des video didactiques claires. En constante évolution.

Vimeo : les video sont plus propres et pointues sur Vimeo.

Github : site collaboratif de partage de code

Google Code : site collaboratif de partage de code

• Acheter arduino

Arduino.cc : le site recense les revendeurs par pays et continent. Le Snootlab de Toulouse en vend, contrairement à ce que j’avais dit.

Ebay : on peut y trouver les vieux modèles (et mêmes les nouveaux) à moins cher.

• Logiciels :

Fritzing : logiciel intuitif pour dessiner les cablages / montages avec l’Arduino

Arduino

• Commande matériel électronique

**[Pour faire suite à l’initiation / présentation de l’Arduino faite hier, il me semblait opportun de publier un post synthétisant ce qui a été dit. Vous trouverez également des liens / ressources références.

I – Arduino – la carte

Donc voici l’Arduino.

L’Arduino est un microcontroleur (un élément de commande) programmable. Elle a été pensée pour faciliter l’usage de l’électronique. Avec elle, on peut arriver très rapidement à réaliser des circuits et de commande sans avoir une connaissance poussée de l’électronique.

LES DIFFÉRRENTS MODÈLES

Selon les usages, il y a plusieurs types d’Arduino.

• Arduino Uno (remplace les anciens modèles Duomilanove et Diecemilla) : c’est la carte de base, celle qui est en photo ci-dessus, celle que je conseille aux débutants. La puce centrale est une ATMega 328. Le « 328 » indique sa mémoire.

• Arduino Mega : c’est la carte de base avec plus de mémoire. La puce centrale est une ATMega 1280. Elle possède plus d’entrées / sorties (54). Et plus chère.

• Arduino Mega 2650 : La puce centrale est donc une ATMega 2650.

• Arduino Nano / Arduino Mini : pour les projets aboutis, à construire. Sa taille permet de l’implanter plus facilment dans un objet. Je le déconseille pour le prototypage / essai : le câblage s’en trouve énormément compliqué.

• Arduino BT : BT pour BlueTooth. Permet à l’Arduino de communiquer sans fil. Plus chère que l’Arduino de base mais peut se révéler très pratique à la longue. Ça évite d’occuper des entrées/sorties avec un module annexe.

• Lylipad Arduino : conçu pour la mode interactive. Sa taille et son ergonomie sont pensées pour être facilement cousue sur du textile.

• Arduino Fio : pour les utilisateurs avancés. Cet Arduino est programmable sans passer par le logiciel Arduino dédié.

• Arduino Pro : pour les utilisateurs avancés. Carte Arduino avec le minimum de composants installés. Carte moins chère, donc, mais moins intuitive.

LES SHIELDS

Les shields sont des cartes électroniques qui se branchent directement les entrées/sorties de l’Arduino sur l’Arduino. Ce sont des modules possédant des fonctions spécifiques. Ils simplifient considérablement la programmation, le cablage, l’ergonomie et la fabrication. On peut trouver une liste complète à cette adresse : http://shieldlist.org/.

Quelques exemples :

• 4D Systems 4Display Shield 128 : un shield facilitant le cablage d’un écran LCD

 

• Adafruit Industries Ethernet Shield : pour brancher l’Arduino sur un réseau ethernet

 

• Adafruit Industries GPS Shield : pour les applications GPS

• Excamera Labs Gameduino Shield : pour faire tourner des jeux 8-bits à partir de l’Arduino. Possède une sortie VGA.

 

 

II – Arduino – le logiciel

**

**

La carte Arduino fonctionne avec un logiciel dédié qui facilite le transfert de programme vers sa ROM. Il est téléchargeable à cette adresse.

INSTALLATION

L’installation se passe en 2 temps. La première est l’installation du driver de la carte, la deuxième, l’installation du logiciel à proprement parler. Un redémarrage de l’ordinateur est nécessaire.

Pour les Mac

Pour Windows

Pour Linux

 

III – Montage – Exemples simples

COMMANDER UNE SORTIE ARDUINO : blinking led

La Blinking Led est le Hello World de l’Arduino. Commençons donc par cet exemple. Cet exemple se retrouve de manière plus détaillée ici, en anglais.

Le code (à copier/coller dans le logiciel) :

/* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ void setup() { // initialize the digital pin as an output. // Pin 13 has an LED connected on most Arduino boards: pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH);   // set the LED on delay(1000);              // wait for a second digitalWrite(13, LOW);    // set the LED off delay(1000);              // wait for a second }

Le cablage :

COMMANDER UNE SORTIE ARDUINO PAR UNE DE SES ENTRÉES : blinking led commandée par potentiomètre

Plus de détails ici.

Le code :

/* Analog Input Demonstrates analog input by reading an analog sensor on analog pin 0 and turning on and off a light emitting diode(LED) connected to digital pin 13. The amount of time the LED will be on and off depends on the value obtained by analogRead(). The circuit: * Potentiometer attached to analog input 0 * center pin of the potentiometer to the analog pin * one side pin (either one) to ground * the other side pin to +5V * LED anode (long leg) attached to digital output 13 * LED cathode (short leg) attached to ground * Note: because most Arduinos have a built-in LED attached to pin 13 on the board, the LED is optional. Created by David Cuartielles Modified 4 Sep 2010 By Tom Igoe This example code is in the public domain. http://arduino.cc/en/Tutorial/AnalogInput */ int sensorPin = A0; // select the input pin for the potentiometer int ledPin = 13; // select the pin for the LED int sensorValue = 0; // variable to store the value coming from the sensor void setup() { // declare the ledPin as an OUTPUT: pinMode(ledPin, OUTPUT); } void loop() { // read the value from the sensor: sensorValue = analogRead(sensorPin); // turn the ledPin on digitalWrite(ledPin, HIGH); // stop the program for milliseconds: delay(sensorValue); // turn the ledPin off: digitalWrite(ledPin, LOW); // stop the program for for milliseconds: delay(sensorValue); } 

Le cablage (le cablage de la led est le même que le précédent) :

Je vous invite à essayer les différents exemples du site Arduino (rubrique Learning). Ils constituent d’excellents points de départ.

IV – Quelques réalisations (pour donner des idées)

ARDUINO + WIIMOTE

http://www.youtube.com/watch?v=DjC2Y9suWSI

http://www.youtube.com/watch?v=UK5YHQJR26k&feature=related

DRONE

http://diydrones.com/profiles/blogs/aeroquadan-arduinopowered (pour le fabriquer : www.aeroquadstore.com)

V –  Ressources

LIVRES / MAGAZINES

Make Magazine : le magazine pour le Do it Yourself éléctronique / Hack. Le n°25 est consacré à l’Arduino.

Blog Make : le blog attaché à Makezine. Plein d’idées et de tuyaux.

Making Things Talk : LA bible des projets sérieux à base d’Arduino. Très pédagogique, très didactique, de nombreuses annexes pour expliquer les protocoles, bref, à mes yeux : incontournable.

-> le site du livre où on retrouve les codes et les erratum du livre (quelques erreurs existent dans le livre selon l’édition)

-> Amazon

Amazon : http://www.amazon.com/Make-Embedded-Projects-Hardware-Discovery/dp/1449389716/ref=sr_1_1?ie=UTF8&s=books&qid=1306930851&sr=8-1

Arduino : bots and gadgets : pour construire des robots à base d’Arduino

-> Amazon

Make : electronics (learning by discovery) : pour les débutants en électronique (et pour ceux qui veulent se rafraichir la mémoire) : bien illustré et clair.

-> Amazon

Arduino Cookbook : très bon guide avec des exemples intéressants basiques mais qui peuvent se customiser et répondre à pas mal de besoins.

-> Amazon

Practical Arduino : Un bon exemple de speech synthetizer dans ce livre.

-> le site du livre

-> Amazon

Building Wireless Sensor Networks Processing : comme son titre l’indique, pour les solutions sans fil.

-> Amazon

 

SITES INTERNET

Arduino.cc : site de référence de l’Arduino. Impossible de ne pas y passer.

Youtube : on peut trouver des video didactiques claires. En constante évolution.

Vimeo : les video sont plus propres et pointues sur Vimeo.

Github : site collaboratif de partage de code

Google Code : site collaboratif de partage de code

• Acheter arduino

Arduino.cc : le site recense les revendeurs par pays et continent. Le Snootlab de Toulouse en vend, contrairement à ce que j’avais dit.

Ebay : on peut y trouver les vieux modèles (et mêmes les nouveaux) à moins cher.

• Logiciels :

Fritzing : logiciel intuitif pour dessiner les cablages / montages avec l’Arduino

Arduino

• Commande matériel électronique

]25 : le premier site de vente à s’être intéressé à l’Arduino aux États Unis. bonne rubrique de tutoriaux.

Sparkfun :LE site où on trouve tout ce qu’on veut, à pas (très) cher. Très didactique, très complet.

Snootlab : Spécialisés en shield pour Arduino. Leur volonté est de faire un sparkfun à la française. Je les ai rencontrés, très motivés, disponibles et passionnés.

Pour les commandes électroniques de composants de base :

Conrad : le plus grand public des sites de vente en ligne de composants électroniques.

Radiospares : cher, mais pro.

Ebay : très bon moyen d’acheter par lots. Certains composants exotiques se trouvent facilement sur ebay en achetant direct à Hong Kong auprès des fabricants, et donc prix réduits.