Category Archives: Arduino

  • 0

Spannungsregler variabel mit LM317

Ausdrucken Ausdrucken

Heute bauen wir uns einen regelbaren Spannungsregler und verwenden hierzu einen LM317-Baustein.

Im Gegensatz zu den meisten Reglern gibt es beim LM317 praktisch keine maximale Eingangsspannung, so lange die Differenz von Ein- zu Ausgangsspannung nicht höher als 40V ist.
Das Ganze funktioniert, da der LM317 keinen direkten Massebezug hat, nur den über den Widerstand zur Einstellung der Ausgangsspannung.

“Read More”

  • 4

Lichtschranke (mit dem Arduino)

Kategorien:

Arduino, Elektronik

Ausdrucken Ausdrucken

k153pDer Aufbau einer Lichtschranke ist nicht sehr schwer. Vereinfacht ausgedrückt haben wir nur zwei Zustände: Der Infrarotstrahl ist nicht unterbrochen (=0), oder der Strahl wurde unterbrochen (=1).

Ich habe für den Aufbau zuerst den Temic K153P-Lichtsensor verwendet (siehe Bild rechts), den gibt es ganz günstig bei Pollin (Infrarot-Lichtschrankenpaare Temic K153P – 10 Paare für 0,95 EUR).

Die Schwierigkeit mit diesem Sensor war, dass ich kein korrektes 0- oder 1-Signal bekam, dass ich mit dem Controller verarbeiten konnte.

analogWrite() mit Pi mal Daumen rechnen mag zwar gehen, aber ich wollte ein sauberes, digitales Signal.

Bei microcontroller.net fand ich dann eine wunderbare Schaltung, die diesem Wunsch nachgekommen ist.

Da ich keinen CD4093N-IC zur Hand habe, habe ich hierfür einen 74HC132N genommen.
Tut ebenfalls, was er soll und preislich ist er sogar wenige Cent günstiger.

Den Rest hat man ja eh daheim und dann geht es auch schon los.

“Read More”

  • 2

Schieberegister – Am Arduino anschließen

Kategorien:

Arduino

Ausdrucken Ausdrucken

74hc595

Gehen uns die Ausgabepins an unserem Arduino aus, können wir einfach und preisgünstig mit einem oder mehreren Schieberegistern die Pinanzahl erhöhen.

Pro Schieberegister können wir 8 weitere Pins hinzufügen.

Zum Anschließen von weiteren 8 Pins werden lediglich einmalig 3 freie Pins am Arduino benötigt.

Wie eine Schieberegister funktioniert, könnt Ihr unter “Schieberegister – Was ist das?” nachlesen.

In diesem Beitrag zeige ich Euch, wie Ihr ein Schieberegister über das SPI-Bussystem anschließen könnt und gehe auf den Schaltplan ein.
Danach erweitern wir noch unser Schieberegister um ein weiteres Register.

“Read More”

  • 0

Schieberegister – Was ist das?

Ausdrucken Ausdrucken

74hc595Das Schieberegister erweitert zum Beispiel die Eingangs- und/oder die Ausgangspins eines Mikrocontrollers.

Hierbei gilt zu beachten, dass man für Eingangs- und Ausgangspins das jeweilig passende Schieberegister verwendet.

Das wohl bekannteste Schieberegister trägt die Bezeichnung “74HC595” und ist ein Schieberegister des SIPO-Typs (SIPO steht für Serial in, Parallel out, was bedeutet, dass es ein Ausgaberegister ist).

Das Pendant hierzu – beispielsweise ein “74LS299” – ist ein Schieberegister des Typs PISO (PISO steht für Parallel in, Serial out). Mit diesem kann man den Status eines Pins des Schieberegisters abfragen.

Diese beiden Schieberegister gehören zu der Klasse der 8Bit-Schieberegister. Das heißt, man kann mit diesem Baustein 8 Pins (jeweils Ein- oder Ausgang des verwendeten Typs) ansteuern.

Es gibt auch eine Mischform, den “74LS194A”. Dieser ist ein 4bit-Schieberegister und besitzt 4 Ein- und 4 Ausgabepins in einem Baustein.

“Read More”

  • 0

Temperatursensor LM 35

Kategorien:

Arduino, Elektronik

Ausdrucken Ausdrucken

LM35_small

Es gibt verschiedene Sensortypen, um einen Temperaturwert auszulesen.

Verwendung findet hier heute der Feld-, Wald- und Wiesen-Temperatursensor LM 35 und zwar um genau zu sein, der LM 35 DZ.
Es gäbe beispielsweise noch einen CZ-Typen, der einen anderen Temperaturbereich auslesen kann, so wie einen DT-Typ mit anderem Gehäuse.

Alternativen wären auch noch der LM75, so wie der LM 335 (rechnet in Kelvin, statt in °C) da, die beide zur Messung von Minustemperaturen besser geeignet sind als der LM35.

Es gibt viele unterschiedliche Typen, auch preislich weichen sie enorm voneinander ab. Unseren LM 35 DZ-Typ bekommt man schon so für rund 1 EUR und man kann mit ihm viele schöne Dinge machen in Verbindung mit anderen Bauteilen und/oder einem Microcontroller wie dem Arduino.

“Read More”

  • 4

Pullup- und Pulldown Widerstand

Ausdrucken Ausdrucken

PullupPulldown-HeaderHeute mal ein kurzer Beitrag zum Thema Pullup- und Pulldown-Widerstände in Verbindung mit Buttons, sprich Tastern.

Aber auch beim Einsatz von Transistoren kommen recht häufig auch Pulldown-Widerstände vor. Das ist nicht sehr verwunderlich, sind Transistoren ja auch eine Art Schalter, die schalten, sobald an der Basis genug Strom anliegt und der Transistor dann Collector und Emitter durchschaltet.

Wofür brauchen wir aber diese Pullup-/Pulldown-Widerstände?
In knappen Worten: Um einen unbestimmten Zustand bestimmt zu machen. Mit den Worten eines Programmierers: Wir initialisieren die Variable “Taste” mit dem Wert “HIGH” oder “LOW”.

Stellen wir uns folgendes vor:

Zum Vergrößern Bild anklicken

Zum Vergrößern Bild anklicken

“Read More”

  • 12

Arduino Pro Mini 3.3V programmieren (mit Arduino Uno oder USB-Programmer)

Ausdrucken Ausdrucken

Arduino Pro Mini

Nehmen wir uns mal einen Arduino Pro Mini in der Variante mit 3.3V vor, um ihn zu programmieren.
Wie auch schon im Blog zum programmieren eines ATtiny-Mikrocontrollers zeige ich Euch wie Ihr entweder mit einem Arduino (Uno) oder einem USB-Programmer einen Pro Mini mit einem Sketch versehen könnt. Dort beschreibe ich auch ausführlich den USB-Programmer samt Kabelanschluss.

 

Ganz wichtig!!! Ihr braucht unbedingt eine Stromversorgung die konstant nicht mehr als 3.3 Volt liefert, sonst könnte es sein, dass Ihr Euren Pro Mini schrottet. Die USB-Buchse Eures Computers liefert je nach USB-Port eine Spannung, die darüber liegt.
Benutzt Ihr die 5V-Variante, könnt Ihr sie ohne Spannungswandler direkt mit dem Strom aus der USB-Buchse versorgen.

Folgende Übersicht zeigt Euch die Spannung und die Stromstärke an, die Euer USB-Port bereitstellt.

  • 4,40 V bis 5,50 V an einem Low Powered Port (100 mA)
  • 4,75 V bis 5,50 V an einem High Powered Port (500 mA)
  • 4,45 V bis 5,50 V an einem USB 3.0-Port (900 mA)
“Read More”

  • 22

ATtiny85 programmieren (mit Arduino Uno oder USB-Programmer)

Tags:


Kategorien:

Arduino

 

Ausdrucken Ausdrucken

attiny85Heute wollen wir einen ATtiny85 programmieren.

Hierzu ist es wichtig, dass Eure Arduino-IDE ATtiny-Prozessoren unterstützt. Wie Ihr das einstellt, könnt Ihr hier nachlesen.

 

Entscheidet Ihr Euch dazu, Euren Prozessor mit einem USB-Programmer zu programmieren (finde ich am elegantesten, zumal man sich bei häufiger Nutzung ein spezielles Breadboard vorbereiten kann und nicht jedesmal seinen Arduino anschließen muss), so kann ich Euch wärmstens den USB-Programmer aus dem Guloshop ans Herz legen.
Das Teil kostet nicht mal 5 Euro und Ihr könnt gleich noch ein wenig löten üben, da Ihr einen Wannenstecker, so wie das USB-Kabel anlöten müsst.
Bestellt am besten gleich noch ein 10-poliges-Breadboard-Programmierkabel mit, wenn Ihr so ein Kabel wie unten abgebildet nicht habt. Das erleichtert Euch die Arbeit.
Alternativ macht es so wie ich und vielleicht befindet sich in Eurer Restekiste vergangener PCs auch ein RS 232-Kabel (DSUB9). Man nutzt es für die COM-Ports.

Zum Vergrößern Bild anklicken

Zum Vergrößern Bild anklicken

“Read More”

  • 3

Yikes! Invalid device signature – Da brennen mir die Sicherungen durch

Kategorien:

Arduino

Ausdrucken Ausdrucken

errorEinmal nicht aufgepasst und beim Übertragen eines neuen Sketches den falschen Mikrocontroller in der Arduino-IDE ausgewählt und es erschien die folgende Fehlermeldung:

avrdude: verification error, first mismatch at byte 0x0000 0x0c != 0x00
avrdude: verification error; content mismatch

Was war passiert? Ich schaute im Werkzeugemenü nicht genau hin. Die automatische Erkennung erkannte dummerweise einen ATtiny45 statt einem 85er.

Es ist schon verdammt spät und so führte dieser Fehler zum nächsten, denn ohne groß darüber nachzudenken, änderte ich einfach mal die Taktfrequenz von 1 Mhz auf 8 Mhz (“Irgendwas war da noch mit 8 Mhz ?!?”). Nein, war es nichts und der fatale Fehler daran war jetzt, dass ich nicht die internen 8 Mhz ausgewählt, sondern externe 8 Mhz. Aua.

Beim nächsten Versuch den Sketch aufzuspielen bestrafte mich avrdude mit der folgenden Fehlermeldung:

avrdude: Yikes!  Invalid device signature. Double check connections and try again, or use -F to override this check.

“Read More”

  • 0

Spannungsregler (einfach) 5V->3.3V

Ausdrucken Ausdrucken

Hier möchte ich Euch noch einmal eine einfache Version des Spannungsreglers vorstellen. Eine komfortablere Version die Spannungen von höheren Eingängen auf 5V und auf 3.3V umwandelt, könnt Ihr hier nachlesen.
Dort ist auch die komplette Schaltung beschrieben, daher werde ich es an dieser Stelle nicht mehr ausführlich erklären. Aus dieser vorgenannten Schaltung nehmen wir lediglich den rechten Bereich der für die Umwandlung in 3.3 V zuständig ist.

Wozu? Konstante 3.3 Volt benötigen wir zur Programmierung von Mikroprozessoren, die mit maximal 3,3V betrieben werden dürfen. Dies betrifft beispielsweise die Arduino Pro Mini Boards, die es auch in der Variante mit 3.3V gibt.
Da unser USB-Port aber mindestens ~4.5V liefert, sollte man es tunlichst vermeiden, den Strom direkt vom USB-Port abzugreifen.

Spannungswandler 3.3V

Spannungswandler 3.3V

Daher habe ich mir diesen kleinen Spannungsregler als Shield auf einer Lochrasterplatine gelötet (Ich weiß, damit gewinne ich keinen Schönheitswettbewerb, aber man möge es mir nachsehen, denn war es doch die erste Platine nach Jahrzehnten der Lötpause), damit ich mir die höhere Spannung des USB-Anschlusses beim Programmieren der 3.3V-Prozessoren problemlos abgreifen kann und meinen Controller nicht grille.

“Read More”