Canalblog Tous les blogs Top blogs Emploi, Enseignement & Etudes Tous les blogs Emploi, Enseignement & Etudes
Editer la page Suivre ce blog Administration + Créer mon blog
MENU
Le moulin à vent...
Publicité

Arduino

Aide-mémoire : Language Reference

I - La carte électronique : le hardware

img_8

Alimentations. Lorsque la carte est connectée à un ordinateur, elle est alimentée via le port USB. Sinon pour que la carte soit autonome, il faut l'alimenter via les broches Vin (+) et GND (-). La tension d'alimentation doit être comprise entre 6/7V et 12/20V... avec une pile 9V c'est très bien. Il y a aussi le connecteur Jack 5.5x2.1mm.

Générateurs. La carte dispose de deux régulateurs : 3,3V et 5V (en théorie jusqu'à 900mA...). Pour les autres broches 20mA maximum par broche.

La tension 5V sert de référence pour les entrées analogiques (A0, A1, ... A5). Remarque : la broche AREF permet de modifier cette référence... pour gagner en résolution sur la CAN.

Toutes les broches D0, D1, ... D13 sont soit à 0V soit à 5V. Remarque : la broche IO REF permet de modifier cette référence.

Les broche PMW (Pulse Wave Modulation = Modulation de Largeur d'Impulsion) sont parfois repérées par un tilde ~ :

  • D3, D9, D10 et D11 à 490 Hz
  • D5 et D6 à 976,5 Hz
II - La programmation du microcontrôleur : le software

Un programme Arduino s'appelle un croquis (sketch).

Le programme est structuré en deux parties :

void setup(){} routine (fonction) qui n'est exécutée qu'une fois au début du programme

void loop(){} routine (fonction) qui est exécutée en boucle

a) Les commandes d'entrées/sorties

a1) Entrées/sorties digitales (ou numériques)

pinMode(numéroDeBroche, [OUTPUT/INPUT]); [utilisation à déclarer dans le setup]

digitalWrite(numéroDeBroche, [HIGH/LOW]);

digitalRead(numéroDeBroche);

a2) Entrées/sorties analogiques

analogRead(numéroDeBroche); les broches d'entrées analogiques sont A0, A1, A2, A3, A4, A5. Chaque entrée analogique est un CAN 10 bits (c'est-à-dire 1024 valeurs allant de 0 à 1023).

analogWrite(numéroDeBroche, valeur); permet d'envoyer une valeur numérique entre 0 et 255 à une broche PWM de l'Arduino. 0 correspond à un rapport cyclique de 0 %, et 255 à 100 %. [voir cette page : https://www.arduino.cc/reference/en/language/functions/analog-io/analogwrite/]. Cette fonction, analogWrite, n'est par CNA ! Il faut ajouter un montage pour réaliser une conversion PWM -> DC [voir cette page : https://www.zpag.net/Electroniques/Alimentation/convertisseur_pwm__tension_1.htm]

a3) Entrées/sorties sur le moniteur série

Serial.begin(9600); initialise la communication série à 9600 bauds [utilisation à déclarer dans le setup]

Serial.println(); [uneVariable / "du texte" / "t\ (une tabulation)"]

Serial.print();

Serial.flush(); vide le buffer du moniteur série

Serial.available();

Serial.read();

=> programme sur l'utilisation du moniteur série : sketch

b) Les autres commandes...

=> Cheat-Sheet (antisèche)

 

 

/* commentaire sur plusieurs lignes */

// commentaire sur une seule ligne

int nomDeVariable = valeur; déclaration d'une variable de type nombre entier (integer). Le = est l'opérateur d'affectation.

const int nomDeVariable = valeur; (variante dans laquelle on précise que la variable est une constante...)

 

 

delay(nombreDeMillisecondes);

 

 

if(test){}

if(test){}else{}

for(int compteur=0; compteur<=255; compteur+=5){}

 

 

|| opérateur bouléen (le OU)

= opérateur d'affectation

== opérateur de comparaison

+= opérateur d'incrémentation

-= opérateur de décrémentation

<= inférieur ou égale à 

 

map(variable, 0, 1023, 0, 255);

 

Tone 

projets :

  • pressiomètre
  • télémètre
  • thermomètre
Publicité
Publicité
Archives
Publicité
Publicité