Das schöne an der Himbeere ist ja, das dort einige digitale I/Os rausgeführt werden. Per Software lassen sich diese s.g. GPIO’s einfach ansprechen. Ich hab die hier mal aufgelistet:

Pin Funktion Pin Funktion
1. 3,3V 2. 5,0V
3. GPIO__0 / SDA 4. n.c.
5. GPIO__1 / SCL 6. GND
7. GPIO__4 / GPCLK0 8. GPIO_14 / TxD
9. n.c. 10. GPIO_15 / RxD
11. GPIO_17 12. GPIO_18 / PCM_CLK
13. GPIO_21 / PCM_DOUT 14. n.c.
15. GPIO_22 16. GPIO_23
17. n.c. 18. GPIO_24
19. n.c. 20. n.c.
21. GPIO_10 / MOSI 22. GPIO_25
23. GPIO__9 / MISO 24. GPIO__8 / CE0
25. GPIO_11 / SCLK 26. GPIO__7 / CE1

Als ersten Wurf nehme ich mal einen LM75BP davon hab ich ein paar hier.

  • Pin 1 : SDA
  • Pin 2 : SCL
  • Pin 3 : Alarm Ausgang, den lasse ich frei
  • Pin 4 : GND
  • Pin 5,6,7 : A0..2 die Adressleitungen kommen alle auf GND
  • Pin 8 : VCC (+5,0V)

 

Ein Adapter ist schnell zusammen gelötet, also ran damit und los geht’s. Die Hardware ist fertig, jetzt brauchen wir noch etwas Software.

Erstmal die Treiber für den Broadcom Chip und I2C Werkzeuge:

pi@raspberrypi:/home/pi# apt-get install i2c-tools

Jetzt noch die i2c Kommandos für den normalen Benutzer freischalten

pi@raspberrypi:/home/pi# usermod -a -G i2c pi

Dann können wir ja mal gucken ob das hinhaut:

pi@raspberrypi:~# i2cdetect -y 0
    0 1 2 3 4 5 6 7 8 9 a b c d e f
00:       — — — — — — — — — — — — —
10: — — — — — — — — — — — — — — — —
20: — — — — — — — — — — — — — — — —
30: — — — — — — — — — — — — — — — —
40: — — — — — — — — — — — — — — — —
50: — — — — — — — — — — — — — — — —
60: — — — — — — — — — — — — — — — —
70: — — — — — — — —

Hmmm, natürlich nichts. Vielleicht auf dem zweiten Bus?

pi@raspberrypi:~# i2cdetect -y 1
    0 1 2 3 4 5 6 7 8 9 a b c d e f
00:       — — — — — — — — — — — — —
10: — — — — — — — — — — — — — — — —
20: — — — — — — — — — — — — — — — —
30: — — — — — — — — — — — — — — — —
40: — — — — — — — — 48 — — — — — — —
50: — — — — — — — — — — — — — — — —
60: — — — — — — — — — — — — — — — —
70: — — — — — — — —

Ahh, da ist er ja. Also können wir ihn ja mal fragen:

pi@raspberrypi:/home/pi# i2cget -y 1 0x48 0x00 w
0x7e16

So sieht es doch gut aus. Nur wer will immer diese Zahl umrechnen? Also gucken wir mal und lassen es uns mal etwas lesbarer anzeigen.

pi@raspberrypi:/home/pi# i2cget -y 1 0x48 0x00 w | \
> awk ‘{print( \
> (“0x”substr($1,5,2)substr($1,3,1))*0.0625) \
> }’
22.4375

So sieht es doch schon viel besser aus. Blöd nur das ich jetzt jedes mal diese Salat einhecken soll. Dafür gibt es aber bash. Das ist schnell im vi gehackt und unter LM75.sh gespeichert,

pi@raspberrypi:/home/pi# vi LM75.sh
#!/bin/bash
 while true;
 do
 i2cget -y 0 0x48 0x00 w |
 awk '{print(("0x"substr($1,5,2)substr($1,3,1))*0.0625)}'
 sleep 60
 done

Sehr schön, jetzt können wir mit ./LM75.sh das Script starten und zusehen wie alle 60 Sekunden eine Temperatur angezeigt wird.

Sorry, the comment form is closed at this time.