samedi 26 avril 2014

[Arduino] Les bases (Part 2)

Aujourd'hui, je m'attaque au afficheurs LCD. Il en existe beaucoup. cela donc compliqué de faire du cas par cas.
A la place, je vais présenter le LCD 4 lignes, 20 colonnes. Il ne restera plus qu'à manipuler un peu pour les cas plus spécifiques.

Le LCD que je possède peut être manipulé via 4 broches (d'autres le sont par 7 voir 8). L'avantage de l'utilisation de 4 broches pour piloter l'écran est qu'il nous reste pas mal de slot sur la board Arduino pour faire autre choses.

1- Le brochage :

Rien de bien compliquer:

Arduino    |    LCD
    2          |      RS
    3          |      E

    4          |      D4
    5          |      D5
    6          |      D6
    7          |      D7

Aidez-vous de la documentation (datasheet) de votre écran.

2- La partie logiciel :
Pour utiliser votre LCD, il faut déclarer l'include de la librairie en tête de votre programme.
On ajoutera donc :
#include <LiquidCrystal.h>

A présent, on déclare les broches utilisées sur l'Arduino et connectées au LCD :
const int RS = 2;
const int RS = 3;
const int RS = 4;
const int RS = 5;
const int RS = 6;
const int RS = 7;

On fait la connexion entre les broches et le LCD pour que l'Arduino sache où envoyer les données :
LyquidCrystal LCD (RS, E, D4, D5, D6, D7);

Initialisation de l'afficheur :
LCD.begin(NombreDeColonnes, NombreDeLignes);

Après cette ligne, il est recommandé de faire un delay(10) pour laisser le temps au LCD de bien se configurer. Chez moi, cela fonctionne sans mais des erreurs peuvent survenir. Alors autant perdre 10 ms au démarrage.

3- Les commandes LCD :
Pour écrire :
LCD.print("Mon Texte");

Pour effacer :
LCD.clear();

Pour placer le curseur :
LCD.setCursor(PositionSurLaCOlonne, PositionSurLaLigne);

Petit rappel, on commence à "0" et non "1" quand on compte. :)

Voila qui conclue la présentation de l'afficheur LCD. Si rien ne s'affiche, vérifier que votre LCD est bien connecté à votre Arduino, que votre déclaration des broches est correcte. Si toujours rien ne s'affiche, avez-vous bien paramétré le rétro-éclairage? Je dis ça car je suis tombé dans le panneau. D'où l'utilité de bien lire la documentation avant d'acheter/monter les composants.

mardi 8 avril 2014

[Hardware] Utilisation des Résistances "variables"

Aujourd'hui, je vais introduire 2 types de résistances dites "variables". De manière intuitive, on pense aux divers potentiomètres. Je ne vais donc pas parler de ces derniers qui sont pour moi, plus du matériel d'ajustement, de précision.

Oui je parle bien de précision! En effet, lorsqu'on désire un certain niveau de précision sur nos mesure, il est judicieux d'inclure des potentiomètre pour inhiber la tolérance des résistance (5%, 10% voir plus).

Ici, je veux présenter de résistance plus "gadget".

I.a- La photorésistance :

Comme son nom l'indique, ce composant est de type ohmique. Néanmoins, ça caractéristique majeur est la variation de cette valeur ohmique en fonction que la quantité de lumière qu'il reçoit. La documentation technique indique la variation de résistance admissible car ce capteur.

Il est important de noter que même dans une noir, cette valeur pourra légèrement varier.

I.b- La résistance flexible :

Une autre résistance basée sur le même principe. Dans ce cas, la valeur ohmique varie en fonction de la déformation du matériau. Plus la déformation est importante, plus la valeur de la résistance augmentera. Le défaut majeur de ce capteur de flexion est sa tolérance de +/- 30%.


II- La mesure :

La technique de base consisterais à utiliser un pont diviseur de tension pour obtenir la différence de potentiel et donc caractériser notre résistance.

Une autre méthode, un peu plus poussée, consiste à utiliser le pont de Wheatston. Ce montage permet d'obtenir des résultats plus précis et stables dans le temps.

Il ne reste plus qu'à utiliser un Convertisseur Analogique-Numérique pour récupérer notre information pour s'en servir dans notre programme.

III- Étalonnage :

Dans notre programme, utiliser la valeur brute en sortie du capteur n'est pas la meilleure idée. Il est important de réaliser un premier étalonnage du capteur lors de sa mise en service. Puis de récupérer l'information  sur une moyenne d'échantillons. Cela dans le but d'atténuer les résultats erronés.