IOT - TP 1 : L'environnement Arduino

Thomas S.

2016-2019

IOT - TP 1 : L'environnement Arduino

Sommaire

  • Blink
  • Interruption
  • Serial

Important

Pour mieux suivre ce cours, voici un support sous forme de mémo

IOT - TP 1 : L'environnement Arduino

Base de l'Arduino

2 fonctions essentiels :

  • void setup(); : Fonction permettant d'initialiser l'Arduino;
  • void loop(); : Fonction appelé automatiquement en boucle, après setup, actions sur l'Arduino.

Blink

Faire clignoter la LED du PIN 13

Zéro branchement

Fonctions :

  • pinMode( pin, INPUT/OUTPUT );
  • delay( microseconds ); : Équivalent à usleep(); (Ne sert à rien dans les interruptions);
  • digitalWrite( pin, LOW/HIGH );

Blink

Faire clignoter la LED du PIN 13

Blink

Faire clignoter une LED sur un autre pin

Blink

Faire clignoter une LED sur un autre pin

Blink

Fade Blink (PWM ou ~ pin)

analogWrite( pin, value ); : Permet d'envoyer une puissance de 0 à 5V (ou 3.3V) en mettant value de 0 à 255.

Blink

Fade Blink (PWM ou ~ pin)

Blink

Fade Blink (PWM ou ~ pin)

Pimp My R... ARDUINO : Avec une LED 3 couleurs, faire un fade mélangeant le rouge et bleu, le bleu et le vert et enfin le vert et le rouge. Et tout ça en boucle.

Blink

Interrupteur : Pourquoi une résistance relié au GND ?

  • Gauche : Les interférences envoient des faux positifs à l'Arduino;
  • Droite : Les interférences ne sont pas assez puissantes face au 0V.

Dans l'absolu il faudrait un condensateur autour de l'interrupteur pour éviter les rebonds (faux positifs mécaniques).

Blink

Interrupteur

Allumer une LED quand l'interrupteur est appuyé

Serial

Exemple Arduino

Serial + Interrupteur

Exemple Arduino

Objectif: Afficher un message sur le port série quand vous appuyez sur le bouton, et ensuite allumer une LED quand vous appuyez sur le bouton.

Blink

Blink et interruption

Nécessite une LED et un interrupteur.
Objectif : Allumer la LED 1 seconde après avoir interrompu le programme. (Voir diapo suivantes).

Blink

Blink et interruption

attachInterrupt(digitalPinToInterrupt( pin ), fonction, type );

  • pin : Pins digitaux, voir détails sur le site officiel d'Arduino;
  • fonction : Lien une fonction de type void fonction();, il suffit juste de mettre fonction en paramètre;
  • type : HIGH, LOW, RISING ou FALLING

NE PAS METTRE DE DELAY DANS UNE INTERRUPTION !

Blink

Blink et interruption

Serial

Serial

Débugger, il faut utiliser 2 méthodes (au moins) :

  • Dans le setup : Serial.begin( 9600 );
  • Où vous voulez : Serial.print( VAR ); Serial.println( VAR )
    VAR est un "texte" ou une variable.

Serial

Serial

Lire le Serial depuis le PC (par l'USB) :

Serial

Exemple JS et Arduino

Pour fonctionner, on utilsera une librairie NodeJS capable de lire le port série.

Serial

Exemple JS

Capteur analogue

Capteur analogue

Nécessite un capteur de mesure (LUX, db, hPa, ...).

Capteur analogue

Lecture d'une valeur analog

Petit projet

LEDtris (1/2) - Énoncé

Avec la matrice de LED, faire un mini Tetris. Attention, on ne peut pas tout allumer d'un coup. Une ligne = 10pts, 2 = 25pts, 3 = 60pts, 4 = 125pts. Le capteur de luminosité pourra accélérer le jeu en étant recouvert.

Le score devra être affiché dans un terminal.

Petit projet

LEDtris (2/2) - Règles

Faire un projet sur la forge, me rajouter en tant que membres. Mettre un schéma (Thinkercad), un README et le code source.

NE PAS APPELER LE PROJET docker_iot_... .

Dernière maj : Voir Github 🐻 1 /
Précédent
Suivant