Inhaltsverzeichnis:

3 einfache ATTiny Weihnachtsgeschenke - Gunook
3 einfache ATTiny Weihnachtsgeschenke - Gunook

Video: 3 einfache ATTiny Weihnachtsgeschenke - Gunook

Video: 3 einfache ATTiny Weihnachtsgeschenke - Gunook
Video: Geschenke einpacken - 3 einfache Varianten und Tricks 🎁🎀 2024, November
Anonim
3 einfache ATTiny Weihnachtsgeschenke
3 einfache ATTiny Weihnachtsgeschenke

Jedes Jahr rollt die Weihnachtszeit herum und ich hänge fest daran, was ich meinen Freunden und meiner Familie geben soll. Die Leute sagen immer, dass es besser ist, das Geschenk selbst zu machen, als es in einem Geschäft zu kaufen, also habe ich dieses Jahr genau das getan. Das erste zeigt einen Namen oder ein Grundbild, wenn es durch die Luft geschwenkt wird, das zweite blendet sanft zwischen zwei weißen LEDs über (es hat auch eine Sicherheitsnadel, um es an Kleidung oder einer Handtasche zu befestigen), und das dritte ist eine Art Stimmungslicht, das scrollt nahtlos zwischen den Farben. Alle kosten weniger als 15 US-Dollar und sind in weniger als einer Stunde einfach zu montieren. Sie können diese Anleitung sowie Teile auch an jemanden verschenken, der sich für das Erlernen von Elektronik interessiert.

Hinweis: Es wird ein grundlegendes Lötniveau vorausgesetzt. Im Gegensatz zu meinem vorherigen instructable werde ich jedoch beschönigen, wie man einen AVR programmiert. Ich hoffe wirklich, dass dies Leuten hilft, die versuchen, in die Elektronik einzusteigen. Ich erinnere mich, als ich dort war und stehe gerne für Fragen zur Verfügung. Denken Sie daran, es gibt keine dummen Fragen! Ich habe es Ihnen überlassen, wie Sie Ihre Leiterplatte auslegen werden, in der Hoffnung, dass Sie eine neue Art der Darstellung der von mir gezeichneten einfachen Schaltungen finden. Bitte posten Sie Bilder, wenn Sie fertig sind, ich kann es kaum erwarten zu sehen, was Sie sich einfallen lassen! Teile für alle Projekte N = Anzahl der Projekte x N ATTiny45 (www.digikey.com) x N 8-polige DIP-Buchse (RadioShack) x 1 großes Perf Board (ich habe meins bei RadioShack) x N 3v Knopfzellenbatterie und Halter (RadioShack) x1 Programmierer (ich benutze dies und das mitgelieferte Makefile wird so konfiguriert, dass es verwendet wird) x2 N Widerstände, einer 10 Ohm und ein 10k Ohm (RadioShack) Hier ein Bild der drei abgeschlossenen Projekte:

Schritt 1: Der Namensflasher

Der Namensflasher
Der Namensflasher
Der Namensflasher
Der Namensflasher
Der Namensflasher
Der Namensflasher

Andere Teile x5 DIFFUSED 3mm LEDs (RadioShack) Dieses Projekt verwendet die Persistenz des Sehens, um ein Bild oder einen Text anzuzeigen, wenn es schnell bewegt wird. Es funktioniert besser, wenn es dunkel ist. Mit dem AVR schalten wir schneller zwischen LEDs um, als das Auge sehen kann, wir können mit sehr wenigen Komponenten ein Bild in der Luft erstellen. Der Code: (Laden Sie die.zip-Datei unten auf der Seite für den Code, das Makefile usw. herunter. (Dieser Code enthält nicht die ausführlichen Kommentare wie dieser Code, aber wenn dieser Code nicht funktioniert, versuchen Sie es mit dem zip-Datei)) #define F_CPU 1000000 #include #include void dispClear() { PORTB = ~0b00000000; } int main() { DDRB = 0xFF; //Für diejenigen unter Ihnen, die noch nie C gelesen haben, weist der doppelte Schrägstrich auf einen Kommentar hin. Dies setzt die Pins des avr als Ausgabezeichen x = 10; //x wird verwendet, um die Verzögerungslänge einzustellen. Erhöhen des Wertes ergibt einen langsameren Wechsel zwischen Pixeln, ein Verkleinern, ein niedrigeres while(1) //While(condition is true); {Tu dies} (Wahr in C ist 1) { PORTB = ~0b00010001; //Der Name meiner Freundin ist Zoe, also habe ich die Zeichen auf Millimeterpapier gezeichnet und sie dann PORTB unterstellt. Die ersten drei Nullen spielen keine Rolle, da nur fünf LEDs angeschlossen sind. Eine Eins in einem der verbleibenden fünf Felder zeigt an, dass die LED an ist, eine Null, aus. _verzögerung_ms(x); // Verzögerung in Millisekunden PORTB = ~ 0b00010011; _verzögerung_ms(x); PORTB = ~0b00010101; _verzögerung_ms(x); PORTB = ~0b00011001; _verzögerung_ms(x); PORTB = ~0b00010001; _verzögerung_ms(x); dispClear(); //Leerzeichen zwischen den Zeichen öffnen _delay_ms(x); PORTB = ~0b00001110; _verzögerung_ms(x); PORTB = ~0b00010001; _verzögerung_ms(x*3); PORTB = ~0b00001110; _verzögerung_ms(x); dispClear(); _verzögerung_ms(x); PORTB = ~0b00011111; _verzögerung_ms(x); PORTB = ~0b00010101; _verzögerung_ms(x); PORTB = ~0b00010001; _verzögerung_ms(x); dispClear(); _verzögerung_ms(x*5); //Das Wort ist aus Gründen der Klarheit so gemacht, dass ich einen größeren Abstand zwischen den Wörtern habe } } Folgen Sie nun den Anweisungen auf Seite 4, um diesen Code zu kompilieren und an Ihren AVR zu senden.

Schritt 2: Das Geldbörsenlicht

Das Taschenlicht
Das Taschenlicht
Das Taschenlicht
Das Taschenlicht

Andere Teile x2 LEDs NON DIFFUSED (RadioShack) Dieses Projekt blendet sanft zwischen zwei LEDs über. Meine Mutter wollte etwas für ihre Handtasche haben, damit ihre Biene nachts gesehen werden kann. Ich hatte das Gefühl, dass ein blinkendes Fahrradlicht zu viel Aufmerksamkeit auf sich ziehen würde, also habe ich das gemacht. Es verwendet PWM (Pulsweitenmodulation), um den Effekt des Dimmens und Aufhellens zu erzielen. Was tatsächlich passiert, ist, dass die LED in unterschiedlichen Abständen schneller blinkt, als das Auge sehen kann, um eine Änderung zu simulieren. Sie können dies deutlicher sehen, wenn Sie es wie mit dem Namensflasher in Ihr Gesicht schwenken. Der Code kann am Ende dieser Seite heruntergeladen werden. Auf Seite 4 erfahren Sie, wie Sie zu Ihrem AVR kompilieren. Anstatt den Code hier zu kommentieren, werde ich das Konzept kurz erläutern. PWM wird von einem Timer erzeugt. Bei jedem Taktzyklus zählt der Timer eins hoch. Wenn es einen bestimmten Wert erreicht (in diesem Fall OCR1B), ändert es den Zustand eines Pins (in diesem Fall OC1B). Um die LEDs zum "Ausschalten" zu bringen, habe ich die andere mit [OPPOSITE] OC1B verdrahtet (das ist, was die Leiste oben bedeutet). Dann verwenden wir x, um die Zeitdauer der LEDs zu erhöhen und zu verringern.

Schritt 3: Der Farbscroller

Der Farbscroller
Der Farbscroller
Der Farbscroller
Der Farbscroller

Andere Teilex1 RGB LED (diffuse ist besser) (RadioShack) Das ist für mich ein Klassiker. Ich war schon immer von solchen Lichtern fasziniert und finde sie sehr beruhigend, also wollte ich natürlich eine machen. Auch ihre Sichtbarkeit in der Gesellschaft verleiht ihnen einen echten WOW-Faktor. "Du hast das GEMACHT?!" Der Code ist fast der gleiche und meiner Meinung nach einfacher zu lesen. Sie können die unten herunterladen. Dieses Mal stellen wir für jeden Erdungsstift der RGB-LED einen PWM-Pin zur Verfügung. Auf diese Weise haben wir den Chip durchgeschliffen. Volt kann als Differenz zwischen zwei Punkten gemessen werden. 3v-0v=3v 5v-2v=3v ***3v-3v=0v*** Diese letzte Instanz machen wir, wenn wir den Chip durchschleifen. Wenn auf beiden Seiten beispielsweise drei Volt anliegen, reicht die Spannung nicht aus, um eine LED zu betreiben. Um zwischen den Farben zu verblassen, wählten wir eine Farbe und eine andere Farbe. Setzen Sie einen gleich x und den anderen gleich 255-x oder die INVERSE von x. Wie beim vorherigen Projekt. Gehen Sie nun zu Schritt 4, um zu programmieren.

Schritt 4: Programmierung

Programmierung
Programmierung

Laden Sie zuerst Emacs, avr-gcc und Avrdude und alle Abhängigkeiten herunter und installieren Sie sie. Unter Arch Linux habe ich dies getan mit: sudo pacman -Sy emacs avrdude

Jetzt ist es an der Zeit, Ihren Programmierer mit Ihrem avr zu verbinden. Verdrahten Sie die Pins des 6-Pin-ISP-Programmierers (Bild unten) mit den entsprechenden Pins Ihres AVR (Datenblatt, Seite 2) (ich habe dies auf einem Steckbrett gemacht). Schließen Sie nun den Programmierer an Ihren Computer an und berühren Sie SEHR SCHNELL die Oberseite des AVR. Wenn es heiß ist, ENTFERNEN SIE DEN PROGRAMMIERER VON IHREM COMPUTER SOFORT Überprüfen Sie Ihre Verbindungen und versuchen Sie es erneut (Strom und Masse rückwärts?). Wenn es nicht heiß ist, öffnen Sie emacs und drücken Sie Strg-x Strg-f, um die.c-Datei zu finden. Öffnen Sie es und drücken Sie dann Meta (normalerweise Alt)-x und geben Sie compilieren ein. Drücken Sie zweimal die Eingabetaste und wenn Sie Glück haben, sollte Ihr AVR jetzt Ihren Code ausführen! Danke fürs Lesen! Ich hoffe es hat dir gefallen und du hast etwas gelernt. Bitte zögern Sie nicht, Fragen zu stellen und vergessen Sie nicht, Bilder von dem zu posten, was Ihnen einfällt. Schöne Feiertage und nicht vergessen abzustimmen!

Empfohlen: