Atelier Arduino

 Atelier N°1:

                                        Affichage sur LCD KeyPad Shiled


Présentation du shield LCD:

Celle-ci est composée d’un écran LCD alphanumérique de 2 x 16 caractères, d'un potentiomètre de réglage du contraste et d'une série de 6 boutons (haut, bas, droite, gauche, sélection, reset). 


Pour savoir quel bouton a été appuyé, il suffit de faire appel à la fonction analogRead() sur la broche A0 et comparer la valeur lue par rapport à une fourchette de valeurs types.

Valeur lue avec analogRead(A0)

Bouton

0 <= valeur < 50

RIGHT (droite)

50 <= valeur < 250

UP (haut)

250 <= valeur < 450

DOWN (bas)

450 <= valeur < 650

LEFT (gauche)

650 <= valeur < 850

SELECT (sélection)

>= 850

aucun

pour tester les boutons on utilise ce portion de code:

int x;

              x = analogRead (0);

             lcd.setCursor(10,1);

             if (x < 50) {

                 lcd.print ("Right ");

                              }

            else if (x < 250) {

              ....

Travail à Faire


1- Avec la carte Arduino Uno équipé par un shield  LCD présenté ci-dessus tester le programme suivant :

#include <LiquidCrystal.h>

//LCD pin to Arduino

const int pin_RS = 8; 

const int pin_EN = 9; 

const int pin_d4 = 4; 

const int pin_d5 = 5; 

const int pin_d6 = 6; 

const int pin_d7 = 7; 

const int pin_BL = 10; 

LiquidCrystal lcd( pin_RS,  pin_EN,  pin_d4,  pin_d5,  pin_d6,  pin_d7);

void setup() {

 lcd.begin(16, 2);

 lcd.clear(); 

}

void loop() {

 lcd.setCursor(0,0);

 lcd.print("L2ElnI");

}

2- Ecrire un message défilant sur la première ligne 

3- En utilisant les 4 boutons (UP, DOWN, RIGHT, LEFT) défiler le message comme suit:

UP: mettre le message à la première ligne 

DOWN: mettre le message à la deuxième ligne 

RIGHT: le message défile de gauche à droite 

LEFT: le message défile de droite à gauche 


Solution 

#include <LiquidCrystal.h>

//LCD pin to Arduino

const int pin_RS = 8; 

const int pin_EN = 9; 

const int pin_d4 = 4; 

const int pin_d5 = 5; 

const int pin_d6 = 6; 

const int pin_d7 = 7; 

const int pin_BL = 10; 

LiquidCrystal lcd( pin_RS,  pin_EN,  pin_d4,  pin_d5,  pin_d6,  pin_d7);

void setup() {

 lcd.begin(16, 2);

 lcd.setCursor(0,0);

 lcd.print("|");

 //lcd.setCursor(0,1);

 //lcd.print("Press Key:");

}

void loop() {

 int x;

 x = analogRead (0);

 lcd.setCursor(10,1);

 if (x < 60) {

   //lcd.print ("Right ");

 }

 else if (x < 200) {

    lcd.clear();  lcd.setCursor(0,0);lcd.print ("|");

 }

 else if (x < 400){

    lcd.clear();lcd.setCursor(0,1);lcd.print ("|");

 }

 else if (x < 600){

  // lcd.print ("Left  ");

  delay(11);

 }

 else if (x < 800){

  //lcd.print ("Select");

 }

}


***************************************************************************************************************

Atelier N°2:

***************************************************************************************************************

Test du module capteur IR 5 voies TCRT5000 


Câblage



Code 

int LED = 13;

int capteur = 2;

int val = 0;

void setup() {

                  pinMode(LED, OUTPUT);

                  pinMode(capteur, INPUT);

                  Serial.begin(9600);

                  Serial.println(val);

                }

void loop() {

              val = digitalRead(capteur);

              Serial.println(val);

              delay(2000);

              digitalWrite(LED, val);

              }


TP Capteur ULTRASON




Tester avec ce Code

int trig = 2;

int echo = 3;

long lecture_echo;

long cm;


void setup(){


pinMode(trig, OUTPUT);

digitalWrite(trig, LOW);

pinMode(echo, INPUT);

Serial.begin(9600);


Serial.println ("Bienvenue sur les tutoriels d'IHM 3D");

}

void loop(){

digitalWrite(trig, HIGH);

delayMicroseconds(10);

digitalWrite(trig, LOW);

lecture_echo = pulseIn(echo,HIGH);

cm = lecture_echo /58;

Serial.print("Distance en cm :");

Serial.println(cm);

delay(1500);

}


TP Moteur pas à pas 



KY-028

Electro Bunker: KY-028 NTC Temperature Sensor Module


TP Servomoteur 


#include "Servo.h"

Servo servo; // création de l'objet "servo"

void setup() {
   servo.attach(10); // attache le servo au pin spécifié
}

void loop() {
   servo.write(0); // demande au servo de se déplacer à cette position
   delay(1000); // attend 1000 ms entre changement de position

   servo.write(90); // demande au servo de se déplacer à cette position
   delay(1000); // attend 1000 ms entre changement de position

   servo.write(180); // demande au servo de se déplacer à cette position
   delay(1000); // attend 1000 ms entre changement de position
}

Aucun commentaire:

Enregistrer un commentaire