Der Mikrocontroller attiny13 lässt eine rote LED blinken.
Blinklicht mit dem attiny13
Für eine blinkende LED reicht schon ein attiny13 Mikrocontroller. Ich hatte mir 2011 ein Lernpaket von Franzis gekauft. Und mit dieser Platine hab ich das Blinklicht auf den Chip programmiert und dann auf ein Breadboard gesteckt.
Der Panic-Taster war eine Atrappe, Jetzt hat er einen funktionierenden Taster.
Wenn man den attiny13 mit dem Franzis LPmikro.exe programmiert, muß beim umsetzen auf das Breadboard der Pin PB2 mit einer Steckbrücke auf GND gelegt werden. Zwischen Vcc und GND ein Kondensator mit 100pF stecken. (47pF reichen auch) . Ein Eintrag im Forum von Mikrocontroller.net war hilfreich.
Auf Seite 153 im Heftchen steht die Lösung wie das Programm auch ohne die Brücke PB2-GND startet. Es gibt das Programm LPmikroISP.exe. Mit gesteckter Reset-GND Brücke wird programmiert. Danach Brücke entfernen. läuft.
Es gibt von mir ein kurzes Video dazu auf Youtube.
LPmikro.exe und LPmikroISP.exe laufen mit allen Funktionen auf meinem Linux- Rechner mit wine.
Nachmachen auf eigenen Gefahr!
Arduino Micro ist Passwortspeicher in einer Mini Notebookmaus
Arduino Micro als Passwortspeicher
Arduino mini Verdrahtung
Passwörter im Firefox Browser sichere ich mit einem Masterpasswort. Das kann ganz schön lang sein. Mit den Sonderzeichen hat man sich schnell mal vertippt. Ich hab eine alte Mini Notebookmaus ausgeschlachtet bis auf die Klicktasten. Mit Säge Teppichbodenmesser und Lötkolben hab ich Inneren Platz geschaffen für einen Arduino Micro. Die Tasten angelötet. Als Pulldown Widerstände hab ich 2 * 10kOhm genommen. Das Programm gibts schon fertig bei Arduino -> Beispiele ->USB -> Keyboard.
Ich hab diesen Passwortspeicher mit mehreren Linuxversionen, WindowsXP und Windows7 erfolgreich getestet.
Der Arduino Leonardo kann das auch. Er passt aber nicht in die Maus
Die Simple Serial App geht auch, allerdings scrollt sie nicht automatisch und ist deshalb unübersichtlich.
Ergebnis:
Ich hab an der Luft kalibriert; und nur bei Zimmertemperatur. Über das Potentiometer konnte ich die Temperatur auf ca +- 3/100 Grad genau justieren. Dauer der Messung eine Stunde. (Poti mit Siegllack fixiert)
Das Papierdach auf dem Breadboard schützt beide Sensoren vor Luftstömungen. Die Temperaturänderungen des Sensors am Ofen werden zeitverzögert angezeigt, weil der Fühler mit einem Metallröhrchen ummantelt ist.
Ich bin mit dem Ergebnis zufrieden.
Minibloq ist ein grafisches Programmiertool für den Arduino und andere Mikrocontroller. Das Programm gibts für Linux und Windows. Es muß nicht installiert werden. Das Shellscript MinibloqRun.sh macht durch chmod +x die avr- und Minibloq Programme ausführbahr.
Ich hab einen Arduino Mega 2560 am USB angeschlossen. Das Blinkprogramm mit der integrierten LED hat sofort funktioniert.
Es gibt fertige Module zur Servossteuerung, Elektromotoren, Tonerzeugung und andere Gimmiks.
Wormser Bahnhofsuhr Eine-Minute-Fehler bei Uhren an einer Mutteruhr
Mutteruhr +- Impulse
Nachdem ich mich monatelang über die ungenauen Wormser Uhren am Hauptbahnhof aufgeregt habe, blogge ich jetzt mal die wahrscheinliche Lösung des Problems.
Die Wormser Zeitung hat recht wenn sie in ihrem Artikel sagt dass die Uhrzeit in Braunschweig gemacht wird.Sie ticken nicht richtig (Wormser Zeitung, 06.02.2014) Gesendet wird sie vom Sender Mainflingen. Empfangen wird die Zeit von einem DCF-Emfänger in Worms. Von dort wird sie als Impuls in ein Kabel eingespeist, das den Minutenzeiger der Uhren springen lässt.Minutensprunguhr
In Worms weichen die Uhren eine Minute oder 3 Minuten von der Normalzeit ab.
Eine mögliche Fehlerursache ist, ein falsch gepolter Impuls an der Uhr. Jeder Minutensprung braucht einen wechselnd gepolten Impuls sonst springt der Zeiger nicht. Siehe Photo. (15:32 +V; 15:33 -V)
Abhilfe: Ist das die einzige Uhr an der jeweiligen Linie, die falsch springt, dann muss der Einsteller vorort den Impuls innerhalb von einer Minute wechseln . das geht in dem man mit einem Schraubenzieher die Anschlussdrähte vertauscht. Bei neueren Uhren gibt es einen kleinen Schalter, der umgestellt werden kann.Jetzt funktioniert die Uhr wieder minutengenau.
Sind es alle Uhren in einer Linie die "falsch gehen" soll besser an der Hauptuhr ein extra Impuls eingespeist werden.
Hauptuhr,Multimeter,DCF-client
Wie kommt es zu dem Minutenfehler: Irgendwann ist mal ein Impuls verloren gegangen, zB durch abklemmen der Uhr. Der Einsteller stellt die Uhr minutengenau ein. Der Minutenzeiger springt aber erst beim nächsten Minuten Impuls --> Uhr geht 1 Minute nach.
Der Einsteller stellt die Uhr eine Minute vor Die Uhr springt gleich.--> geht dann 1 Minute vor.
In der Verzweiflung stellt der Einsteller 2 Minuten vor. --> Die Uhr geht danach 1 Minute vor. Weil sich nichts ändert, stellt er sie 3 Minuten vor.--> die Uhr geht 3 Minuten vor. Meistens ist dann Feierband. Rückmeldung an den Chef; die Uhr ist eingestellt, und alle freuen sich. Ich will nicht sagen, dass das in Worms so ist, aber könnte so sein. Ich schreibe hier aus eigener Erfahrung.
Der Nerdwecker hat jetzt ein LCD-Display bekommen, und ist damit gar nicht mehr so nerdig. Abzulesen ist die Weckzeit und die Uhrzeit vom DCF77- Funk-modul.
Die Videokassetten- Box hat sich als Gehäuse bewährt. Dieser Wecker ist mehr als nur ein Wecker mit Ethernetanschluss! Opensource macht eigene Erweiterungen möglich. Funktion:
Über USB am Computer angeschlossen, lässt sich ein Alarm über den Arduino- Serial- Monitor einstellen. Der Alarm wird im Eeprom gespeichert und ist sofort aktiv. Wird der Wecker später über ein USB-Netzteil betrieben, wird der Input übersprungen. In beiden Fällen wird durch den 2. Arduino zur eingestellten Zeit über Wakeonlan der Ondemand- Linux- Server im Netz gebootet. Zur Hardware.
Ich hab den Arduino-code wieder auf meinem Github- account abgelegt.
27.10.2013 Uhrzeit auf dem Wecker hat sich automatisch auf Winterzeit umgestellt.
Das 8 Bit Schieberegister M74HC595B1R wird durch einen Arduino UNO angesteuert. Diese Ports am Schieberegister werden benötigt:
11: Shift Register Clock Input)
13: Output Enable Input
14: Serial Data Input
15: Shift Register Clear Input
Ich habe die Anleitung und die Beispielprogramme von Adafruit benutzt. Achte auf die Pinbelegung! 11->4(arduino); 14->5 (arduino); 13 -> 6(arduino); 15 -> +(arduino)
Als Vorwiderstand für die LEDs benutze ich 1000 Ohm.
Wie immer kannst du auch hier alles selbst kaputtmachen. Abgeschossener Logic-IC M74HC595B13 kann man für nur 0,33 € beim Conrad nachkaufen.
2 Arduini wecken die Rechner mit Wakeonlan zur eingestellten Uhrzeit DCF77.
Arduino startet einen Linux-Server
Der Traum: Ein Arduino bootet den entsprechenden Linux-PC zur gewünschten Zeit mittels Wakeonlan.
Nerdwecker, die Idee und Zweck: Wenn ich durch den Wecker geweckt werde geht das Radio an und ich sehe die Uhrzeit. Das ist mir zuwenig. Ich hab am Bett einen Computer der kann Zeitung, Fernsehen, Wetter, Aussentemperatur + Radio. Andere Anwendung mein Server soll nachts Podcasts laden. usw. Natürlich weiß ich, dass das mit BIOS Einstellungen oder dem Handy auch geht. Die Wirklichkeit: Es funktioniert. Wegen meiner eingeschränkten Programmierkenntnissen krieg ich den IRQ nicht dazu 2 Programme gleichzeitig auf einem Arduino laufen zulassen. Also hab ich 2 Arduinos genommen. Arduino Leonardo für die DCF77- Erkennung und das Wecksignal. Arduino Ethernet für Netzwerk und Wakeonlan.
Mit I2C und serieller Kommunikation hab ich Defizite. Ein 5V Koppelrelais zur Verbindung der Arduinos reicht.
Hardware Tricks: Der Arduino Ethernet lässt sich nur über ein angestecktes USB-UART vonFTDI programmieren. Das hab ich auf dem Photo schon entfernt. Es gibt nur noch ein USB- Netzteil. Arduino -Arduino Spannungsversorgung: GND --> GND und 5v --> Vin
Verwendete Arduino Codes: bei Github.com https://github.com/dewomser
Direkter Link zu Github:Der Arduino Wecker kann auch Standalone benutzt werden.
Direkter Link zu Github:Der Arduino wakeonlan kann auch Standalone benutzt werden.
Ja das ist eine funktionierende Funkuhr, auch wenn sie kein Display hat. Die Uhrzeit lässt sich natürlich am seriellen Monitor ablesen. Wenn man die Scripte von Arduino nimmt, braucht es mehr als 2 Minuten bis die aktuelle Zeit angezeigt wird. Ich benutze diese Arduino dcf77 libraries.
Ergänzung 21.Juli.2013:
Bei dem Programm Timezones fehlt noch die Uhrzeit für Zentraleuropa (Deutschland)
TimeChangeRule rCEST = {"CEST", Last, Sun, Mar, 2, 120};
TimeChangeRule rCET = {"CET", Last, Sun, Oct, 3, 60};
Timezone CE(rCEST, rCET);
Am Ende des Codes muss noch was geändert werden.
time_t LocalTime = CE.toLocal(DCFtime);
Ich stelle den ganzen Code bei github zum Download.
Wenn Du wegen meiner Änderung im Code zu spät zur Schule oder Arbeit kommst, bist du selbst Schuld.
LCD am Arduino zeigt 3 Temperaturen und den Mittelwert
Das LCD hat 2x16 Zeichen
An dem blauen Kästchen können beliebig viele 1-Wire- Sensoren angeschlossen werden.
In der oberen LCD- Zeile wird das arithmetische Mittel der ausgelesenen Temperaturwerte angezeigt.
In der unteren Zeile werden die einzelnen Werte durchrotiert.
Zur Spannungsversorgung und Datenüberttragung nehm ich ein USB-Kabel. Der Arduino erzeugt ein Echtzeit JSON.
Hier gibts meinen Arduinocode zum download. Die Hardware ohne Kästchen.
Die elektr.Leistung meines PCs um
08:00 Uhr am 10.04.2016
ist 9 Watt So gehts Hard- Software
15 Watt ist Standby
155 Watt ist Vollast + Monitor
Tux gibt Tipps
________________
( Sa 9. Apr )
( 23:40:01 CEST )
( 2016 You can )
( contact the )
( Ubuntu Server )
( team on IRC )
( using )
( chat.freenode. )
( net in channel )
( #ubuntu-server )
( . You can also )
( use )
( http://webchat )
( .freenode.net. )
----------------
o
o
.--.
|o_o |
|:_/ |
// \ \
(| | )
/'\_ _/`\
\___)=(___/
Durch einen Doppelklick auf Fachausdrücke , werden diese bei Wikipedia nachgeschlagen. Dieser Service funktioniert nur hier bei Untergang.de Anleitung für webmaster