Il est difficile d’obtenir des données numériques dans un RaspberryPi à travers le GPIO parce qu’il n’a pas un convertisseur numérique analogique. Cette instructable illustre à la fois la charge et la décharge d’un condensateur à lire un capteur résistif. La démonstration utilise une cellule photoélectrique et une résistance sensible de la force pour contrôler la luminosité et taux d’une LED de cligner des yeux, et il montre comment utiliser millis() donc changements se produisent instantanément au lieu de devoir attendre delay().
Ce n’est pas un vrai convertisseur analogique à numérique.
Vous aurez besoin d’un RaspberryPi, une maquette et un moyen pour courir des fils de la RaspberryPi pour le montage d’essai. Vous pouvez utiliser des fils de raccordement mâle/femelle, mais un des cordonniers Pi figurant sur cette page de Adafruit fera beaucoup plus facile : http://www.adafruit.com/search?q=cobbler
Vous aurez également besoin :
- LED 5mm rouge
- 270-560 résistance *
- 0 2.1uF condensateurs en céramique http://www.adafruit.com/product/753
- Photocellules http://www.adafruit.com/products/161
- La force de résistance sensible http://www.adafruit.com/product/166
- câble de raccordement de calibre 22
* Il s’agit d’un assortiment très pratique de résistances https://www.sparkfun.com/products/10969
.
Ce projet utilise les bibliothèques wiringPi, écrites par Gordon Henderson, pour le GPIO dans C de programmation dans un style similaire à l’IDE Arduino.
wiringPi doit être installé.
Instructions pour télécharger, installer et utiliser situent trouve à http://wiringpi.com
wiringPi utilisations on épingle propre schéma de numérotation.
Tous les numéros mentionnés dans le programme ou dans le texte sont des nombres wiringPi sauf indication contraire.
Après l’installation de wiringPi, vous pouvez obtenir une liste indiquant la goupille numérotation pour votre modèle de RaspberryPi en ouverture d’un terminal de commande en tapant :
.
Il s’agit de ma première tentative de lire le temps que nécessaire pour charger un condensateur. Dans ma dernière tentative, j’utilise une meilleure méthode microsecondes au lieu de fois dans une boucle de comptage. Elle donne des résultats beaucoup plus stables :