Méthode Arduino
Arduino.gif   http://www.arduino.cc/
Free - Open Source
MacOSX Linux Windows
 
"Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments."
 
"Arduino" désigne à la fois des cartes d'interface et le logiciel pour utiliser ces cartes.

Méthode écrite avec une carte Arduino Leonardo ArduinoLeonardoFront_2.jpg ArduinoLeonardoBack_2.jpg
(et une carte Arduino Uno )
 
Logiciel dernière version    Logiciel version beta
 
 
 
Documentation
 
Language Reference          Foundations             Tutorial            FAQ           Libraries
Arduino Playground           Arduino Forum
 
Past and present Arduino boards
 
Arduino Uno           Guide    pdf Schematic   
Arduino Leonardo    Guide    pdf Schematic   
 
 
 
 
Installation sous MacOSX (X.5)
 

 1 Téléchargement de arduino-1.0.2 -> arduino-1.0.2-macosx.zip (75Mo) (5 11 2012)
 
2 Unzip -> Arduino.app -> Placer dans dossier Applications du Mac
 
3 Lancement de Arduino: un dossier:
   /Users/..vous../Documents/Arduino/libraries/
   est créé. C'est la "Sketchbook location" ou "Emplacement du carnet de croquis"
   Son emplacement est modifiable dans les Preferences de Arduino
 
4 Les exemples sont dans:
      (Sélectionner Arduino.app -> Clic droit -> Afficher le contenu du paquet)
      /Applications/Arduino.app/Contents/Resources/Java/examples
   Les "Standard Libraries":
      EEPROM  Ethernet  Firmata  GSM  LiquidCrystal  SD  Servo  SPI  SoftwareSerial  Stepper  TFT  WiFi  Wire
      sont dans:
      /Applications/Arduino.app/Contents/Resources/Java/libraries
   Les exemples des "Standard Libraries" sont dans:
      /Applications/Arduino.app/Contents/Resources/Java/libraries/Firmata/examples (par exemple)
 
5 Installation d'une "Additional Library"
   Par exemple la library "Adafruit-RGB-LCD-Shield-Library" pour Adafruit 16x2 LCD Shield (vendu en France chez Farnell)
      - Quitter l'application Arduino.
      - Aller à la: Github RGB LCD library page
      - Clic -> Download ZIP -> Adafruit-RGB-LCD-Shield-Library-master.zip
      - Un-Zip -> Dossier "Adafruit-RGB-LCD-Shield-Library-master"
      - Renommer le dossier -> "Adafruit_RGB_LCD_Shield_Library" (les traits d'union sont interdits)
      - Placer ce dossier dans /Users/..vous../Documents/Arduino/libraries/
               (Créer au besoin ce dossier libraries s'il n'existe pas)
      - On obtient -> LCDLibrary
      - Relancer l'application Arduino.
      - Dans le menu File -> Examples -> on a -> Adafruit_RGB_LCD_Shield_Library
      - Ouvrir un exemple, compiler pour vérifier la library
 
 
Installation sous Linux (Ubuntu 10.04)
 
1 Téléchargement de arduino-1.0.2

 
 
Installation sous Windows (XP)

1 Téléchargement du logiciel Arduino-1.0.5 -> Windows Installer -> arduino-1.0.5-r2-windows.exe
 
2 Exécuter arduino-1.0.5-r2-windows.exe
... l'installation se fait dans: C:\Program Files\Arduino  (254Mo)
 
3 Lancement de Arduino: un dossier:
   C:\Documents and Settings\p\Mes documents\Arduino\    (\p\ = vous...)
   est créé. C'est la "Sketchbook location" ou "Emplacement du carnet de croquis"
   Son emplacement est modifiable dans les Preferences du logiciel Arduino
 
4 Les exemples sont dans:
      C:\Program Files\Arduino\examples\
   Les "Standard Libraries" (EEPROM  Ethernet  Firmata  GSM  LiquidCrystal  SD  Servo  SPI  SoftwareSerial  Stepper  TFT  WiFi  Wire...) sont dans:
            C:\Program Files\Arduino\libraries
   Les exemples des "Standard Libraries" sont dans:
            C:\Program Files\Arduino\libraries\EEPROM\examples (par exemple)
 
5 Installation d'une "Additional Library"
   Par exemple la library "DHTLib" pour temperature and humidity sensors DHT11, DHT21, DHT22
      - Voir -> http://playground.arduino.cc/Main/DHTLib
      - -> latest on github -> https://github.com/RobTillaart/Arduino/tree/master/libraries/DHTlib
        Clic <> Code -> Download ZIP -> Arduino-master.zip
      - Un-Zip Arduino-master.zip -> Dossier "Arduino-master"
      - Ouvrir Arduino-master
      - Quitter l'application Arduino.
      - Placer le dossier Arduino-master\Arduino-master\libraries\DHTlib\
        dans C:\Documents and Settings\p\Mes documents\Arduino\libraries\
               (Créer au besoin ce dossier libraries s'il n'existe pas)
      - On obtient -> Arduino-library
      - Relancer l'application Arduino.
      - Dans le menu Fichier -> Exemples -> on a -> DHTlib
      - Ouvrir un exemple, compiler pour vérifier la library
 
 
Début
 
Les fichiers Arduino ont l'extension .ino (l'extension .pde comme Processing était utilisée jusqu'a la version 1.0 de Arduino)
 
Connecter la carte Arduino USB "Leonardo" ("Uno") à l'ordinateur
Une LED verte s‘allume, une LED jaune clignote.
 
Lancer Arduino
Menu Outils -> Type de carte -> Arduino Leonardo (Arduino Uno)
Menu Outils -> Port série      -> /dev/cu.usbmodem1d11     (sous MacOS)
 
Menu Fichier -> Exemples -> 01.Basics -> Blink ->
/*
  Blink
  Turns on an LED on for one second, then off for one second, repeatedly.
  This example code is in the public domain.
 */
 
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {               
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);    
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                  // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                  // wait for a second
}
 
Clic -> Televerser.png
 
Bizarre avec la Leonardo le Mac affiche "Avis de débranchement du périphérique USB..." alors que ca fonctionne...
 
Le programme est chargé puis s’éxécute dans la carte Arduino.
Une LED jaune clignote sur la carte: 1000 ms allumée / 1000 ms éteinte
Modifier le programme: remplacer delay(1000) par delay(100) par exemple
Téléverser (Upload) -> Regarder le différence
 
Sketch (= Croquis) = Programme
Sketchbook = dossier ou on met tous les programmes
Voir son emplacement dans Preferences et ci-dessus.
 
Attention le nom d'un sketch ne peut pas commencer par un nombre
 
Aide interne: Sélectionner une commande -> Clic droit -> Find in reference -> ...
 
 

Communication Carte Arduino -> USB -> Ordinateur
 
La function: Serial
Exemple:
/*
  Blink_modif1.ino
 Turns on an LED on for one second, then off for one second, repeatedly.
 This example code is in the public domain.
 */

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;
int Counter = 0;

// the setup routine runs once when you press reset:
void setup() {              
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);
  Serial.begin(9600);
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                  // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                  // wait for a second
  Serial.print("Counter = ");
  Serial.println(Counter);
  Counter = Counter +1;
}  
 
Clic -> Methode-Arduino1 -> Methode-Arduino2
 
Attention "if you use these functions, you cannot also use pins 0 and 1 for digital input or output."

 
Communication Carte Arduino <- USB <- Ordinateur
 
La function: Serial
Exemple:
/*
 Blink_modif4.ino
 Hit a or A and send in the Arduino Serial Monitor to turn LED off .
 Hit b or B and send in the Arduino Serial Monitor to turn LED on.
 */
 
int led = 13;
int incomingByte = 0;   // for incoming serial data

void setup() { // the setup routine runs once when you press reset:
  pinMode(led, OUTPUT); // initialize the digital pin as an output.
  Serial.begin(9600);
}
 
void loop() {  // the loop routine runs over and over again forever:
  if (Serial.available() > 0) {
    incomingByte = Serial.read();    // read the incoming byte:
    Serial.print("I received: ");
    Serial.println(incomingByte);
    if ((incomingByte == 65) || (incomingByte == 97)) { // if a or A
      digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
    }
    if ((incomingByte == 66) || (incomingByte == 98)) { // if b or B
      digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
    }
  }

 
Clic -> Methode-Arduino1 -> Methode-Arduino3
 
Taper a ou A + Envoyer dans le "Moniteur série" pour éteindre la LED.
Taper b ou B + Envoyer dans le "Moniteur série" pour allumer la LED.

 
 
Installation de Firmata
 
"Firmata is a generic protocol for communicating with microcontrollers from software on a host computer."
 
Téléchargement de Firmata Test Program ... Installer
"This "firmata_test" program works with boards running StandardFirmata version 2.2 or higher on standard Baud rate 57600."
 
Logiciel Arduino: Menu Fichier -> Exemples -> Firmata -> StandFirmata -> Televerser
 
 
 
 
 
Library
 

Voir: http://arduino.cc/en/Reference/Libraries 
Par exemple:
Firmata Library   Wiki   Host software  
"The Firmata library implements the Firmata protocol for communicating with software on the host computer."
Included in Arduino 0012 or later
Menu File -> Examples -> Firmata ->  ...
Wire Library 
"This library allows you to communicate with I2C / TWI devices. "
Included in Arduino
Menu File -> Examples -> Wire ->  ...
 
 
 
 
Arduino et Pure Data
Site LaboMedia Pure Data vs Arduino 
 
 
 
 
En cas de problème...
Problème vu avec Uno + PWM:
Impossible d'uploader et message:
avrdude: stk500_recv    (): programmer is not responding
Solution:
- Quitter Arduino
- Débrancher carte USB
- Débrancher carte PWM
- Rebrancher carte
- Relancer Arduino
- Uploader Exemples -> 01.Basics -> Blink
- Uploader le sketch...
- Rebrancher PWM

Problème: un sketch ne s'ouvre pas (problème vu sous MacOS, Linux, Windows)
Solution 1: Le sketch doit se trouver dans un dossier du même nom.
                Exemple: Vert.ino dans un dossier nommé Vert
Solution 2: Un nom de sketch ne doit pas comporter plus d'un point.
                Exemple: vert.rouge.ino ne s'ouvre pas et vertrouge.ino s'ouvre (dans un dossier vertrouge)

Problème vu sous MacOSX.5 avec Arduino 1.5.1
Au lancement du logiciel Arduino, rien ne se passe
Problème vu sous MacOSX.5 avec Arduino 1.6.1
Message: Impossible de lancer « Arduino »
              Aucune version compatible de Java 1.6* n'est disponible.
              Ouvrir les préférences Java -> PreferenceJavaMac 
 
Solution: Installer arduino-1.0.2 -> voir Previous IDE Releases

Problème vu avec carte Diecimila:
La carte connectée en USB ne s'allume pas, n'est pas reconnue par l'ordinateur.
Solution 1:
Certaines anciennes cartes, comme certaines Diecimila exige l'installation d'un driver ftdi.
Solution 2:
Le jumper USB/EXT doit être placé sur USB si la carte est alimentée par l'USB.

Voir Arduino Troubleshooting:
Why doesn't the Arduino software run after I updated the Java on my Mac?
Why do I get a java.lang.StackOverflowError when I try to compile my program?
Why I can't upload my programs to the Arduino board?
...

 
 
 
 
page mise à jour 24 5 2015
 
Méthodes Method