Benutzer-Werkzeuge

Webseiten-Werkzeuge


bauteile

Bauteile

Allerlei Bauteile aus meiner Hardwarekiste.

5 Wege Schalter - 5 Way Switch

7-Segment-Anzeige

Vier-stellige 7-Segmentanzeige mit einem TM1637 Displaytreiber. Informationen von der Herstellerseite:

The module is a 12-foot clock with 4 points of positive digital (0.36 inches) display module driver IC TM1637, only two signal lines can make SCM four 8-segment LED.

Module features are as follows:

Display of male red for the four digital tube
Adjustable digital tube 8 gray
Level control interface for 5V or 3.3V
4 M2 screws positioning holes for easy installation

Control Interface: A total of four pins (GND, VCC, DIO, CLK), GND to ground, VCC is the power supply, DIO of data input and output pin, CLK is the clock signal pin;

Digital tube: 4 common anode score points with 0.36 inches LED, red highlights;

Positioning holes: 4 M2 screws positioning hole diameter is 2.2mm, the positioning of the module is easy to install, to achieve inter-module combination;

Mit raspberry-pi-python-tm1637 existiert eine Bibliothek für die Ansteuerung mit einem Raspberry Pi und Python.

AD633 Analog-Multiplizierer

Der AD633 kann zwei analoge Eingangsspannungen miteinander multiplizieren und wird in einem Artikel bei Hackaday beschrieben.

Analog Joystick HW-504

C1602A LCD-Modul

Eine ausführliche Beschreibung zur Verwendung befindet sich im hardware-101 Repo.

DHT11, DHT22 - Temperatur und Luftfeuchtesensor

DS18B20 1-Wire Temperatursensor

Eine ausführliche Beschreibung befindet sich im hardware 101 repo.

HC-SR501 - Infrarot Bewegungsmelder

Ein Bewegungssensor, in dem Datenblatt beschrieben wird.

Infrarot Sender-Empfänger (Sender/Receiver)

Infrarot-Module, die zum Beispiel mit dem MySensors-Projekt über einen Arduino-µC oder das Linuxprojekt LIRC angesteuert werden können.

LED Matrix (5x7 und 8x8)

Die LEDs werden mit einem Vorwiderstand von 220 Ohm betrieben. Jede LED ist über eine Zeile und Spalte ansteuerbar. Insgesamt werden 5+7=12 GPIO für die Ansteuerung benötigt. Weitere Informationen stehen im hardware-101 Repo. Die Bilder zeigen ein LED-Shield für einen Wemos D2 Mini. Für die Ansteuerung des 8×8-Shields mit Micro-Python ist eine Bilbiothek vorhanden. In dem Projekt ledbadge kommt dies etwas zum Einsatz.

LED-Taster

LM75 Temperatursensor

Eine ausführliche Beschreibung ist im hardware-101 Repo verfügbar.

MCP23017 Portexpander

Der MCP23017 ist ein Portexpander, mit dem Anzahl der verfügbaren GPIOs an einem Raspberry Pi vergrößert werden kann. Das Datenblatt des MCSP23017 beschreibt die Belegung der Pins. Er wird über einen I²C-Bus angesprochen.

Über verschiedene Registeradressen können unterschiedliche Funktionen angesteuert werden.

Wichtig sind die mit einem roten Punkt markierten Register. Für Pins aus der Bank A bzw. B stehen jeweils eigene Befehle zur Verfügung. Mit den Registern IODIRA und IODIRB können die Pins als Eingabe- oder Ausgabe-Pins konfiguriert werden (0=out, 1=in). Mit den Registern OLATA und OLATB kann auf den Pins eine Ausgabe erzeugt werden. Die Register GPIOA und GPIOB können schließlich verwendet werden, um von den Pins zu lesen.

Zugriff mit i2ctools

Um den Baustein mit dem Raspberry Pi zu verwenden, muss zunächst der I²C-Overlay aktiviert werden in den Einstellungen von raspi-config. Evt. muss mit modprobe i2c-dev noch ein Kernelmodul geladen werden.

Nun wird das Paket i2c-tools installiert, um mit i2cdetect auf den Bus zugreifen zu können.

$ i2cdetect -y 1

scannt den Bus nach verfügbaren Geräten ab. Dort sollte der Baustein auftauchen - z.B. an Adresse 0x20. Diese Adresse werden wir in den folgenden Befehlen jeweils mitsenden.

$ i2cset -y 1 0x20 0x00 0xFE

konfiguriert mit i2cset den Pin IO0 (0xFE ist binär 1111 1110) als Ausgang. Nun können wir ein Signal senden.

$ i2cset -y 1 0x20 0x14 0x01

sendet eine 1 an den Pin IO0.

$ i2cget -y 1 0x20 0x12

liest mit i2cget die Eingänge in Bank A aus. Aus dem Hexwert lässt sich dann der Status eines Pins herauslesen, wenn man den Wert als Binärtwert betrachtet.

Zugriff mit Python

Für den Zugriff mit Python wird das Paket python3-smbus benötigt.

import smbus
 
bus = smbus.SMBus(1)
adresse = 0x20
 
bus.write_byte_data(adresse, 0x00, 0xFE)
 
bus.write_byte_data(adresse, 0x14, 0x01)
 
wert = bus.read_byte_data(adresse, 0x12)

NE555 Timer

Der Klassiker unter den ICs. In Engineer's Mini-Notebook – 555 Timer IC Circuits werden viele Grundschaltungen beschrieben. Einige Schaltungen können in einem Simulator nachvollzogen werden.

MPU6050 Beschleunigungssensor und Gyrometer

Der MPU 6050 ist ein Beschleunigungssensor und Gyrometer, der sich über I²C auslesen lässt. Eine Beschreibung befindet sich im hardware-101 Repo.

NRF24L01+PA+LNA

Funksender mit und ohne Antenne - Datenblatt. Der Funksender wird z.B. im Projekt MySensors verbaut.

Power Converter DC 0,8-3,3V zu DC 3,3V

Power Converter, der Signale unterhalb von 3.3V auf 3.3V hoch regelt. Datenblatt bzw. Shop-Beschreibung

RFID

Ein RFID-Lesegerät, das die gelesene Seriennummer über die serielle Schnittstelle ausgibt.

RGB-LED

Jeder Farb-Pin muss über einen Vorwiderstand angeschlossen werden. Die Farben können über PWM kombiniert werden. Eine Beispielbeschaltung zeigt eine mögliche Verwendung.

Servomotor

Eine Beschreibung zur Verwendung befindet sich im hardware-101 repo.

SN74HCT125N - Spannungswandler

Spannungswandler z.B. zum Ansteuern von WS281x LEDs.

SN74HCT245N - 8-fach Sende-Empfänger

sn74hct245

Der SN74HCT245N ist ein 8-fach Sende-Empfänger für eine Zwei-Wege-Kommunikation.

SN74HC595N 8Bit Shiftregister

Ein Schieberegister, über das mehrere Werte gleichzeitig ausgegeben werden können, nachdem sie in das Register geschoben wurden. Im hardware-101 Repo existiert eine ausführliche Beschreibung.

Sound Detector

Sound Detector, der über einen analogen Pin (AO) einen Schallpegel ausgibt und über den digitalen Pin (DO) die Überschreitung eines mit einem Potentiometer einstellbaren Schwellwertes signalisiert.

SSD1306 128x64 OLED-Display

Das Display kann über eine high-level Python-Bibliothek für den Raspberry Pi1) oder eine low-level Bibliothek für den ESP8266/ESP32 angesteuert werden. Da die Displays auch von Adafruit vertrieben werden, gibt es dort eine ausführliche Anleitung.

Die Adresse auf der Rückseite des Displays zeigt zwar 0x78 an (vgl. das obige Bild), die I²C-Adresse ist jedoch 0x3C oder 0x3D. Eine Erklärung habe ich hier gefunden:

The back of the PCB shows that the 0x78 jumper has been soldered. The sheet says that the slave adress is a 7-bit code that can be either 0x3C (011-1100) or 0x3D (011-11001), based on the SAO bit (LSB of the adress). The SAO bit can be controlled by the D/C# pin of the SSD1306 (not to be confused with the D/C# bit of the control byte in the above image!). I guess, heltec must have soldered the pin to GND. Moreover, since, the OLED will always be interfaced in WRITE mode, the I2C First Byte will be the 7-bit SLA and the WRITE mode bit (0) - which becomes the byte, 0x78. Ha!

Bei Problemen mit Timeouts auf dem I²C-Bus hilft folgender Hinweis:

If you get I2C timeouts, you may need to add two 4.7 kOhm resistors, one from SDA to 3.3v, and one from SCL to 3.3v.
Quelle

Weitere Infos zu dem Display im hw101.

WS281x LED-Controller

Eine ausführliche Beschreibung der WS2811 bzw. WS2812 LEDs befindet sich im hardware-101 Repo.

  • flaschenwand nutzt die LEDs, um eine Wand aus Getränkekisten anzusteuern.
  • WLampe nutzt die LEDs, um eine einfache Ikea-Lampe damit zu steuern.
1)
Leider liegt die Bibliotheken nur für Python2 vor.
bauteile.txt · Zuletzt geändert: von pintman