Getestet mit:Raspberry Pi 3; Raspbian Jessie; Python 2.7
Voraussetzungen:Raspberry Pi mit Raspbian Jessie und Internetverbindung (siehe Schritte 1-7 in der Einfuehrung)
Bauteile:LED passender Widerstand (optional)
Steckplatine und Jumperkabel
MCP3008
10k Ohm Potentiometer
0

Ein analoges Potentiometer lesen mit dem A/D converter MCP3008 und SPI

Ein analoges Potentiometer ist ein manuell einstellbarer Widerstand und Teil vieler elektronischer Schaltkreise, z.B. in Lautsprechern zur Einstellung der Lautstaerke. Fuer den Raspberry Pi sind Potentiometer gut geeignet um das Verhalten eines Geraetes zu aendern, an dem kein Bildschirm angeschlossen ist. Beispielsweise die Geschwindigkeit eines Roboters koennte vom Benutzer ueber ein Potentiometer eingestellt werden. Leider hat der Raspberry Pi keinen analogen Eingang; daher ist ein Analog-Digital-Konverter (ADC) wie der hier verwendete MCP3008 noetig.
Die LED in diesem Tutorial dient nur der Darstellung und kann ohne Aenderungen weggelassen werden.

Schaltkreis
Hier ist der Schaltkreis auf einer Steckplatine. Der Widerstand hat reichliche 100 Ohm. Weniger oder eine blaue LED ohne Widerstand passen auch.

Schaltkreis Potentiometer mit dem MCP3008 und LED

Schaltkreis Potentiometer mit dem MCP3008 und LED

Das Script ausfuehren
Schalte den Raspberry Pi ein, lade das Script herunter und fuehre es aus durch die Eingabe von

im Terminal. Es ist vielleicht noetig, das Potentiometer mit dem Finger zu fixieren.

Hier ist ein anderes Tutorial, welches Software-Pulsweitenmodulation mit Motoren erklaert.
Das speziell gebaute SPI-Protokoll verwendet nicht ganz offensichtliche Bitoperationen. Allgemein ist SPI eine synchrone Kommunikationsmethode. Der clock-Pin alterniert und gibt so den Takt der Datenuebertragung vor. Ein Binaerbefehl, der den Zustand des ersten Kanals fordert, wird in mosi geschrieben. Der binaer kodierte Zustand des Potentiometers wird dann in miso ausgelesen.

Das ganze Script
Klicke auf Ganzes Script um das ganze Programm anzuzeigen.

Demo Video
Fuer die 3.3V 20mA des Raspberry Pi braucht die blaue Jumbo-LED keinen Widerstand.

Links
Motoren: http://www.knight-of-pi.org/einfaches-dc-motortreiberboard-fuer-den-raspberry-pi-mit-dem-ic-l293-und-software-pulse-width-modulation/
Motoren: http://www.knight-of-pi.org/einfaches-dc-motortreiberboard-fuer-den-raspberry-pi-mit-dem-ic-l293-und-software-pulse-width-modulation/

Knight of Pi

Johannes Bergs aka Knight of Pi. Diploma in Bioinformatics, some Webdesign and Python coding then. Living in the beautiful city of Vienna.

Kommentar

Time limit is exhausted. Please reload CAPTCHA.