DesignSpark Electrical Logolinkedin
Menu Suche
Ask a Question

Raspberry Pi 3 erhält Click-Komfort

 

 

Ein umfassendes Sortiment von Click-Platinen kann nun mit dem Pi 3 verwendet werden.

MikroBUS™ ist ein offener Standard von MikroElektronika für Zusatzplatinen und Buchsen mit Spezifikation der Pinbelegung, Siebdruckebene, Platinengröße, Platzierung usw. Die Pin-Funktionen sind festgelegt für:

  • Analoger E/A
  • Reset
  • SPI
  • Vcc bei 3,3 V
  • Erdungs-
  • PWM-Ausgang
  • Hardware-Interrupt
  • UART TX/RX
  • I2C
  • Vcc bei + 5 V

Mit anderen Worten: eine Reihe von Verbindungen, die eine Vielzahl von Zusatzplatinen mit jeder Art von Funktionen, wie z. B. viele verschiedene Arten von Sensoren, drahtlosen Modulen, Motortreibern usw., unterstützt.

 

Eine Auswahl von Click-Platinen. Bildquelle: Mikroe.com

Im Einsatz werden Click-Platinen in „Shields“ eingesteckt, mit denen Schnittstellen zu gängigen Entwicklungsplattformen wie Arduino, Beaglebone und nun zum Raspberry Pi 3 (896-8660) ermöglicht werden.

Pi 3 Click Shield

 

Click Shields wurden für die Plattformen Pi 1 und Pi 2 entwickelt – dabei könnten Sie sich zurecht die Frage stellen: „Aber besitzen Pi 2 und 3 nicht beide eine 40-polige Stiftleiste mit der gleichen Pinbelegung?“ Und die Antwort darauf lautet: Ja. Das Pi 1 Shield bietet allerdings nur Platz für eine einzige Click-Platine, während das Pi 2 Shield Platz für zwei bietet und diese digital sein müssen. Dahingegen bietet das neue Pi 3 Shield Platz für Click-Platinen in doppelter Ausführung, die dank eines integrierten Dual-ADC entweder analoge oder digitale Schnittstellen bieten.

Es sollte beachtet werden, dass zusätzlich zu dem Raspberry Pi 3 Modell B das Click Shield auch kompatibel mit den Modellen 2 B, 1 A+ und B+ ist. Darüber hinaus ist es für die Verwendung mit Click-Platinen auch nützlich, wenn Sie nur einen Kanal oder zwei der ADC-Eingänge für ein Raspberry Pi hinzufügen müssen.

Beispiele

 Die LibStock Website von MikroElektronika bietet Codebeispiele für Click-Platinen, diese sind jedoch in der Regel für Mikrocontroller-Plattformen und in C/C++ geschrieben. Wobei die Sprache Ihrer Wahl für den Raspberry Pi – und insbesondere beim Einsatz im Bildungswesen – Python ist. In Anbetracht dieser Tatsache hat MikroElektronika Python-Demos für 7 Click-Platinen bei Verwendung mit dem Shield erstellt, die sowohl über LibStock und GitHub zur Verfügung stehen. Die Demos sind für folgende Click-Platinen:

Zusätzlich enthält die über LibStock herunterladbare ZIP-Datei eine Demo zum Einlesen des Onboard-ADC. Vermutlich wird diese auch irgendwann im GitHub-Repository zu finden sein.

Tests mit HTU21D Click

 

Zum Testen des Shields nahmen wir die Click-Platine HTU21D Click (862-4828) , die einen höchst präzisen Sensor für relative Luftfeuchtigkeit und Temperatur umfasst; eine Platine, die wir einst im vernetzten Gewächshaus verwendeten. Nach dem Anschluss der Hardware klonten wir als nächstes das Repository des Gewächshaus-Projekts.

$ git clone https://github.com/DesignSparkrs/connected-greenhouse.git

Im vernetzten Gewächshaus wurde ein Intel Edison Modul zum Einlesen von Sensoren und zur Ansteuerung von Betätigungselementen und ein zweites Edison Modul zum Einlesen von Bedienfeld-Schaltern und zur Ansteuerung von Anzeigen verwendet. Alles wurde mit MQTT und Node-RED integriert. Das Python-Skript der Steuerung,sensors-mqtt-pub, war ein guter Ausgangspunkt, da dieses verantwortlich für das Einlesen der HTU21D und eines Lux-Sensors war.

Die erste Änderung, die wir vornehmen mussten, war, den I2C-Bus auf 1 statt 6 wie beim Edison Modul zu setzen. Danach haben wir den Import von GPIO-, MQTT- und SMBUS-Bibliotheken weggelassen, da diese nicht benötigt wurden. Dasselbe taten wir auch bei allen Leitungen, die mit dem Lux-Sensor, MQTT und Status-LEDs zu tun hatten.

 

Soon we ended up with:

#!/usr/bin/python 
# -*- encoding: utf-8 -*-

import sys
import time
import htu21d

# I2C bus, sensors and config, LED

bus = 1

temphum = htu21d.Htu21d(bus)
temphum.use_temperature = True

# Main loop

while True:
           try:
               temperature = round(temphum.temperature, 2)
               humidity = round(temphum.humidity, 2)
           except (KeyboardInterrupt, SystemExit):
               raise
           except:
               temperature = humidity = 0.00
               print "Failed to read HTU21D"

           print temperature, humidity

           time.sleep(1)

Nach Ausführung des Python-Skripts wurden die Temperatur in Grad Celsius und die relative Luftfeuchtigkeit in Prozent am Terminal ausgedruckt.

Abschließende Worte

Das Pi 3 Click Shield ist ein raffinierter Weg zum Hinzufügen einer Vielzahl unterschiedlicher Funktionen zu einem Raspberry Pi 3. Dadurch können Sie schnell Prototypen neuer Designs erstellen und tolle Projekte mit Sensoren, Betätigungselementen und LoRa-Drahtlostechnologie umsetzen. Click Shields unterstützen auch andere Plattformen wie z. B. Arduino und BeagleBone. Zudem können Click-Platinen mit minimalem Zusatzaufwand wiederverwendet werden.

– Andrew Back

Open source (hardware and software!) advocate, Treasurer and Director of the Free and Open Source Silicon Foundation, organiser of Wuthering Bytes technology festival and founder of the Open Source Hardware User Group.

24 Oct 2017, 9:32

Kommentare