Bonjour à tous !
Dans cet article, je vous propose de mettre en pratique la commande des GPIO de l’
Arduino DUE depuis Panoramic.
Parmi les différents modèles d’Arduino, il en existe un qui est particulièrement puissant : le DUE.
Il est mut par un processeur ARM 32 bits sous une fréquence de 84 Mhz.
A tire de comparaison, un Arduino "classique" (Uno ou Mega 2560) possède un processeur AVR 8 bits à la fréquence de 16 Mhz.
Il possède entre-autres :
- 54 pins entrées/sorties (GPIO) ;
- 12 entrées analogiques ;
- 2 ports USB ;
- …
L’Arduino DUE est rapide et permet de commander une multitude de périphériques.
ATTENTION : toutes les entrées / sorties de l’Arduino DUE sont en 3.3v !
Le matériel et les logiciels nécessaires pour cette démonstration sont :
- L’IDE Arduino ;
- Un éditeur pour le langage Panoramic ;
- Une carte Arduino DUE ;
- Un câble USB A (coté ordinateur) -> micro USB (coté Arduino DUE) ;
- Une LED (jaune, verte ou rouge) ;
- Une résistance de 220 ohms ;
- Du fil de câblage ;
- Facultatif : une platine de prototypage (breadboard).
Pour ce test, je vous propose de commander l’allumage d’une LED connectée sur le GPIO 40 de l’Arduino DUE.
Le câblage :Connectez une LED en série avec une résistance de 220 ohms entre les pins 40 et GND de l’Arduino DUE.
Reliez le câble USB entre l’ordinateur et le port "
USB programming" de l’Arduino.
L’Arduino est alimenté par le 5 volts du port USB de l’ordinateur.
L’IDE Arduino :Lors de l’utilisation de l’IDE, vous devez spécifier le type de carte Arduino que vous utilisez.
Si la version
DUE est absente de la liste, allez dans le menu :
Outils > Type de carte > Gestionnaire de carte.
- Spoiler:
Dans la fenêtre "Gestionnaire de carte", cherchez et installez "Arduino SAM board (32-bits ARM Cortex M3)".
- Spoiler:
Maintenant que la DUE est présente, sélectionnez la ligne "Arduino Due (Programming Port)".
- Spoiler:
Il reste à renseigner le numéro de port COM.
Après connexion de l’Arduino DUE à la prise USB de l’ordinateur, dans le menu
Outils > Port, sélectionnez le numéro de port COM "
Arduino Due (programming port)".
- Spoiler:
Programmation de l’Arduino DUE :Depuis Panoramic, nous enverrons sur le port série, au format ASCII, un "1" pour allumer la LED et une autre valeur pour l’éteindre.
Afin d’obtenir un maximum de réactivité, la communication entre Panoramic et l’Arduino DUE sera cadencée à 115200 bauds.
Pour ce test, le programme Arduino à téléverser sera :
- Code:
-
const int LED = 40; //La LED est connectée à la broche 40
int data; // Donnée reçue du port série
void setup()
{
Serial.begin(115200); // Vitesse en Bauds du port série
pinMode(LED, OUTPUT); // La broche LED (pin 40) est configurée en "sortie"
}
void loop()
{
if (Serial.available())
{
data = Serial.read(); // lecture du port série
if (data == '1')
digitalWrite(LED,HIGH); // La sortie LED passe à l'état haut (+5 Volts)
else
digitalWrite(LED,LOW); // La sortie LED passe à l'état bas (0 Volt)
}
}
Programme test en Panoramic : - Code:
-
' Panoramic pour Arduino
' Programme de test
' Commande d'une LED connectée sur le GPIO 12
dim portCom%
label action
portCom% = 12 :' <====== => Le numéro de port COM est à adapter suivant votre configuration.
' Création interrupteur de commande
switch1 1
width 1,50
top 1,40
left 1,70
caption 1,"12: Off|"+"12: On"
on_click 1, action
' creer et ouvrir un canal de communication série
serial 10
serial_port 10,portCom%
serial_baudrate 10,115200
serial_databits 10,8
serial_parity 10,0
serial_stopbits 10,1
serial_open 10
end
action:
if checked(1) = 0
serial_write 10,chr$(49)
else
serial_write 10,chr$(48)
end_if
return
==> La variable
portCom% (ligne 10) est à ajuster en fonction de votre configuration !
C’est le numéro de PORT COM attribué par Windows à la carte Arduino DUE.
L’action sur le bouton allume et éteint la LED reliée à la pin 40 de l’Arduino DUE. Bon week-end à tous !