Défi 3 – Réaliser son premier programme

Défi : Lire et afficher la valeur (ON ou OFF) du bouton poussoir (montage du défi 1).

Note : Ce petit projet (capteur d’humidité du sol) offre de belles possibilités pour débuter avec Arduino, car la création (compréhension) du capteur avec des clous (univers technologique) et la saisie de données font un très bon tour d’horizon de la robotique Arduino.

Programmation : déclaration des constantes et variables, forme de base d’un programme, initialiser un programme, lire une valeur avec digitalRead, écrire une valeur avec Serial.begin et Serial.print

Liens PFEQ : Circuit mixte. Prise de mesure (DDP) dans un circuit.

Le présent défi est une suite du montage réalisé dans le défi précédent. Mais cette fois, nous allons prendre une mesure dans le circuit et programmer Arduino pour afficher cette mesure.

Montage


Schéma électrique


 

Maintenant que le montage est fait, nous devons programmer Arduino. Comme ci-dessus, nous vous suggérons Ardublockly (ou Blockly@rduino) pour ce faire.




Le programme doit lire la valeur de la broche 2 (celle connectée à la sortie de l’interrupteur) puis l’envoyer sur le port série (moniteur série).

Le programme (blocs) ressemblera donc à ceci (ArduBlockly) :



Le programme (blocs) ressemblera donc à ceci (Blockly@rduino) :


 

 

La vidéo ci-dessous explique la procédure pour créer le petit programme ci-haut et donne quelques conseils d’utilisation de Blockly@rduino.

Attention! Les briques utilisées ne sont pas tout à fait les mêmes à la suite à d'une mise à jour du logiciel, mais le principe est le même.



Une vidéo pour débuter avec ArduBlockly



Voir le montage et le programme dans le simulateur de circuits TinkerCad  :  https://www.tinkercad.com/things/2z37dC4oSms


Un peu de théorie à propos de la programmation Arduino

Le code Arduino d’origine est en mode texte. Voici à quoi ressemble le code (commenté) pour le présent défi :

void setup() //c'est ici qu'on initialise le programme. Cette boucle roule 1 fois
{
  pinMode(2, INPUT);//On signifie que la broche 2 est en entrée
  Serial.begin(9600);//On démarre la communication avec le port série
} //les parenthèses servent à ouvrir et fermer des boucles

void loop()//c'est la boucle qui roule toujours
{
  Serial.print("État du bouton =");//On écrit du texte dans le moniteur série
  Serial.print("\t");
  Serial.print(digitalRead(2));//On écrit ensuite la valeur de la broche 2
  Serial.println(";");
  Serial.print("\t");//On change de ligne dans le moniteur série. Ce qui rend la lecture plus facile.

}

N’ayez pas peur d’éditer le programme en mode texte, ça peut quelquefois être plus simple que les blocs de Blockly@rduino!



Modifié le: Wednesday 12 September 2018, 13:45