[go: up one dir, main page]

0% ont trouvé ce document utile (0 vote)
112 vues28 pages

Arduino: Montages LED et Capteur Ultrason

Televerser

Transféré par

priscillavolatiana
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
112 vues28 pages

Arduino: Montages LED et Capteur Ultrason

Televerser

Transféré par

priscillavolatiana
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 28

TP / Montages

Arduino Uno
BreadBoard

Littéralement : planche à pain, techniquement : plaque
d’essai sans soudure
LED

Light Emitting Diode

1,2V (20mA)

// the setup function runs once when you press reset or power the board

void setup( ) {

// initialize digital pin LED_BUILTIN as an output.

pinMode(12, OUTPUT);

}


// the loop function runs over and over again forever

void loop( ) {

digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)

delay(1000); // wait for a second

digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW

delay(1000); // wait for a second

}
Blink – Arduino Uno
Blink – Arduino Nano
Blink
PinMode

Configure la broche spécifiée pour qu'elle se comporte soit en entrée,
soit en sortie

Syntaxe :
– pinMode(broche,mode)

Paramètres
– broche: le numéro de la broche de la carte Arduino dont le mode de
fonctionnement (entrée ou sortie) doit être défini.
– mode: soit INPUT (entrée en anglais) (=0) ou OUTPUT (sortie en anglais) (=1)

Pas de valeur de retour
DigitalWrite

Met un niveau logique HIGH (HAUT en anglais) ou LOW (BAS en anglais)
sur une broche numérique. Si la broche a été configurée en SORTIE avec
l'instruction pinMode(), sa tension est mise à la valeur correspondante : 5V
(ou 3.3V sur les cartes Arduino 3.3V) pour le niveau HAUT, 0V (masse) pour
le niveau BAS.

Syntaxe :
– digitalWrite(broche, valeur)

Paramètres
– broche: le numéro de la broche de la carte Arduino
– valeur : HIGH ou LOW (ou bien 1 ou 0)
Delay

Réalise une pause dans l'exécution du programme pour la
durée (en millisecondes) indiquée en paramètre.
(1s=1000ms)

Syntaxe :
delay(ms)
A réaliser

Feu de signalisation routière (feu tricolore)
Ultrason – capteur HC-SR04
Ultrason
/* Constantes pour les broches */
const int TRIGGER_PIN = 2;
const int ECHO_PIN = 3;
/* Constantes pour le timeout */
const unsigned long MEASURE_TIMEOUT = 25000UL; // 25ms = ~8m à 340m/s

/* Vitesse du son */
const float VITESSE_SON = 340.0 / 1000;
Ultrason
/** Fonction setup() */
void setup() {
/* Initialise le port série */
Serial.begin(9600);
/* Initialise les broches */
pinMode(TRIGGER_PIN, OUTPUT);
digitalWrite(TRIGGER_PIN, LOW); //TRIGGER doit être à LOW au repos
pinMode(ECHO_PIN, INPUT);
}
Ultrason
void loop() {
digitalWrite(TRIGGER_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN, LOW);
long measure = pulseIn(ECHO_PIN, HIGH, MEASURE_TIMEOUT);
float distance_mm = measure / 2.0 * VITESSE_SON;
Serial.print(F("Distance: "));
Serial.print(distance_mm);
Serial.print(F("mm ("));
Serial.print(distance_mm / 10.0, 2);
Serial.print(F("cm, "));
Serial.print(distance_mm / 1000.0, 2);
Serial.println(F("m)"));
delay(500);
}
PulseIn

Lit la durée d'une impulsion (soit niveau HAUT, soit niveau BAS) appliquée sur une
broche (configurée en ENTREE)

Valeur de retour : durée de l'impulsion (en microseconds) ou 0 si aucune impulsion n'a
démarrer avant le délai de sortie. (type unsigned long)

Syntaxe
– pulseIn(broche, valeur, delai_sortie)

Paramètres
– broche: le numéro de la broche sur laquelle vous voulez lire la durée de l'impulsion. (type int)
– valeur: le type d'impulsion à "lire" : soit HIGH (niveau HAUT) ou LOW (niveau BAS). (type int)
– delai_sortie (optionnel): le nombre de microsecondes à attendre pour début de l'impulsion. La
valeur par défaut est 1 seconde. (type unsigned long)
Infrarouge
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); //Activer réception
pinMode(ledPin, OUTPUT);
}
Serial

La librairie Serial : communications par le port série entre la
carte Arduino et un ordinateur ou d'autres composants.

Toutes les cartes Arduino ont au moins un port Série
( également désigné sous le nom de UART ou USART) : Serial.

Ce port série communique sur les broches 0 (RX) et 1 (TX)
avec l'ordinateur via le port USB.

On ne peut pas utiliser 0 et 1 en tant qu'entrées ou sorties
numériques si elles sont déjà utilisées par Serial.
Serial

Serial.begin(int vitesse)

Fixe le débit de communication en nombre de caractères par
seconde (l'unité est le baud) pour la communication série.

Serial.println(«message » ) affiche un message via le 1er
port série

Serial1.println(«message » ) affiche un message via le 2ème
port série
Serial

Write( ) :ecrire des données binaires sur le port série.
Pour envoyer des nombres, utiliser plutôt la fonction
print().

avalaible( ) : test si le port est disponible et contient des
données

Read( ) : lit des données dans le port série
Photorésistance
void loop() {
int valeur = analogRead(A0);

Serial.println(valeur);
delay(250);
}
Infrarouge
# include <IRremote.h>

int RECV_PIN = 8;
int ledPin = 3;

IRrecv irrecv(RECV_PIN);
decode_results results;
Infrarouge
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, DEC);
if(results.value == -2094865891)
digitalWrite(ledPin, LOW);
else
digitalWrite(ledPin, HIGH);
irrecv.resume(); // Réception de la prochaine valeur
}}
WIFI-ESP8266
WIFI-ESP8266
#include <SoftwareSerial.h>

SoftwareSerial espSerial(3,2); // RX = 3, TX = 2
Serial.available()/read()/write()

while (espSerial.available()) {
Serial.write(espSerial.read()); // réponse ESP8266 -> moniteur série
}

while (Serial.available()) {
espSerial.write(Serial.read()); // instructions dans Serial -> ESP8266
}

Vous aimerez peut-être aussi