Het is moeilijk om numerieke gegevens in een RaspberryPi via de GPIO omdat zij beschikt niet over een analoog naar digitaal convertor. Dit instructable laat zien hoe tijd het laden en ontladen van een condensator om te lezen een resistieve sensor. De demonstratie maakt gebruik van een fotocel en een kracht gevoelige weerstand om controle van de helderheid en knippersnelheid van een LED, en het laat zien hoe met millis() zodat wijzigingen direct gebeuren in plaats van te wachten op delay().
Dit is niet een echte analoog naar digitaal convertor.
Je moet een RaspberryPi, een breadboard en een manier om te lopen van de draden van de RaspberryPi naar het breadboard. U kunt mannelijke/vrouwelijke jumper draden maar één van de Pi schoenlappers vermeld op deze pagina van Adafruit zal het een stuk makkelijker maken: http://www.adafruit.com/search?q=cobbler
Je moet het ook:
- 5mm rood LED
- 270-560 weerstand *
- 2 0.1uF keramische condensatoren http://www.adafruit.com/product/753
- Fotocel http://www.adafruit.com/products/161
- Force Gevoelige Resistor http://www.adafruit.com/product/166
- 22 gauge hookup draad
* Dit is een handig assortiment van weerstanden https://www.sparkfun.com/products/10969
.
Dit project maakt gebruik van de bibliotheken van de wiringPi, geschreven door Gordon Henderson, voor het programmeren van de GPIO in C in een stijl gelijkend op de Arduino IDE.
wiringPi moet worden geïnstalleerd.
Instructies voor het downloaden, installeren en gebruiken liggen op http://wiringpi.com
wiringPi gebruikt het is eigen pin nummering schema.
Alle pin-codes vermeld in het programma of in de tekst zijn wiringPi getallen, tenzij anders aangegeven.
Na het installeren van de wiringPi kunt u een lijst weergeven met de pin nummering voor uw specifieke model van RaspberryPi door achter een terminal opdracht te typen:
gpio readall
.
Dit is mijn eerste poging om de leestijd duurt het opladen van een condensator. In mijn laatste poging gebruik ik een betere methode tellen microseconden in plaats van een keer door een lus. Het geeft veel meer stabiele resultaten: