Temperatursensor TMP123

Der  Temperatursensor TMP123 von Texas Instruments kommt in SMD Gehäuse mit Anschlüssen nach SOT23-6, also arschklein aber noch gerade so mit einer feinen Spitze lötbar.

Specs:
Die Komunikation mit dem TMP123 erfolgt über SPI
12 bit Auflösung
-40 bis 125 °C Messbereich, mit einer Genauigkeit von +- 1,5°C im mittleren Bereich
Verträgt 3,3V und 5V
Soweit ich es sehen kann unterscheidet sich sein Bruder der TMP121 nur in der Pinbelegung.

 

Ich habe mich mal daran gemacht 2 von den kleinen Kerlen Breadboard tauglich zu machen.

Sowas hätte früher im Staubsaugerrohr nicht mal geklappert.

 

Der TMP123 wird vor dem Löten von einer Krokoklemme auf der Adapterplatine festgehalten.

 

Noch die Stiftleiste dran und das war schon das Wesentliche.
Mit abgewinkelten Stiftleisten spart man übrigens einiges an Platz auf dem Breadboard.

 

Hinten habe ich noch die Pinbelegung aufgeklebt.

 

Beispielcode für den Arduino

TMP121_123.pde.zip

 

broken Pro Micro

So schnell geht’s.

Ein feines Gerät, die Micro Version des Arduino Leonardo mit ATmega32U4 von Sparkfun.

Die Verwendung der Micro USB Buchsen ist in offener Montage nicht gerade Sinnvoll, zum trennen von Stecker und Buchse sind recht hohe Kräfte aufzuwenden was ein Abstützen der Buchse in einem Gehäuse nötig machen würde. Nur auf einer Platine aufgelötet geht dies nicht lange gut.

Flexible RGB LED Leisten

Ich will hier mal über LED Lichtleisten schreiben, diese Art der Beleuchtung findet inzwischen immer mehr Verbreitung und die Preise befinden sich gerade im freien Fall.
LED Strips kommten gebräuchlicherweise auf Rollen zu je 5 Meter daher, diese bestehen aus flexiblen ca. 10mm breiten Platinen aus Polyimidfolie auf die die Kupfer Leiterbahnen aufgedampft wurden.
Darauf befinden sich je nach Hersteller 30-120 LEDs pro Meter, einige Widerstände und Treiber ICs. Diese LEDs können einfarbig sein oder RGB LEDs sein d.h. in einer RGB LED sind Leuchtdioden in den Farben (r)ot, (g)rün und (b)lau gemeinsam vergossen und können somit unterschiedlich angesteuert zusammen so gut wie alle Farben des sichtbaren Lichts erzeugen.

LED Strips mit Einfarbige LEDs  gibt es in allen möglichen Farben, wobei ich dort nur noch die weißen und warm weißen guten Gewissens empfehlen kann.
Wenn Farbe ins Spiel kommt sollte man gleich zur RGB Variante greifen, da man dort deutlich flexibler ist wenn das Ergebnis nicht den Wünschen entspricht und die Farbe seinen Wünschen viel genauer anpasst werden kann. Bei dieser Art wird am Controller Helligkeit und eine Farbe für die gesamte Länge eingestellt.

Kommen wir jetzt zu den richtig coolen Zeug, RGB LED Strips mit adressierbaren LEDs.

Bei denen kann man dann mit einen Computer oder Microcontroller Board wie dem Arduino jede LED einzeln ansteuern. Erreicht wird dies durch speziele ICs auf der Lichtleiste, wo ein IC für je eine bzw. zwei RGB LEDs zuständig ist.
Diese Bus angesteuerten Treiber ICs gibt es inzwischen in vielen Variationen und sind unterschiedlich anzusteuern.

HL1606
Der HL1606 ist einer der älteren Treiber und noch ziemlich dumm, dafür aber weit verbreitet. Er wird mit 4 Datenleitungen als SPI Bus angeschlossen und stellt kein PWM zur Verfügung, so dass die Farben softwarseitig moduliert werden müssen.
Es existiert eine Library für diese LED Strips HL1606 Arduino library.

LPD8806
Der LPD8806 wird über 2 Datenleitungen angesteuert und kann jede Farbe 7 bitig PWM Dimmen was rund 2 Millionen Farben ergibt.
(ältere Version LPD6803 nur 5 Bit PWM)
LPD8806s besitzen 6 Ausgänge und können  2 RGB LEDs gleichzeitig ansteuern.
Die Leute bei Adafruit habe den Chip reverse engineered und eine Anleitung incl. einer Arduino Library für diese LED Strips geschrieben, welche sie natürlich auch verkaufen.

WS2801
Der WS2801 kann pro Farbe 8 Bit PWM ausgeben was demnach 16,7 Millionen Mischfarben ergibt. Da für jede RGB LED ein IC zuständig ist, kann somit auch zwischen jeder LED zugeschnitten werden. Sparkfun verkauf diese WS2801 getriebenen LED Leisten und bietet gleich auch Beispielcode für den Arduino und Datasheets zum WS2801 an. Als Library kann man die unten genante Fastpsi verwenden.

Es gibt noch unzählig viele andere Treiber ICs für adressierbare  RGB LED Strips, die oben genannten sind die gebräuchlichsten.

Es existiert mit Fastspi noch eine Arduino Library die eine größere Menge von Treibern unterstützt,

  • 595 style shift registers
  • hl1606 based led strips
  • lpd6803 based led pixels
  • tm1809 based led strips
  • tm1804 based pixels
  • ws2801 based led strips and pixels
  • lpd8806 based led strips
  • ucs1903 based led strips
  • sm16716 chipset
  • support for the ws2811 chipset

Zu bedenken ist übrigens, dass das ansteuern von LEDs einiges an RAM braucht. So soll ein Arduino Uno/Nano mit seinen 2KB Ram maximal 160 RGB LEDs ansteuern können. Ein Mega hat übrigens 8KB Ram. Ein raspberry pi ist angesichts dieser Limitation für größere Projekte wie eine Matrix aus mehreren LED Strips eher in Betracht zu ziehen.

Des weiteren sollte man beachten, dass so ein Meter LED Leiste einen haufen Strom braucht den der 5V Ausgang eines Arduinos nicht liefern kann.
Es ist also ein ausreichend dimensioniertes zusätzliches 5V Netzteil nötig.
Für die mit WS2801 gibt der Hersteller einen maximalen Verbrauch von 1.8A pro Meter an wenn alle einzelnen Farben aufgedreht sind.
Bei allen anderen sollte mit ähnlichen Werten zu rechnen sein.

Günstig kaufen kann man solche LED Strips an viel Orten, z.B. bietet bestlightingbuy.com die 5 Meter Rolle für 99-120 $ an.

ref.: nut-bolt.nl