Schlagwort-Archive: AVR

Aktuelle Wetterdaten aus Saffig und Solarstatistiken hinzugefügt

Sowohl hier als auch auf 56648.de sind in der Rechten Spalte nun Wetter- und Solardaten meiner Sensoren verfügbar. Als Temperaturwerte gibt es in der Übersicht die aktuelle Temperatur sowie Tagesmaximum, -minimum und der -durchschnitt. Bei den Solarwerten gibts den aktuellen Ertrag, Tagespeak und den heutigen Ertrag samt der daraus ermittelten Sonnenstunden. Mit einem Klick auf die Überschriften lassen sich weitere Statistiken auf der Wetterseite sowie der Solarseite finden. Für beide Systeme liegt hier noch eine Kiste mit Sensoren, wird also irgendwann noch ausgebaut.

Technisch werden die Daten über einen 1Wire-Converter für Temperaturen bzw. den bereits vorgestellten USB-Solar-Adapter an meinen Homeserver übertragen und dort für interne Verwendung über das Volkszähler-Projekt in einer MySQL-Datenbank zwischengelagert. Für die externen Statistikseiten laufen kleine PHP-Scripte welche die Daten aus der DB ohne Umwege aufarbeiten.

BitBastelei #17 – Solarmonitoring mit dem Volkszähler

BitBastelei #17 - Solarmonitoring mit dem Volkszähler

(77 MB) 00:05:29

2012-07-22 19:46 🛈

Software:

Hardware:

3€ AVR-Board im Test

Ein ATMega für 3€? Nichts neues, aber dank Steffen Vogel bin ich auf einen chinesischer Händler gestoßen, welcher für diesen Preis derzeit einen kompletten AVR-Programmierer auf Basis des USBasp anbietet. Mit an Board sind neben einem ATMega8A auch ein 12MHz Quarz, ein V-USB-Kompatibler USB-Port, 2 LEDs, ein Jumper und ein 3,3V Spannungsregler (AMS1117, 800mA). Zudem befinden sich auf dem 10-Pin Programmer-Port neben dem üblichen SPI auch die RS232-Pins des Atmel-Controllers, ein passendes Flachbandkabel ist ebenfalls im Lieferumfang. Viel Technik für wenig Geld, oder? Ein erster Blick zeigt: Das Board kommt nicht gerade in Vorzeigequalität, ab und an ist mal eines der SMD-Bauteile etwas schief, aber dennoch funktionierten alle Boards einwandfrei. Bei den Bauteilen hat man ebenfalls gespart: Die LEDs sind im Gegensatz zum zweifarbigen Original beide Rot, 2 der 3 im original vorgesehenen Jumper sind nicht bestückt. Die Controller sind – wie der Produkttitel es vermuten lässt – mit der Programmiersoftware des USBasp-Projektes versehen, wenn auch nicht in der aktuellen Version.

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/IMG_8440-150×150.jpgBild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/IMG_8441-150×150.jpg

Also – wenn ich schon einen haufen Programmieradapter habe programmieren wir auch mal etwas: Mit einem Drahtstück wird der nicht bestückte J2 eines Boards überbrückt – hiermit wird dieser in den „Self-Programming“-Modus geschaltet und kann so über die ISP-Schnittstelle mit neuer Firmware versorgt werden. Über eins der mitgelieferten Kabel wird das neue Ziel nun mit einem anderen Programmer verbunden. Steht bei beiden J1 auf 5V Target (wie ausgeliefert) wird das Ziel über den Programmer mit Strom versorgt. Die aktuellen avrdude-Versionen erkennen den Programmer ohne Probleme und versorgen das Ziel mit der neuen Firmware. Im ersten Versuch wurde ein Programmer mit der neuen Firmware des USBasp versorgt – und unterstützt nun auch die neuen Funktionen.

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/IMG_8421-150×150.jpgBild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/IMG_8422-150×150.jpg

Ein Zweites Board durfte sich mit den Demo-Codes des V-USB-Projektes begnügen, namentlich der HID-Maus-Demo. Das Makefile muss auf den Atmega8 angepasst werden, in der usbconfig.h muss der IOPORT auf B, Minus auf 0 und Plus auf 1 geändert werden. Bekommt man den Code dann noch kompiliert (neuere Compiler stören sich etwas an veralteten Definitionen im V-USB-Code) kann man den Stick dann problemlos verwenden um Arbeitskollegen zu verwirren.

Im nächsten Schritt soll einer dieser Sticks dann den etwas teureren und eher provisorisch angeflanschten Arduino als Stromzähler ersetzen, welcher derzeit die im letzten Post genannten Auswertsysteme versorgt. Die Timer laufen schon, nur das mit den USB-„Interrupts“ zum spontanen senden von Daten via V-USB produziert derzeit noch abstürze – muss ich wohl noch etwas nacharbeiten…

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/IMG_8408-150×150.jpg

BitBastelei #11 – RGB-CTL – RGB-LEDs mit dem ATTiny25

BitBastelei #11 - RGB-CTL - RGB-LEDs mit dem ATTiny25

(154 MB) 00:16:49

2011-10-28 15:38 🛈

Entwurf & Aufbau eines RGB-LED-Controllers mit ATTiny25

Links:
LED: http://www.dealextreme.com/p/4530?r=38871381
Moodlamp-Projekt CCC München: http://wiki.muc.ccc.de/moodlamp_30
Elektronik-Kompendium – Stromreglerdiode: http://www.elektronik-kompendium.de/public/schaerer/curr2pol.htm
USI TWI Slave: http://www.jtronics.de/elektronik-avr/lib-i2c/twi-mit-usi-interface
Soft-PWM: http://www.mikrocontroller.net/articles/Soft-PWM
I²C @ Wikipedia: http://de.wikipedia.org/wiki/I%C2%B2C
Software/Hardware: https://github.com/adlerweb/RGB-CTL
Bauteilliste: https://secure.reichelt.de/index.html?;ACTION=20;LA=5010;AWKID=492057;PROVID=2084

BitBastelei #6: Kinderspielzeug-Hacking – USB-Anschluss für Burgerking-Lampe

BitBastelei #6: Kinderspielzeug-Hacking - USB-Anschluss für Burgerking-Lampe

(60 MB) 00:08:49

2011-03-26 04:29 🛈

Was macht man, wenn man als Bastler Kinderspielzeug geschenkt bekommt? Zerlegen und Verbessern! Nun hat der kleine Burgerking-Anstecker mit LED einen USB-Anschluss und kann z.B. neue Mails anzeigen!

Ergänzende Hinweise:
Die gezeigte Schaltung arbeitet mit 5V auf den Daten-Pins – dies entspricht nicht dem Standard und funktioniert eventuell nicht überall. Ggf. kann man wie hier unter B beschrieben Zener-Dioden zwischen Datenleitung und GND schalten.

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2011/03/bk-usb-150×150.png

Die Software gibt es unter https://adlerweb.info/files/avr/bk-led/bk-led.tar.bz2 – wie bereits im Video erwähnt handelt es sich im Prinzip nur um das „hid-custom-rq“-Beispiel des Herstellers. Die Original-Lib gibts auf http://www.obdev.at/vusb/

BitBastelei #5: Stromverbrauch am PC darstellen

BitBastelei #5: Stromverbrauch am PC darstellen

(13 MB) 00:09:06

2010-12-17 13:28 🛈

Korrekturen:

  • Wenn man auf der Volkszaehler-Seite statt Wiki die Folien bemüht findet man Dokumentation
  • Zur Ergänzug, da ich nur das Tagesdiagramm gezeigt hatte: Natürlich habe ich auch einen „Live“-Modus, bei meinem Zäher erhalte ich ca. alle 2-3 Sekunden einen neuen Wert

Links zum Thema:

Effiziente Festspannung

[2009/09/20] Es gibt viele möglichkeiten eine Festspannung zu erzeugen, bei den Werten denke ich aber, dass ich ab sofort die auf die paar Cent die 78xx weniger kosten verzichte…

Testbedingung:

Vin: 13.4V
Vout: 5V, 500mA

78S05                   0.40A
34063A StepDown         0.22A

Schieberegister (74HC***) an ATMega8

[2008/12/02] Da im Netz nicht viel auf Anhieb zu finden ist hier ein kleiner Code zur Ansteuerung eines – sollte recht portabel sein:

#include <avr/io.h>

#define SHIFT_PORT     PORTB
#define SHIFT_PORT_DDR DDRB
#define SHIFT_DATA     PINB0
#define SHIFT_SCK      PINB1
#define SHIFT_OUT      PINB2

void shift_out(int);

int main(void) {
	SHIFT_PORT_DDR |= (1<<SHIFT_DATA) | (1<<SHIFT_SCK) | (1<<SHIFT_OUT);
	shift_out( 0xAA );

	while (1) {
	}
}

void shift_out (int num) {
	for(int i=1; i<=128; i*=2) {
		if(num & i) {
			SHIFT_PORT |= (1 << SHIFT_DATA);
		} else {
			SHIFT_PORT &= ~(1 << SHIFT_DATA);
		}
		//clock
		SHIFT_PORT |=  (1 << SHIFT_SCK);
		SHIFT_PORT &= ~(1 << SHIFT_SCK);
	}

	//move to the pins
	SHIFT_PORT |=  (1 << SHIFT_OUT);
	SHIFT_PORT &= ~(1 << SHIFT_OUT);
}

GCalcTool Todesoptimierungen

Neue Funktionen finde ich generell immer ganz toll: Neue Funktionen und weniger Sicherheitslücken kommen üblicherweise recht zügig auf meine Systeme. Große Bauchschmerzen bekomme ich allerdings, wenn an der UI geschraubt wird. Zwar ist gegen Verbesserungen der Benutzerschnittstelle nichts auszusetzen, in letzter Zeit beschränken sich die Änderungen aber meist auf ein Thema: DAU-Freundlichkeit um jeden Preis. Da wird auch schon mal ein Funktionsverlust in Kauf genommen. Ein schönes Beispiel bietet jüngst der Gnome-Taschenrechner aka. gcalctool, welcher vor kurzem eine „Schönheitskur“ verordnet bekam.

Der erste Blick geht auf den Programmierer-Modus der 5.28.x-Serie, welche die alte Funktion schön zeigt:

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2010/07/gcalctool11-267×300.png

Interessant ist für mich vor allem der obere Bereich: Ähnlich meines Hardware-Taschenrechners kann ich direkt unter dem Eingabefeld das Zahlensystem zwischen Binär, Oktal, Dezimal und Hexadezimal welchseln. Die aktuellen Zahlen werden automatisch in die entsprechende Anzeige umgewandelt. Wenn man z.B. mit Hexadezimalen Messwerten eines µC in Kombination mit dezimalen Vergleichswerten arbeitet eine unschlagbare Kombination. Der Vorteil, dann man die Werte direkt in den Rechner kopieren kann und nicht abtippen muss versteht sich ja von selbst.

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2010/07/gcalctool2-300×229.png

Beim ersten Start einer 5.30.x traute ich meinen Augen nicht: Ein Bug muss sich in meinen Build eingeschlichen haben: Das Eingabefeld ist überdimensional groß, die Wahl zwischen den Zahlensystemen verschwunden, Buttons haben eine seltsame Beschriftung. 2 Rekompilierungen und einige Web-Suchen später die Ernüchterung: It’s not a bug, it’s a feature! Die sichtbare und trotz Ausdünnung sichtbar gequetschte Objektanordnung soll das neue Design des Gnome-Rechners darstellen. Die Zahlensysteme lassen sich nun im Menü umstellen. SRSLY? Die BIN/OCT/DEZ/HEX-Umrechnung aus der PROGRAMMIERERANSICHT eines Taschenrechners schmeißen und im Menü verstecken? Das sind 500% der ursprünglich nötigen Klicks! Ich geh mich jetzt noch ne Runde aufregen und werd dann die alte Version nochmal für alle meine Systeme kompilieren *gnah*

Ordnung im Wirrwarr

Basteln ist zwar schön, aber wenn ein System über Jahre wächst ist das Chaos irgendwann eher hinderlich als gesund, entsprechend musste jetzt meine Signalverteilung samt 1Wire-Converter und Eingabeverarbeitung eine Umstellung vom Kabelkneul zur LSA-Leiste mitmachen:

Vorher:

2071820733

Nachher:

2072320738

Wenn denn alles so funktioniert wie ich mir das Vorstelle folgt morgen dann noch die Platine mit dem Brandmeldesystem, dir wurde komplett neu erstellt und kann im Gegensatz zum jetzigen System nicht nur die Rauchmelder mit Strom/Notstrom versorgen sonder auch den Alarm Abfangen, den Strom in betroffenen Bereichen teilweise abschalten und den Alarm sowohl hausintern als auch per Mail/SMS/… weiterleiten.