Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
1: Découverte de la programmation
Option SIN informatique à l'aide d'Arduino
Première
Matériel nécessaire :
1 module Arduino UNO
1 Cordon USB
La carte Arduino Uno que nous allons utiliser est une sorte de petit ordinateur. Il possède un microcontrôleur
(microprocesseur + mémoire+ interface de gestion des entrées/sorties).
Ressources disponibles :
Vous disposez de différentes ressources concernant Arduino: classeurs, documents numériques sur l'intranet
(language Arduino.pdf) et le site internet officiel http://arduino.cc/ sur l'onglet « reference" notamment
(attention à ne pas faire de traduction automatique de la page car les logiciels de traduction ne fonctionnent
pas bien avec des explications technologiques).
L'algorithmie :
L'algorithme est une suite d’instructions, qui une fois exécutée correctement, conduit à un résultat donné. Pour
comprendre, expliquer, analyser un programme nous allons utiliser l'algorithmie sous forme graphique
(organigramme) plus facilement compréhensible quand la problématique est simple.
Norme :
Symboles normalisés Commentaires:
Début Si "condition"
Tant que "condition"
• "Traitement 1" • alors "Traitement 1" Répéter "traitement"
• faire "traitement"
• "Traitement 2" • sinon "Traitement 2" jusqu'à "condition"
Fin tant que
Fin Fin si
void setup()
{
Commandes d'initialisation (entrées, sorties, ...)
}
void loop()
{
Instructions ;
}
A savoir :
• La ligne de commentaires : // ... tout texte après les deux slashs est un commentaire.
• Le bloc de commentaires : /* */ tout texte entre les deux étoiles est un commentaire, le texte peut
s'étendre sur plusieurs lignes.
/* début du programme
Nom : Cligno_LED13
Fonctionnement : Commande sans arrêt le clignotement d'une LED.
Les temps ON (active ou allumée) et OFF (inactive ou éteinte) sont
identiques : 0.1s. La LED celle connectée sur la broche 13.
*/
void setup()
{
pinMode(13, OUTPUT); // la broche 13 est définie en sortie.
}
void loop()
{
digitalWrite(13, HIGH); // allume la LED
delay(100); // attend, en ms, le temps indiqué entre parenthèse
digitalWrite(13, LOW); // éteint la LED
delay(100); // attend, en ms, le temps indiqué entre parenthèse
}
//fin du programme//
Ce programme fait clignoter la LED du module Arduino toutes les 0.2 secondes (ON-OFF). L'expression ON-OFF
représente la période. Ici la durée ON est égale à la durée OFF (0,1 s).
• l'instruction pinMode :
pinMode()
Description
Configures the specified pin to behave either as an input or an output. See the description of digital pins for
details on the functionality of the pins.
As of Arduino 1.0.1, it is possible to enable the internal pullup resistors with the mode INPUT_PULLUP.
Additionally, the INPUT mode explicitly disables the internal pullups.
Parameters
pin: the number of the pin whose mode you wish to set
mode: INPUT, OUTPUT, or INPUT_PULLUP. (see the digital pins page for a more complete description of
the functionality.)
....
• l'instruction digitalWrite:
digitalWrite()
Description
If the pin has been configured as an OUTPUT with pinMode(), its voltage will be set to the corresponding
value: 5V (or 3.3V on 3.3V boards) for HIGH, 0V (ground) for LOW.
If the pin is configured as an INPUT, digitalWrite() will enable (HIGH) or disable (LOW) the internal pullup
on the input pin. It is recommended to set the pinMode() to INPUT_PULLUP to enable the internal pull-up
resistor. See the digital pins tutorial for more information.
NOTE: If you do not set the pinMode() to OUTPUT, and connect an LED to a pin, when calling
digitalWrite(HIGH), the LED may appear dim. Without explicitly setting pinMode(), digitalWrite() will have
enabled the internal pull-up resistor, which acts like a large current-limiting resistor.
Syntax
digitalWrite(pin, value)
Parameters
pin: the pin number
value: HIGH or LOW
....
en résumé: digitalWrite ( n° de broche, [HIGH ou LOW] ) met un niveau haut (1) ou bas (0) sur la broche
désignée. Il s'agit bien d'une sortie logique appelée aussi TOR (Tout Ou Rien) ou digital (en anglais).
• l'instruction delay :
delay()
Description
Pauses the program for the amount of time (in miliseconds) specified as parameter. (There are 1000
milliseconds in a second.)
Syntax
delay(ms)
Parameters
ms: the number of milliseconds to pause (unsigned long)
....
On remarque:
• que les broches numériques ("Digital Pin" en anglais) peuvent être soit des entrées soit des sorties.
• quand on veut savoir ce que fait une instruction on se reporte au site internet Arduino qui est la seule
source fiable (site en anglais)
Cette fonction permet de vérifier qu'il n'y a pas d'erreurs de programmation (erreurs de syntaxe)
S'il n'y a pas d’erreurs, chargez (Upload ou téléverser) le programme dans la carte Arduino à l'aide de
l'icône représentée en blanc ci-dessous :
La LED clignote ? Oui, c'est gagné. Autrement appelez le professeur et expliquez lui clairement le problème
auquel vous êtes confronté.
2.4 Modifiez maintenant le programme pour que la LED reste allumée pendant 1s et éteinte pendant
2s.
Pour constater le changement, n'oubliez pas de recharger le programme dans la carte Arduino après l'avoir
modifié. Chronométrez !
Validation professeur :
Faire valider par le professeur
2.5 Modifiez maintenant le programme pour que la LED reste allumée pendant 1s, éteinte pendant 2s
puis se rallume 4 secondes, s'éteigne 2s, se rallume 2 secondes et s'éteigne 5 secondes.
Pour constater le changement, n'oubliez pas de recharger le programme dans la carte Arduino après l'avoir
modifié. Chronométrez !
Validation professeur :
Faire valider par le professeur