Benutzer-Werkzeuge

Webseiten-Werkzeuge


schule:hardwarekiste

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
schule:hardwarekiste [2021-10-14 08:47] – [SN74HCT125N - Spannungswandler] pintmanschule:hardwarekiste [2023-12-31 19:10] (aktuell) pintman
Zeile 1: Zeile 1:
-====== Hardwarekiste ====== +Verschoben nach [[:Hardwarekiste]]
- +
-Für verschiedene Projekte werden immer wieder unterschiedliche Bauteile benötigt. Eine Auswahl aus meiner Hardwarekiste habe ich auf dieser Seite zusammengestellt. +
- +
-Einen guten Einstieg in die unterschiedlichen Bauteile bietet die Seite [[https://hw101.tbs1.de|Hardware101]]. +
- +
-===== 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|}} +
-===== Arduino LilyPad ===== +
- +
-{{:schule:hardware:lilypad_usb.jpg?direct|}} +
- +
-{{:schule:hardware:lilypad_batteriehalter.jpg?direct&300|}} +
- +
-===== Arduino Nano ===== +
- +
-{{:schule:hardware:arduino_nano.jpg?direct&300|}} +
-===== Arduino Uno ===== +
-{{:schule:hardware:arduinouno.jpg?direct&300|}} +
- +
-Ein Klassiker unter den Microcontrollern. +
- +
-===== ATX-Power Adapter ===== +
- +
-{{:schule:hardware:atx_breakout_board.jpg?direct&400|}} +
- +
-Unter dem Suchbegriff "ATX power adapter" oder "benchtop" findet man Platinen, mit denen alte PC-Netzteile für Bastelprojekte weiter verwendet werden können. Hier z.b. das [[http://dangerousprototypes.com/blog/2012/06/28/new-prototype-atx-breakout-board/|ATX Breakout Board]] +
- +
-===== auvisio Universal WLAN Fernbedienung (urc 150, NX-4519-675) ===== +
- +
-{{ :schule:hardware:urc150_1.jpg?direct&200 |}} +
-{{ :schule:hardware:urc150_2.jpg?direct&200 |}} +
- +
-Universalfernbedienung von [[https://www.pearl.de/a-NX4519-3103.shtml|Pearl]] (~20 €), die einen ESP8266 enthält und daher mit einer alternativen Firmware bespielt werden kann. Der Artikel  [[https://www.heise.de/select/ct/2019/19/1567948315290197|Frei-Funke]] aus der ct beschreibt die Einrichtung, welche die [[https://www.heise.de/ct/artikel/Tuya-Convert-IoT-Geraete-ohne-Loeten-vom-Cloud-Zwang-befreien-4283623.html|tuya convert]] Schwachstelle ausnutzt. +
-===== BBC micro:bit ===== +
-{{:schule:hardware:microbit.jpg?direct&400|}} +
- +
-Der [[http://microbit.co.uk/|micro:bit]] ist ein Einplatinencomputer, der mit LEDs, GPIO Pins, zwei Buttons, Bluetooth, einem Kompass und einem Lagesensor ausgestattet ist.  +
- +
-Er lässt sich mit dem Editor [[http://codewith.mu/|Mu]] oder über die Webseite in Micropython programmieren. Mit [[http://uflash.readthedocs.io/en/latest/|uFlash]] existiert eine Möglichkeit, Programme von der Kommandozeile auf den microbit zu kopieren. Diese werden dann direkt ausgeführt, sobald der microbit mit Strom versorgt wird. Eine REPL (read eval print loop) für den microbit erhält man über das Projekt [[https://github.com/ntoll/microrepl|microrepl]]. +
- +
-Die [[https://microbit-micropython.readthedocs.io/en/latest/index.html|Dokumentation des micro:bit]] zeigt schöne Beispiele und beschreibt die wichtigsten Klassen und Methoden. Hier ist auch ein [[https://microbit-micropython.readthedocs.io/en/latest/pin.html|pinout]] zu finden. +
- +
-Hilfestellung gibt es über eine [[https://mail.python.org/mailman/listinfo/microbit|Mailingliste]], ein [[http://forum.micropython.org/viewforum.php?f=17|Forum]] und den IRC-Kanal [[http://webchat.freenode.net?channels=%23microbit|#microbit]] im Freenet. +
-===== Bus Pirate ===== +
- +
-{{:schule:hardware:buspirate.jpg?direct&300|}} +
- +
-Das Schweizer Taschenmesser für die Analyse von Leitungen, auf denen unterschiedliche Protokolle gesprochen werden. In einem [[http://dangerousprototypes.com/docs/Bus_Pirate_101_tutorial|Tutorial]] werden verschiedene Einsatzmöglichkeiten vorgestellt. +
- +
-===== CHIP ===== +
- +
-{{:schule:hardware:chip.jpg?direct&300|}} +
- +
-Ein Kleincomputer für 9$. Weitere Informationen gibt es auf der <del>[[https://getchip.com/|Herstellerseite]]</del> [[https://web.archive.org/web/20180428075649/https://getchip.com/|Archiv]]. Dort ist auch eine ausführliche <del>[[http://docs.getchip.com/chip.html|Anleitung]]</del> [[https://web.archive.org/web/20180528102419/https://docs.getchip.com/chip.html|Archiv]] zu finden. +
- +
-===== 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]]. +
- +
-===== Digispark ===== +
-{{:schule:hardware:digispark.jpg?direct&500|}} +
- +
-Der [[http://digistump.com/wiki/digispark|Digispark]] ist ein kleiner Arduino auf einem USB-Stecker. +
- +
-===== DHT11, DHT22 - Temperatur und Luftfeuchtesensor ===== +
- +
-{{:schule:hardware:dht11.jpg?direct&300|}} +
- +
-{{:schule:hardware:dht11.pdf|Datenblatt}} +
-===== DSN-MINI-360 ===== +
- +
-Der DSN-MINI-360 ist ein Spannungswandler. Er wandelt eine Eingangspannung 4.75 - 23VDC in eine Ausgangsspannung  +
-1.0 - 17VDC. Die gewünschte Spannung wird über eine Drehregler eingestellt. +
-===== DSO138 Digitales Speicher Oszilloskop ===== +
- +
-{{:schule:hardware:dso138.jpg?direct|}} +
- +
-{{:schule:dso138_sonde.jpg?direct|}} +
- +
-Das [[http://www.jyetech.com/Products/LcdScope/e138.php|DSO138 von jyetech]] ist ein einfaches und günstiges Oszilloskop mit einem LC-Display. Als Import aus China ist es schon für ca. 15€ verfügbar. +
-===== 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]]. +
- +
-===== ESP32 ===== +
- +
-{{:schule:hardware:esp32.jpg?direct&300|}} +
- +
-Der Nachfolger vom ESP8266.  +
- +
-==== ESP32-Cam ==== +
- +
- +
-{{ :schule:hardware:esp32cam_1.jpg?direct&200 |}} +
-{{ :schule:hardware:esp32cam_2.jpg?direct&200 |}} +
- +
-Mit dem ESP32-Cam (~8 €) existiert auch ein Kameramodul für den ESP32. [[https://github.com/c3d2/C3-PR|C3-PR]] macht daraus einen Presence Robot, der sich aus der Ferne steuern lässt und dafür das Kameramodul nutzt. +
- +
- +
-===== ESP8266 ===== +
- +
-{{:schule:hardware:esp8266.jpg?direct&300|}} +
- +
-Mehr Informationen stehen im [[https://tbs1-bo.github.io/hardware-101/esp8266/|hardware-101 Repo]]. +
- +
-===== Fernbedienung ===== +
- +
-{{:schule:hardware:remote_control.jpg?direct&300|}} +
-===== Game Controller ===== +
- +
-{{:schule:hardware:game-controller.jpg?direct|}} +
- +
- +
-===== HC-SR501 - Infrarot Bewegungsmelder =====  +
- +
-{{:schule:hardware:hc_sr501.jpg?direct&300|}} +
- +
-Ein Bewegungssensor, der [[http://www.netzmafia.de/skripten/hardware/RasPi/Projekt-PIR/|bei natzmafia.de]] und 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. +
-===== Lenovo Tastatur ===== +
- +
-{{ :schule:hardware:lenovo_tastatur.jpg?direct&400 |}} +
- +
-Die Lenovo-Tastatur wird gewöhnlich in Laptop verbaut und besitzt den von IBM eingeführten charakteristischen roten »Knuppel« in der Mitte, Dieser fungiert als Mauszeiger und ermöglicht eine Nutzung der Tastatur, ohne die Hände von selbiger zu entfernen. +
- +
-===== LED-Taster ===== +
- +
-{{:schule:hardware:led_taster.jpg?direct&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. +
- +
-===== Logic-Analyzer - 8-Kanal 24MHz  ===== +
- +
-{{:schule:hardware:logic-analyzer.jpg?direct&300|}} +
- +
-Ein Logic-Analyzer (vermutlich ein Clone von [[https://sigrok.org/wiki/VKTECH_saleae_clone|VKTECH]]), der sich über USB mit der Software [[https://sigrok.org|sigrok bzw. PulseView]] betreiben lässt. +
- +
-In einem [[https://github.com/sigrokproject/sigrok-dumps|repo]] sammelt das Projekt +
-verschiedene dumps exemplarischer Kommunikationsprotokolle. +
-===== Magic-Home LED Controller ===== +
- +
-{{:schule:hardware:magic_home_led_controller.jpg?direct&300|}} +
-{{:schule:hardware:magic_home_led_controller_front.jpg?direct&300|}} +
-{{:schule:hardware:magic_home_led_controller_back.jpg?direct&300|}} +
- +
-Da sich ein ESP8266 auf dem Board befindet, kann dieser mit einer alternativen Firmware geflasht werden. Das Projekt [[https://github.com/arendst/Sonoff-Tasmota/wiki/MagicHome-LED-strip-controller|Sonoff-Tasmota]] bietet eine solche Firmware an. +
- +
- +
-===== MIDI Controller Korg nano Kontrol ===== +
-{{:schule:hardware:korg-nano-kontrol.jpg?direct|}} +
- +
-Ein [[wpde>Musical Instrument Digital Interface|MIDI]]-Controller wird zwar primär zur Steuerung von Synthesizern und elektronischen Musikinstrumenten genutzt, kann aber auch für Bastelprojekte zum Einsatz kommen. Bei MIDI werden die Signale in Kanälen übertragen. Jede Note wird mit eine Anschlagstärke in einem Wert zwischen 0 und 127 übermittelt. +
- +
-Der folgende Ausschnitt aus dem Datenblatt zeigt, welche Noten jeweils übertragen werden. +
- +
-<code> +
-1-1 Channel Messages            [H]:Hex,  [D]:Decimal +
-+--------+----------+----------+-----------------------------------------------+ +
-| Status |  Second  |  Third   | Description         (Transmitted by )         | +
-|  [Hex] | [H]  [D] | [H]  [D] |                                               | +
-+--------+----------+----------+-----------------------------------------------+ +
-|   8n   | kk  (kk) | 40  (64) | Note Off            (Switch A/B)              | +
-|   9n   | kk  (kk) | VV  (VV) | Note On             (Switch A/B)              | +
-|   Bn   | cc  (cc) | vv  (vv) | Control Change      (Panel Controls)          | +
-+--------+----------+----------+-----------------------------------------------+ +
-  : MIDI Channel = 0~15 +
- kk : Note# 0~127 +
- VV : Velocity = 1~127 +
- cc : Control Change# = 0~127 +
- vv : Value = 0~127 +
- +
-</code> +
- +
- +
-Mit der Bibliothek [[https://github.com/SpotlightKid/python-rtmidi|rtmidi]] lässt sich ein Device einfach auslesen. +
- +
-Die Bibliothek kann z.B. mit pip installiert werden. +
- +
-<code> +
-pip install python-rtmidi +
-</code> +
- +
-Das folgende Script reagiert auf Aktionen am Controller und gibt den Wert aus. +
- +
-<code python> +
-class MidiInputHandler: +
-    def __init__(self, port): +
-        self.port = port +
-        self.vs = collections.OrderedDict() +
- +
-    def __call__(self, event, data=None):     +
-        message, _ = event +
-        chan, note, val = message +
-        print("Channel", chan, "note", note, "value", val) +
- +
-if len(sys.argv) > 1: +
-    port = sys.argv[1] +
-else: +
-    print("Give me an input port"+
-    midi.list_input_ports() +
-    exit(1) +
- +
-midiin, port_name = midi.open_midiinput(port) +
-midiin.set_callback(MidiInputHandler(port_name)) +
- +
-try: +
-    while True: +
-        time.sleep(1) +
-except KeyboardInterrupt: +
-    pass +
-finally: +
-    midiin.close_port() +
- +
-</code> +
- +
-Weitere Beispiele befinden sich im [[https://github.com/SpotlightKid/python-rtmidi/tree/master/examples|Verzeichnis examples bei github]]. +
- +
-Mit Hilfe des Projektes [[https://github.com/pintman/midi2mqtt/|midi2mqtt]] lassen sich MIDI-Signale an einen MQTT-Broker senden. +
-===== MCP23017 Portexpander ===== +
-{{:schule:hardware:mcp23017.jpg?direct&300|}} +
- +
-Der MCP23017 ist ein Portexpander, mit dem Anzahl der verfügbaren GPIOs an einem [[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 [[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. +
- +
-===== Odroid Go ===== +
- +
-{{ :schule:hardware:odroid-go.jpg?direct&200 |}} +
- +
-Der [[https://wiki.odroid.com/odroid_go/odroid_go|Odroid-Go]] ist eine kleine Konsole auf der Basis eines ESP32. Drückt man beim Start die Taste B, so wird eine Art BIOS angezeigt, über das eine Firmware geflasht werden kann: z.B. Micropython. +
- +
-===== Orange Pi Zero ===== +
- +
-Der OrangePiZero ist eine ist die kleine an den Pi Zero angelehnte Version des [[http://www.orangepi.org|Orange Pi]]. Eine Beschreibung befindet sich im [[https://tbs1-bo.github.io/hardware-101/orange_pi_zero/|Hardware 101]]-Projekt. {{:schule:hardware:orangepizero-user_manual_schematics.zip|Handbuch und Schaltpläne}} +
-===== PewPew M4 ===== +
- +
-{{ :schule:hardware:pewpewm4-vorne.jpg?direct&200 |}} +
-{{ :schule:hardware:pewpewm4-hinten.jpg?direct&200 |}} +
- +
- +
-Game-Console, die in [[Python]] (genauer Circuit-Python) programmiert werden kann. +
- +
-  * [[https://www.tindie.com/products/makerfabs/circuitpython-pewpew-m4-kit/|Shop]] für ca. 25 € +
-  * [[https://pewpew.readthedocs.io/en/latest/pew.html|API]] +
-===== Philips Hue Bridge ===== +
- +
-{{:schule:hardware:philips-hue1.jpg?direct&300|}} +
-{{:schule:hardware:philips-hue2.jpg?direct&300|}} +
- +
-Die Philips Hue Bridge kann Lampen ansteuern, die das [[wpde>ZigBee]]-Protokoll sprechen - also nicht nur Produkte von Philips, sondern z.B. auch die recht günstigen TRÅDFRI-Lampen von IKEA. Die Bibliothek [[https://github.com/studioimaginaire/phue|phue]] ermöglicht die Steuerung der Bridge mit einem [[Python]]-Programm. Sie lässt sich einfach mit ''pip install phue'' installieren. Danach muss das Programm mit der Bridge "gepaired" werden. Dies wird auf der verlinkten Webseite beschrieben. Dann kann die Lampe leicht angesteuert werden. +
- +
-<code python> +
-from phue import Bridge  +
- +
-b = Bridge("philips-hue"+
-# turn it on +
-b.set_light(1, "on", True) +
-# turn if off +
-b.set_light(1, "on", False) +
-# dim it - values 0..255 +
-b.set_light(1, "bri", 110) +
-# dim it with transition time (in 1/10 seconds) +
-b.set_light(1, "bri", 255, transitiontime=10) +
-</code> +
- +
-Die Bridge selbst kann über die [[https://www.developers.meethue.com/philips-hue-api|Philips hue API]] mit HTTP-Requests angesteuert werden. +
-===== PirateBox ===== +
- +
-{{:schule:hardware:piratebox1.jpg?direct&300}} +
-{{:schule:hardware:piratebox2.jpg?direct&300|}} +
- +
-Die [[https://piratebox.cc/|PirateBox]] besteht aus einer angepassten Firmware für Router wie den TP-LINK TL-MR3020 (die Sticker sind beim Original nicht enthalten. :-)). Diese stellen ein WLAN zur Verfügung, über das auf einen Dateiserver und ein Forum, das auf dem Router läuft, zugegriffen werden kann.  +
- +
-Ein ähnliches Konzept verfolgt der Server [[https://github.com/serviette/serviette|Serviette]], der jedoch eine leistungsfähigere Hardware voraussetzt. Leider scheinen beide Projekte nicht mehr akut betrieben zu werden (Stand Jan. 2020). +
- +
-Auf den TP-Link MR3020 kann auch die [[https://openwrt.org/toh/tp-link/tl-mr3020|OpenWRT-Firmware]] und damit auch eine Freifunk firmware installiert werden. +
-===== Pi Zero ===== +
- +
-{{:schule:hardware:pi_zero_essentials_kit.jpg?direct|}} +
- +
-Der Pi Zero ist der kleine Bruder des [[Raspberry Pi]]. Es kostet mit ca. 6€ deutlich weniger als der große Bruder, hat dafür aber auch weniger Anschlüsse. Das oben abgebildete Essentials Kit wird mit einigen Adaptern geliefert, die Micro-HDMI und -USB auf größere Anschlüsse konvertieren. Mit einem Ethernet-USB-Adapter konnte ich tatsächlich via ssh auf den Pi zugreifen. Die GPIO-Leiste muss ebenfalls noch verlötet werden. +
- +
-{{:schule:hardware:pi_zero_an_laptop.jpg?direct|}} +
-===== 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}} +
- +
-===== Projectbox ===== +
- +
-{{:schule:hardware:project_box.jpg?direct&300|}} +
-===== 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]]. +
-===== Scrollbot ===== +
-<html> +
-<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/23ocjtamM_E?rel=0" frameborder="0" allowfullscreen></iframe> +
-<!-- +
-<iframe src="https://archive.org/embed/scrollbot" width="640" height="480" frameborder="0" webkitallowfullscreen="true" mozallowfullscreen="true" allowfullscreen></iframe> +
---> +
-</html> +
- +
-(Video bei [[https://archive.org/details/scrollbot|archive.org]]) +
- +
-Der Scrollbot ist ein Bastelset, das bei [[https://shop.pimoroni.com/products/scroll-bot-pi-zero-w-project-kit|pimoroni]] bestellt werden kann und sich über die python-Bibliothek [[https://github.com/pimoroni/scroll-phat-hd|scrollphathd]] ansteuern lässt. Es besteht aus einem [[Raspberry Pi|Raspberry Pi Zero W]] und einer LED-Matrix. Eine [[http://docs.pimoroni.com/scrollphathd/#at-a-glance|Übersicht über die Befehle]] zeigt, wie sich das Modul ansteuern lässt. +
- +
-Das Projekt [[https://github.com/pintman/scrolly|scrolly]] bei github zeigt eine Beispielverwendung. +
- +
-===== SN74HCT125N - Spannungswandler =====  +
-{{:schule:hardware:sn74ahct125n.jpg?direct&400|}} +
- +
-Spannungswandler z.B. zum Ansteuern von 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. +
- +
- +
-===== Smartphone ===== +
- +
-Jedes Smartphone hat eine ganze Menge Sensoren, die sich über Apps anzeigen und auslesen lassen. Die App [[https://play.google.com/store/apps/details?id=com.mscino.sensornode|Sensor Node Free]] kann die Sensordaten einem [[wpde>MQTT]]-Broker übergeben. Clients, die sich dort registriert haben, können sodann auf die Ereignisse reagieren. Mit der [[https://play.google.com/store/apps/details?id=com.mscino.sensornode.pro|Pro-Version]] können die Entwickler durch eine kleine Spende unterstützt werden. +
- +
-Eine [[https://play.google.com/store/search?q=sensor%20mqtt&c=apps|Suche nach "sensor mqtt"]] in Googles PlayStore liefert auch andere vergleichbare Apps zutage. +
- +
-===== 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]]. +
-===== ThinClients  ===== +
- +
-→ [[ThinClient]] +
- +
- +
- +
- +
-===== Trinket Pro ===== +
- +
-{{:schule:hardware:trinketpro.jpg?direct&300|}} +
- +
-Einfacher Kleincomputer für 9$. Viele Informationen liefert die [[https://www.adafruit.com/product/2000|Herstellerseite]]. +
- +
-===== USB-Seriell Adapter ===== +
- +
-{{:schule:hardware:usb_seriell.jpg?direct&300|}} +
-{{:schule:hardware:ft232rl_front.jpg?direct&300|}} +
-{{:schule:hardware:ft232rl_back.jpg?direct&300|}} +
- +
-Für den Anschluss von seriellen Schnittstellen an einen USB-Port. Der Artikel [[blog>auf-raspberrypi-mit-serieller-schnittstelle-verbinden|Mit dem RaspberryPi über eine serielle Schnittstelle verbinden]] beschreibt, wie man sich mit einem [[Raspberry Pi]] über die serielle Schnittstelle verbinden kann. +
- +
- +
-===== WS2811 LED-Controller ===== +
- +
-{{:schule:hardware:ws2812b_led_strip.jpg?direct&300|}} +
- +
-Eine ausführliche Beschreibung 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://gitlab.com/pintman/flaschenwand|flaschenwand]] nutzt die LEDs um eine Wand aus Getränkekisten anzusteuern. +
-===== Shard ===== +
- +
-{{:schule:hardware:shard.jpg?direct&500|}} +
- +
-Der //Shard// von Gerber ist ein Schlüsselanhänger mit nützlichen Zusatzfunktionen. Er gehört in die Kategorie der sogenannten EDC ([[wpde>Every Day Carry]]): also nützliche Dinge, die man immer dabei haben sollte.  +
- +
-Der //Shard// ist mit einem Kreuz- und zwei Schlitzschraubenziehern ausgestattet. Es kann zum Abisolieren und durch den kleinen Winkel zum Anheben oder Öffnen von Dosen oder Büchsen genutzt werden. Ein Flaschenöffner ist auch noch dabei. Die Edelstahlausführung ist mit Titan beschichtet und hält hoffentlich ein Leben lang. +
- +
-In Deutschland wird das simple aber nützliche Werkzeug viel zu teuer angeboten. Als Import aus Asien kostet er nur wenige Euro. +
- +
-===== USB Spannungs- und Strommesser ===== +
- +
-{{:schule:hardware:usb-multimeter.jpg?direct&400|}} +
- +
-===== Wire-Wrapping Tool ===== +
- +
-{{:schule:hardware:wire-wrapping-tool.jpg?direct&300|}} +
-===== Links ===== +
-  * [[https://tio.github.io/|tio]] ist ein CLI-Client für den seriellen Zugriff auf verschiedene Bauteile. +
-  * [[Tastatur-Hacking]] +
-  * Dass man einen gewöhnlichen Kopfhörer auch als universelles Elektronik-Debug-Werkzeug benutzen kann, zeigt ein [[https://www.youtube.com/watch?v=oIOBwxHjCSE&feature=youtu.be&t=11s|Lightning-Talk der GPN]]. +
-  * Roger hat bei den Labortagen 2017(([[https://wiki.das-labor.org/index.php?title=Labortage_2017#20:00_Roger:_Tools.2C_Tips_.26_Tricks_f.C3.BCr_Reparatur.2C_Restaurierung_.26_Prototyping|Tools, Tips & Tricks für Reparatur, Restaurierung & Prototyping]] im Labor-Wiki)) eine {{:schule:hardware:vortrag_tools_tips_tricks.20171111.ods|Liste mit Tools, Tipps & Tricks für Reparatur, Restaurierung & Prototyping}} ({{:schule:hardware:vortrag_tools_tips_tricks.20171111.pdf|PDF}}) vorgestellt, die auf mehr als 40 Jahren Bastelerfahrung beruht. +
-  * Gebrauchte Hardware kann man gut bei [[https://itsco.de|ITSCO]] oder [[https://workstation4u.de|Workstation4U]] bestellen. +
-  * Tipps für gute Gebraucht-Hardware (aus ct 6/2020, S.100): AVM-Fritzbox 7520, Konica PagePro 4650EN (Laserdrucker) +
-  * [[hw101|Hardware 101]] +
- +
schule/hardwarekiste.1634194030.txt.gz · Zuletzt geändert: 2021-10-14 08:47 von pintman