jeudi 20 avril 2017

Les entrées analogiques de ARDUINO plus exemple de programmation

Contrairement au signal numérique qui ne peut prendre que deux états différents, Un signal analogique peut prendre une infinité de valeurs. Comme une tension que l’on fait varier progressivement de 0V à 5V. La carte Arduino fonctionne en numérique, le microcontrôleur ne comprend que les « 0 » et les « 1 ». Les entrées de A0 à A5 sont dotées de convertisseurs analogique/numérique qui convertit une tension en une suite de « 0 » et de «1 » que la carte fait correspondre à un nombre variant de 0 à 1023.

Câbler un interrupteur
Lorsque l’interrupteur est ouvert, l’entrée de la carte lit un niveau bas ou LOW. Lorsque l’interrupteur est fermé, l’entrée lit un niveau haut ou HIGH. Donc, si on appuie sur un bouton poussoir ainsi câblé, la carte lira un « 1 » soit HIGH. Si on relâche le bouton poussoir, la carte lira un « 0 » soit LOW.

Exemple de programmation

 void set up()
{
 pinMode(inter, INPUT);
 } loop ()
{
 int
 valinter = 0;
 // on crée une variable valinter pour lire l’état de l’interrupteur
valinter = digitalRead(inter);
 // on lit la valeur de l’interrupteur (LOW ou HIGH)
if (valinter == LOW) // Si valinter égale LOW, faireW.
{instructions}
else // sinon, faireW.
{instructions}
}

Câbler un potentiomètre

Lorsque l’on tourne le potentiomètre, on fait varier la tension mesurée entre 0V et 5V. Si on connecte le point de mesure sur un entrée analogique, la valeur enregistrée variera entre 0 et 1023. On peut enregistrer cette valeur et l’utiliser pour piloter une led ou un moteur.

Câbler une photorésistance

La mesure se fait sur entrée analogique. La résistance de la photorésistance diminue lorsque la lumière augmente. On peut utiliser le même programme que celui du potentiomètre.

Câbler un buzzer

Le buzzer se câble sur une sortie numérique. On lui envoie alors un signal périodique dont on fait varier la fréquence en fonction de la note que l’on désire jouer. Exemple : le LA est un signal d’une fréquence f de 440 Hertz soit un signal qui varie 440 fois par seconde.

Câbler un buzzer piezzo en capteur de frappe

L’entrée analogique 0 mesure la tension produite par le buzzer lorsqu’il vibre. Le buzzer fonctionne alors comme un microphone. Plus il vibre, plus la tension mesurée est grande. A utiliser avec le programme « piezzo_capteur_de_frappe ». La diode zener est optionnelle.

Câbler un servomoteur

On câble le servomoteur sur une des sortie numérique PWM. Les sorties numériques PWM sont : D11, D10, D9, D6, D5. On envoie un signal que l’on fait varier en fonction du sens et de la position désirée. Un sous programme appelé servo.h doit être inclus dans le programme. Il est alors facile de le commander.

Câbler un moteur à courant continu

On utilise un transistor pour piloter le moteur. Comme pour le buzzer, on envoie un signal dont la fréquence varie en fonction de la vitesse désirée. La diode dite « de roue libre » permet d’évacuer le courant créer lorsque le moteur ralentie alors qu’il n’est plus alimenter. La tension d’alimentation du moteur peut être différente, 9V par exemple.

Câbler un moteur à courant continu avec le circuit intégré L293D

Le circuit intégré L293D nous permet de piloter 2 moteurs à courant continu. La broche 
1 à l’état haut permet de démarrer le moteur, à l’état bas l’éteint. Les entrées input1 et input
 2 permettent de choisir le sens de rotation du moteur selon les niveaux logique envoyés :


L293 Input1         L293 input2         Sens du moteur 
« 1 »                       « 0 »                       horaire 
« 0 »                       « 1 »                     antihoraire

Câbler une barrière infrarouge

La L.E.D. infrarouge émettrice (L934) émet une lumière visible au travers d’un appareil photo numérique. La tension aux bornes de la L.E.D. réceptrice varie en fonction de la distance par rapport à la L.E.D. émettrice. Cette tension est maximale lorsque un objet coupe le faisceau lumineux.

Exemple de programme associé au montage

int led = 2;                                            //la led réceptrice est sur la broche analogique 2
 Int lecture = 0;                                    // variable qui stocke la valeur lue sur A2 
void setup() {} void loop ()             // se répète en boucle 
{ lecture=analogRead(led);           //lecture de la valeur lue 
If (lecture>=1000)                        // comparaison de la valeur lue au seuil de détection 
ACTION // si > ou = faire 
} else                        // sinon faire 
{ ACTION } 

}




Aucun commentaire:

Publier un commentaire

افضل الطرق لتجاوز حظر المواقع TOR ، VPN و Linux

طرق ليس للاختراق بل للتوعية وحماية اجهزتنا وفي المستقبل ساشرح طرق و TRUC سهلة ل KALI و كذلك metasploit  فلنبدء إذا: هناك العديد من...