Apprendre à programmer avec Arduino - LED et bouton poussoir

Arduino, vous en avez probablement déjà entendu parler?

Ce microcontrôleur est utilisé dans le monde des Makers pour créer des projets très variés. 

Vous avez envie de vous lancer, sans savoir par où commencer?  

Je vous propose de découvrir les bases de la programmation avec Arduino d'une manière simple. Je ne ferai pas un cours descriptif sur ce micro contrôleur. Il existe de nombreux ouvrages spécialisés qui le font très bien. 

Je vais essayer d’être synthétique, d’aller à l’essentiel, pour démarrer doucement et sans prise de tête. Comme avec mes élèves. 


Petit à petit vous allez découvrir des composants et le langage pour les contrôler.

Comme des  briques, ces éléments vont venir s'emboîter pour enrichir vos connaissances afin que vous puissiez aller vers des projets plus complexes.  
J’ai prie le parti, quand cela était possible, de faire un parallèle avec Scratch sous Raspberry Pi. Mes élèves ont généralement utilisé cette interface avant de passer à Arduino.

Le premier exercice décrit dans un précédent article consistait à faire un blink et un 1er #defiArduino était proposé. Vous pouvez le retrouver ici 


Deuxième épisode


Ce deuxième article, sur l'apprentissage d'Arduino, a pour sujet allumer une LED avec un bouton poussoir.
La LED et le bouton poussoir sont deux composants simples et peu couteux ils permettent de faire néanmoins une grande quantité de projets. 

Un peu d’électronique

LED, bouton poussoir, résistances, avec ces trois éléments vous pouvez développer une grande quantité de projets.

Une LED émet une forte lumière pour une faible consommation. Ce composant est polarisé, c’est-à-dire qu’il ne laisse passer le courant électrique que dans un seul sens.




Une LED est un composant de type OUTPUT, une sortie. De par sa faible consommation, elle est utilisée avec une résistance. Une résistance sert à limiter la quantité d’arrivée de courant électrique. 
J’utilise le plus souvent des résistances de 330 Ohms et cela passe bien avec les principales couleurs.


Un bouton poussoir est un INPUT, une entrée. Le principe consiste à faire passer du courant lorsque il est appuyé. Et stopper le passage du courant lorsque il est relâché (mais en programmation on peut changer le résultat !). 
Le bouton poussoir s’utilise également avec une résistance. Les petits boutons poussoir que j’utilise tiennent bien avec une résistance de 220 Ohms.


Branchement



Code 1





Structure du Code 1


Tous les chemins mènent à Rome, et en programmation plusieurs options peuvent être envisagées.
Ce premier programme est basé sur la même base que le Blink vu précédemment. On retrouve :

1.  La configuration : fonction void setup () {
                                                                                                          }

2La boucle de répétition sans fin : void loop () {
                                                                                                          } 

Ce programme présente une nouvelle structure positionnée dans la boucle de répétition.

3. La condition :  if {
                            
                }
                          
            else {

                 } 

Si je devais faire un parallèle avec Scratch, il s’agirait de la condition si () sinon ().


Le programme consiste à déterminer l’état du bouton et exécuter l’instruction définie en fonction de cet état. Si le bouton est appuyé (si du courant passe) la LED s’allume (HIGH). Si le bouton n’est pas appuyé (aucun courant ne passe) la LED est éteinte (LOW).

Si = if { } // si la condition testée renvoie vraie

Sinon = else { } // si la condition testée est fausse

Lecture de l’état du bouton = (digitalRead( n°de broche) == état 0 ou 1)


Le programme test la broche définie. Il lit son état.
  • Si la valeur mesurée est égale à 1 cela signifie que le courant passe. Le composant est actionné. 
  • Si la valeur mesurée est égale à 0 cela signifie que le courant ne passe pas. Le composant n’est pas actionné.


Code 1 Arduino équivalent Scratch



Code 2




Structure du Code 2


Ce deuxième exemple propose, en préambule, de renommer les broches 4 et 13 en bouton et led, pour une lecture plus facile du code.

const int bouton = 4

const int led = 13

Le code ne change pas par rapport au code vu précédemment. Seuls les numéros de broche sont remplacés par le nom du composant connecté dessus.

(digitalRead(4) == 1) devient (digitalRead(bouton) == 1)

digitalWrite(13, HIGH); devient digitalWrite(led, HIGH);

digitalWrite(13, LOW); devient digitalWrite(led, LOW);


Il existe d’autres possibilités, mais faisons simple !

Une fiche synthétique est disponible sur mon padlet


#DéfiArduino

En vous inspirant de ce programme, utilisez deux boutons pour créer un interrupteur : un bouton pour allumer la LED et l'autre pour l'éteindre. 

Une fiche synthétique est disponible sur mon Padlet ou ici. Ainsi que la solution.









Commentaires

Posts les plus consultés de ce blog

Scratch - Dessiner dans un repère orthonormé

Fabriquer une main articulée