Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 07/05/20 in all areas

  1. 1 point
    ACHTUNG: Arduinos mit AVR-Mikrocontroller (z.b. der Arduino Uno und Mega) haben einen Logikpegel von 5V und brauchen deshalb einen Pegelwandler zwischen dem Arduino und dem Bricklet. Bricklets haben einen Logikpegel von 3,3V. Moin, Nachdem es in letzter Zeit häufiger Kundenanfragen danach gab, Bricklets direkt mit einem Mikrocontroller zu verwenden, habe ich die letzten Monate entsprechende Bindings entwicklet. Die erste Beta der C/C++ Bindings für Mikrocontroller, mit denen Koprozessor-Bricklets direkt von z.B. einem Arduino über SPI gesteuert werden können, finden sich im Anhang. Die Bindings sind in eine allgemeine Implementierung und einen Hardware Abstraction Layer (HAL) für konkrete Plattformen unterteilt. Es gibt zur Zeit einen HAL für Arduino-AVR-Boards, einen für ESP32-Boards wie das NodeMCU und einen für das Raspberry Pi (Zero) + HAT (Zero). Details zum Interface, zur Implementierung eigener HALs für andere Boards usw. finden sich im Readme im Anhang. Falls ihr die Bindings testen wollt, gibt es im Moment folgende Möglichkeiten (sortiert nach Schwierigkeitsgrad): Man kann die Bindings wie erwähnt mit einem Raspberry Pi + HAT verwenden, dann wird kein Brick Daemon benötigt. (Falls ein Brick Daemon installiert ist kann dieser mit sudo systemctl disable --now brickd deaktiviert werden) Ein einzelnes Bricklet kann an einem Mikrocontroller mit 3,3V Logikpegel direkt verwendet werden. An die Signale des Bricklets kommt man am einfachsten mit einem Breakout Bricklet. Mehrere Bricklets an einem SPI-Bus funktionieren aufgrund eines Bugs im Bricklet-Koprozessor nicht ohne Zusatzhardware, siehe den Abschnitt über eigene Hardware. Mit etwas freischwebender Verkabelung kann ein HAT auch an einem Arduino oder anderem Mikrocontroller mit 3,3V Logikpegel verwendet werden: Das HAT verwendet die Standard-Pinbelegung aller Raspberry Pi HATs Achtung: Im Bild ist diese gespiegelt, weil sie die Belegung des Pis, nicht des HATs ist. Es werden folgende Pins benötigt: Pin 1: 3,3V Pin 2/4: 5V Pin 6: Masse Pin 19, 21, 23: SPI MOSI, MISO, Clock Für das HAT: Pins 16, 15, 22, 13, 37, 18, 26, 31, 29 als Chip Select Pins Für das HAT Zero: Pins 13, 16, 18, 15, 22 als Chip Select Pins Es kann vollständig eigene Hardware verwendet werden. Die Bricklets können an Breakout Bricklets angeschlossen werden, es muss aber, wenn mehrere Bricklets an einem SPI-Bus verwendet werden sollen, ein vom Chip-Select gesteuerter Trenner-Chip verwendet werden, da die Bricklets die MISO-Leitung auch treiben, wenn sie nicht selected sind. Im Readme finden sich Details dazu. Künftig wird es von uns eigene Hardware für die Bindings geben, sowohl ein ESP32-basiertes Board auf dem Programme, die die Bindings verwenden geflasht werden können, als auch ein neues Breakout Board, mit dem Koprozessor-Bricklets direkt mit einem Mikrocontroller verbunden werden können. (hier ein Teaser) Bisher getestete Hardware +===============+===================+====================================================+ | Hardware | HAL | Notizen | +===============+===================+====================================================+ | Arduino Uno | hal_arduino | Bricklet-Logik-Pegel beträgt nur 3,3V, siehe oben. | +---------------+-------------------+----------------------------------------------------+ | NodeMCU ESP32 | hal_arduino_esp32 | Beide SPI-Schnittstellen werden unterstützt | +---------------+-------------------+----------------------------------------------------+ | ESP-WROOM-32 | hal_arduino_esp32 | Danke an @rwblinn | +---------------+-------------------+----------------------------------------------------+ | Arduino MEGA | hal_arduino | Siehe Uno. Danke an @rwblinn | +---------------+-------------------+----------------------------------------------------+ | Raspberry Pi | hal_linux | Mit HAT (Zero) Brick | +---------------+-------------------+----------------------------------------------------+ | Teensy 3.1 | hal_arduino | | +---------------+-------------------+----------------------------------------------------+ Gruß, Erik Edit: Beta 6 mit folgenden Änderungen: Alle HALs verwenden jetzt die veränderten nonnull-Attribute. tinkerforge_uc_bindings_2_0_0_beta_6.zip
×
×
  • Create New...