Benutzer-Werkzeuge

Webseiten-Werkzeuge


bauteile

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
bauteile [2025-09-24 07:26] – angelegt pintmanbauteile [2025-09-24 07:34] (aktuell) – [WS281x LED-Controller] neu pintman
Zeile 2: Zeile 2:
  
 Allerlei Bauteile aus meiner [[Hardwarekiste]]. Allerlei Bauteile aus meiner [[Hardwarekiste]].
 +
 +===== 5 Wege Schalter - 5 Way Switch =====
 +
 +{{:schule:hardware:5way_switch.jpg?direct&300|}}
 +
 +===== 7-Segment-Anzeige =====
 +
 +{{:schule:hardware:7segment_front.jpg?direct&300|}}
 +{{:schule:hardware:7segment_back.jpg?direct&300|}}
 +
 +Vier-stellige 7-Segmentanzeige mit einem [[https://www.mcielectronics.cl/website_MCI/static/documents/Datasheet_TM1637.pdf|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 [[https://github.com/lawerencem/raspberrypi-python-tm1637|raspberry-pi-python-tm1637]] existiert eine Bibliothek für die Ansteuerung mit einem Raspberry Pi und Python.
 +
 +===== AD633 Analog-Multiplizierer =====
 +
 +{{:schule:hardware:ad633.jpg?direct&300|}}
 +
 +{{:schule:hardware:ad633_pinout.png}}
 +
 +Der [[http://www.analog.com/media/en/technical-documentation/data-sheets/AD633.pdf|AD633]] kann zwei analoge Eingangsspannungen miteinander multiplizieren und wird in einem [[https://hackaday.com/2016/06/19/make-math-real-with-this-analog-multiplier-primer/|Artikel bei Hackaday]] beschrieben.
 +
 +===== Analog Joystick HW-504 =====
 +
 +{{:schule:hardware:analog_stick.jpg?direct&300|}}
 +
 +===== C1602A LCD-Modul =====
 +{{:schule:hardware:lcd.jpg?direct&300|}}
 +
 +Eine ausführliche Beschreibung zur Verwendung befindet sich im [[https://tbs1-bo.github.io/hardware-101/hd44780/|hardware-101 Repo]].
 +
 +===== DHT11, DHT22 - Temperatur und Luftfeuchtesensor =====
 +
 +{{:schule:hardware:dht11.jpg?direct&300|}}
 +
 +{{:schule:hardware:dht11.pdf|Datenblatt}}
 +
 +===== DS18B20 1-Wire Temperatursensor =====
 +
 +{{:schule:hardware:ds18b20.jpg?direct&300|}}
 +{{:schule:hardware:ds18b20_shield.jpg?direct&300|}}
 +{{:schule:hardware:ds18b20_breakout.jpg?direct&300|}}
 +
 +Eine ausführliche Beschreibung befindet sich im [[https://tbs1-bo.github.io/hardware-101/ds18b20/|hardware 101 repo]].
 +
 +===== HC-SR501 - Infrarot Bewegungsmelder ===== 
 +
 +{{:schule:hardware:hc_sr501.jpg?direct&300|}}
 +
 +Ein Bewegungssensor, in dem [[https://www.mpja.com/download/31227sc.pdf|Datenblatt]] beschrieben wird.
 +
 +===== Infrarot Sender-Empfänger (Sender/Receiver) =====
 +{{:schule:hardware:ir-sender-receiver.jpg?direct&300|}}
 +
 +Infrarot-Module, die zum Beispiel mit dem [[https://www.mysensors.org/build/ir|MySensors]]-Projekt über einen Arduino-µC oder das Linuxprojekt [[http://www.lirc.org/|LIRC]] angesteuert werden können.
 +
 +===== LED Matrix (5x7 und 8x8) =====
 +
 +{{:schule:hardware:ledmatrix.png|}}
 +{{:schule:hardware:led_head_wemosd2mini_front.jpg?direct&300|}}
 +{{:schule:hardware:led_head_wemosd2mini_back.jpg?direct&300|}}
 +
 +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 [[https://tbs1-bo.github.io/hardware-101/led_matrix/|hardware-101 Repo]]. Die Bilder zeigen ein [[https://wiki.wemos.cc/products:d1_mini_shields:matrix_led_shield|LED-Shield für einen Wemos D2 Mini]]. Für die Ansteuerung des 8x8-Shields mit Micro-Python ist eine [[https://github.com/mcauser/micropython-tm1640|Bilbiothek]] vorhanden. In dem Projekt [[https://github.com/pintman/ledbadge|ledbadge]] kommt dies etwas zum Einsatz.
 +
 +
 +===== LED-Taster =====
 +
 +{{:schule:hardware:led_taster.jpg?500|}}
 +
 +===== LM75 Temperatursensor =====
 +{{:schule:hardware:lm75-pins.png?direct&300|}}
 +
 +Eine ausführliche Beschreibung ist im [[https://tbs1-bo.github.io/hardware-101/lm75/|hardware-101 Repo]] verfügbar.
 +
 +===== MCP23017 Portexpander =====
 +{{:schule:hardware:mcp23017.jpg?direct&300|}}
 +
 +Der MCP23017 ist ein Portexpander, mit dem Anzahl der verfügbaren GPIOs an einem [[schule:Raspberry Pi]] vergrößert werden kann. Das [[https://cdn-shop.adafruit.com/datasheets/mcp23017.pdf|Datenblatt]] des MCSP23017 beschreibt die Belegung der Pins. Er wird über einen I²C-Bus angesprochen.
 +
 +{{:schule:hardware:mcp23017-pinout.png?direct&300|}}
 +
 +Über verschiedene Registeradressen können unterschiedliche Funktionen angesteuert werden.
 +
 +{{:schule:hardware:mcp23017-register.png?direct&600|}}
 +
 +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 [[schule: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 [[debman>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 [[debman>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 [[debman>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.
 +
 +<code python>
 +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)
 +</code>
 +
 +
 +===== NE555 Timer =====
 +
 +{{:schule:hardware:ne555_blockdiagram.png?direct&300|}}
 +
 +Der Klassiker unter den ICs. In [[https://archive.org/download/Forrest_Mims-engineers_mini-notebook_555_timer_circuits_radio_shack_electronics/Forrest%20Mims-engineer's%20mini-notebook%20555%20timer%20circuits%20(radio%20shack%20electronics).pdf|Engineer's Mini-Notebook – 555 Timer IC Circuits]] werden viele Grundschaltungen beschrieben. Einige Schaltungen können in einem [[http://www.falstad.com/circuit/|Simulator]] nachvollzogen werden.
 +
 +===== MPU6050 Beschleunigungssensor und Gyrometer =====
 +
 +Der [[http://playground.arduino.cc/Main/MPU-6050|MPU 6050]] ist ein Beschleunigungssensor und Gyrometer, der sich über I²C auslesen lässt. Eine Beschreibung befindet sich im [[https://tbs1-bo.github.io/hardware-101/mpu6050/|hardware-101 Repo]].
 +
 +
 +===== NRF24L01+PA+LNA =====
 +
 +{{:schule:hardware:nrf24l01.jpg?direct&300|}}
 +{{:schule:hardware:nrftop.png?direct&300|}}
 +{{:schule:hardware:nrf2401l01-pa-lna.jpg?direct&300|}}
 +
 +Funksender mit und ohne Antenne - {{:schule:hardware:nrf24l0plus.pdf|Datenblatt}}. Der Funksender wird z.B. im Projekt [[https://www.mysensors.org|MySensors]] verbaut.
 +
 +===== Power Converter DC 0,8-3,3V zu DC 3,3V =====
 +
 +{{:schule:hardware:power_converter_to_3.3v.jpg?direct&300|}}
 +
 +Power Converter, der Signale unterhalb von 3.3V auf 3.3V hoch regelt. {{:schule:hardware:power_converter_to_3v.pdf|Datenblatt bzw. Shop-Beschreibung}}
 +
 +===== RFID =====
 +{{:schule:hardware:rfid.jpg?direct&300|}}
 +
 +Ein RFID-Lesegerät, das die gelesene Seriennummer über die serielle Schnittstelle ausgibt.
 +
 +===== RGB-LED =====
 +
 +{{:schule:hardware:rgb_led.jpg?direct&300|}}
 +
 +{{:schule:hardware:rgb_led_pinout.png?direct|}}
 +
 +Jeder Farb-Pin muss über einen Vorwiderstand angeschlossen werden. Die Farben können über PWM kombiniert werden. Eine [[http://wiring.org.co/learning/basics/rgbled.html|Beispielbeschaltung]] zeigt eine mögliche Verwendung.
 +===== Servomotor =====
 +{{:schule:hardware:schrittmotor.jpg?direct&300|}}
 +
 +Eine Beschreibung zur Verwendung befindet sich im [[https://tbs1-bo.github.io/hardware-101/servo/|hardware-101 repo]].
 +
 +===== SN74HCT125N - Spannungswandler ===== 
 +{{:schule:hardware:sn74ahct125n.jpg?direct&400|}}
 +
 +Spannungswandler z.B. zum Ansteuern von [[#ws281x_led-controller|WS281x]] LEDs.
 +===== SN74HCT245N - 8-fach Sende-Empfänger ===== 
 +
 +{{:schule:hardware:sn74hct245.png?direct&300|sn74hct245}}
 +
 +Der [[http://www.ti.com/lit/ds/symlink/sn74hct245.pdf|SN74HCT245N]] ist ein 8-fach Sende-Empfänger für eine Zwei-Wege-Kommunikation.
 +
 +===== SN74HC595N 8Bit Shiftregister =====
 +
 +{{:schule:hardware:sn74hc595n_8bitshiftregister.jpg?direct&300|}}
 +
 +Ein Schieberegister, über das mehrere Werte gleichzeitig ausgegeben werden können, nachdem sie in das Register geschoben wurden. Im [[https://tbs1-bo.github.io/hardware-101/74HC595/|hardware-101 Repo]] existiert eine ausführliche Beschreibung.
 +
 +===== Sound Detector =====
 +
 +{{:schule:hardware:sound_detector.jpg?direct&400|}}
 +
 +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 =====
 +
 +{{:schule:hardware:ssd136.jpg?direct&300|}}
 +
 +Das Display kann über [[https://github.com/adafruit/Adafruit_Python_SSD1306|eine high-level Python-Bibliothek für den Raspberry Pi]]((Leider liegt die Bibliotheken nur für Python2 vor.)) oder eine [[https://github.com/micropython/micropython/tree/master/drivers/display|low-level Bibliothek für den ESP8266/ESP32]] angesteuert werden. Da die Displays auch von Adafruit vertrieben werden, gibt es dort eine ausführliche [[https://learn.adafruit.com/ssd1306-oled-displays-with-raspberry-pi-and-beaglebone-black?view=all|Anleitung]].
 +
 +{{:schule:hardware:ssd1306_an_pi.png?direct&500|}}
 +
 +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 [[http://robotcantalk.blogspot.de/2015/03/interfacing-arduino-with-ssd1306-driven.html|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. 
 +> [[http://www.espruino.com/SSD1306|Quelle]]
 +
 +Weitere Infos zu dem Display im [[https://hw101.tbs1.de/ssd1306/|hw101]].
 +
 +
 +===== WS281x LED-Controller =====
 +
 +{{:schule:hardware:ws2812b_led_strip.jpg?direct&300|}}
 +
 +Eine ausführliche Beschreibung der WS2811 bzw. WS2812 LEDs befindet sich im [[https://tbs1-bo.github.io/hardware-101/ws281x/|hardware-101 Repo]].
 +
 +<html>
 +<iframe width="640" height="360" src="https://www.youtube-nocookie.com/embed/MYdSkIIllsU?rel=0" frameborder="0" allowfullscreen></iframe>
 +</html>
 +
 +<html>
 +<iframe width="640" height="360" src="https://www.youtube-nocookie.com/embed/WsGKFYK_LS8?rel=0" frameborder="0" allowfullscreen></iframe>
 +</html>
 +
 +  * [[https://github.com/pintman/flaschenwand|flaschenwand]] nutzt die LEDs, um eine Wand aus Getränkekisten anzusteuern.
 +  * [[https://blog.bakera.de/wlampe.html|WLampe]] nutzt die LEDs, um eine einfache Ikea-Lampe damit zu steuern.
 +
 +
 +
 +
 +
  
  
  
bauteile.1758698771.txt.gz · Zuletzt geändert: von pintman