Bonjour à tous !
Avant d’entrer dans le vif du sujet, je vous communique deux caractéristiques de l’Arduino
Uno :
- C’est une carte 5 Volts : les sorties (appelées GPIO) ont un niveau logique haut de 5V.
- Les caractéristiques de base de la liaison série sont 9600 bauds, 8 bits, sans parité et 1 bit de stop.
1) – Connexion de Panoramic avec l’Arduino UNO par un simple câble USB.Un simple câble USB permet à Panoramic de communiquer avec l’Arduino.
Pour cette première démonstration, nous allons allumer ou éteindre une LED connectée au port GPIO 12 de l’Arduino.
Une LED avec une résistance de 220 ohms en série, sera connectée entre la broche 12 et la masse (GND) de l’Arduino.
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.
Pour ce premier test, le programme Arduino à téléverser dans celui-ci pour qu’il obéisse aux commandes Panoramic sera :
Code Arduino :
- Code:
-
const int LED1 = 12; //La LED1 est connectée à la broche 12
int data; // Donnée reçue du port série
void setup()
{
Serial.begin(9600); // Vitesse en Bauds du port série
pinMode(LED1, OUTPUT); // La broche LED1 (numéro 12) est configurée en "sortie"
}
void loop()
{
if (Serial.available())
{
data = Serial.read(); // lecture du port série
if (data == '1')
digitalWrite(LED1,HIGH); // La sortie LED1 passe à l'état haut (+5 Volts)
else
digitalWrite(LED1,LOW); // La sortie LED1 passe à l'état bas (0 Volt)
}
}
Après le téléversement,
fermez l'IDE Auduino !Coté Panoramic , vous pouvez utiliser soit le
Terminal RS232, soit un code-source personnel.
a) Avec le programme
PANORAMIC Terminal RS232 :
Configurez les caractéristiques de la liaison série avec
le numéro de port COM utilisé dans votre configuration, puis 9600 bauds, 8bits, sans parité et 1 bit de stop. Cliquez sur le bouton de droite pour ouvrir le port de communication. Le bouton passe au vert.
Entrez les caractéristiques de la ligne de commande :
ASCII et
Sans suffixe.
Dans la zone de saisie, entrez le chiffre «
1 » puis cliquez sur "Envoyer". La LED s’allume.
Entrez maintenant le chiffre «
0 », la LED s’éteint.
b) Avec un programme Panoramic personnel :Voici un exemple de code-source :
- 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,9600
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
L'interrupteur permet d'allumer et d'éteindre la LED connectée à la broche 12 de l'Arduino.
Pour piloter plusieurs GPIO, suivez ce lien : https://panoramic.1fr1.net/t6641-domotique-avec-panoramic-arduino-commande-des-gpio
Pour piloter des servomoteurs, suivez ce lien : https://panoramic.1fr1.net/t6715-domotique-et-electronique-2-leds-et-2-servomoteursA bientôt !