Home > Technologie > Nächtliche Emissionen: My Arduino Powered Internet aktiviert Dream Generator

Nächtliche Emissionen: My Arduino Powered Internet aktiviert Dream Generator

0
Advertisement

Nächtliche Emissionen: My Arduino Powered Internet aktiviert Dream Generator

Nächtliche Emissionen: My Arduino Powered Internet aktiviert Dream Generator

Nächtliche Emissionen: My Arduino Powered Internet aktiviert Dream Generator

Wir alle müssen mehr träumen, damit ich diese Arduino Powered "Traum-Generator" zu helfen Pflanze die Samen für einige große denken Verrücktheit erstellt haben. Wenn Sie sich dem Generator nähern, löst ein Maxbotix-Ultraschallsensor Lichter und Musik aus, die Sie hereinziehen, so dass Sie in die blaue LED, die die Unendlichkeit der Box umhüllen kann, starren. Drücken Sie die pulsierende blaue Taste und ein Thermo-Quittungsdrucker generiert Ihren Traum, der von Allan Ginsbergs Gedicht Howl Part 1 und den Twitternetzwerken der NY Times und des Popstars Taylor Swift gepeitscht wird. Die Nebeneinanderstellung dieser drei Elemente ist entworfen, um Ihre eigene frei-assoziierende amygdala angetriebene Traummaschine zu stimulieren, also können Sie papa Descartes stolz auf Ihre Suche nach absoluter Traumvormacht machen!

Schritt 1: Die Basiskomponenten

Nächtliche Emissionen: My Arduino Powered Internet aktiviert Dream Generator

Mein Traum-Generator enthält eine Menge von separaten Komponenten und sie zusammen zu arbeiten ist eine Herausforderung. Hier ist eine Liste von Wäsche was es bringt.

Es gibt eine MaxBotix LV-EZ1 Ultraschall - Näherungssensor. Http://www.adafruit.com/products/172 Sie waren kein Scherz. Es ist ganz einfach. Es hat 7 Haken bis Löcher, aber Sie brauchen nur wirklich drei von ihnen, wenn Sie PWM verwenden wollen, die ein wenig genauer als Analog zu sein scheint. Es dauert eine PWM-Pin auf Ihrem Arduino aber so dass könnte ein Faktor in Ihrem Projekt.

Es hat eine Reihe von awesome blaue LEDs von SuperBright LEDs. Sie laufen auf 12 Volt, die einige Powering-Komplikationen, die ich später erklären erstellt.

Es gibt eine Musik-Box, die meine eigene benutzerdefinierte Lied spielt. Die LEDs und die Musikbox werden von einer nahenden Person (oder einem Haustier, die sie auch träumen können) aktiviert, wenn der Sensor eine vorbestimmte Näherungsmessung erhält.

Es gibt einen kühlen blauen pulsierenden Knopf, der Traumgeneration aktiviert. (Und geschieht wasserdicht zu sein.) Http://www.adafruit.com/products/481 (Seien Sie vorsichtig , wenn diese Bestellung , weil es ein mit einem identischen Bild ist , das ein auf ist / Aus - Schalter.) Für unsere Zwecke wollten wir eine , die wirkt Als Drucktaste.

Es gibt einen Thermo - Belegdrucker, der die Träume druckt. Http://www.adafruit.com/products/600

Und schließlich gibt es ein Ethernet aktiviert Arduino. (Sie könnten auch eine regelmäßige Arduino und ein Ethernet-Schild.)

So geht das alles so zusammen. Sie sind der Box wegen der blauen pulsierenden Taste angezogen. Wie Sie die ganze Sache nähern sich leuchtet und geheimnisvolle Musik beginnt zu spielen. Sie betätigen den Knopf, um den Traumgenerator zu aktivieren, und er geht heraus zum Internet und vermarktet herauf relevante (oder irrelevante) Internetfutter wie twitter Zufuhren, Schlagzeilen, facebook Status usw. und zerlegt sie oben durch den Filter des ikonenhaften Beat Dichter Allan Ginsbergs Unterschrift Howl and voila! Sie haben das Internet zu Ihrem Freund anstelle eines Geistes betäubenden Kavalkade von Nicht-Sequenzern gedreht.

Schritt 2: Erste Sachen zuerst

Nächtliche Emissionen: My Arduino Powered Internet aktiviert Dream Generator

Es gab viele Komponenten für dieses Projekt, so baute ich sie ein zu einer Zeit, beginnend mit dem Maxbotix Sensor.

Trotz der 7 Pin Löcher gibt es wirklich nur 4 Pins, die Sie interessieren. Power Ground Analog und PWM. Verbinden Sie Power zu 5v auf dem arduino, Masse zu gnd und (ignorieren Sie analoge für jetzt) ​​schließen Sie PWM an Stift 9 auf Ihrem Internet an, das Arduino aktiviert ist. (Das ist einer der PWM-Pins.)

Ich begann von diesem Tutorial mit dem Code aus http://playground.arduino.cc/Main/MaxSonar .

Dort finden Sie Code für Analog, Digital und eine Version, die mehrere Messwerte durchläuft, um die Ergebnisse zu glätten. Es gibt auch eine Maxbotix-Bibliothek von Github zur Verfügung, aber soweit ich kann sagen, keine dieser Skizzen aktiviert, dass die Bibliothek, so dass ich glaube nicht, dass es notwendig ist.

Ich habe die PWM-Skizze geladen und die Pin-Nummer von 7 auf 9 geändert.

Hochgeladen in die Arduino und nach dem Öffnen der seriellen Monitor konnte sehen, dass ich las Nähe Nähe!

Schritt 3: Jetzt schalten wir die Lichter!

Nächtliche Emissionen: My Arduino Powered Internet aktiviert Dream Generator

Nächtliche Emissionen: My Arduino Powered Internet aktiviert Dream Generator

Mit dem Maxbotix generieren Messungen in Zoll ich einen Transistor, um die Macht der Lichter und Musik zu aktivieren. Ich habe einen Tip 120 NPN-Transistor an Pin 7 angeschlossen. Der Transistor wirkt wie ein Schalter und wenn Pin 7 hoch geht, öffnet es den Stromkreis, indem es die Stromzufuhr zum Boden von Motor und Lampen ermöglicht. Ich erklärte Pin 8 zu einem Ausgang namens Musik und schuf ein kurzes Stück Code, um die Sensorwerte zu überprüfen und Pin 8 hoch zu senden, wenn die Sensorablesung weniger als 5 Zoll war. (Ich änderte es letztlich zu einer größeren Zahl, aber zum Testen hielt mein Aktivierungsbereich kompakt.)

Ein Motor erzeugt einen Rückfluss von Elektrizität, wenn das Magnetfeld der Rotoren zusammenbricht und dieser Stoß könnte Ihren Transistor und möglicherweise Ihren Arduino beschädigen, so dass es SEHR wichtig ist, diese Diode parallel zu Ihrer Schaltung einzuschließen. Ich erhielt dieses Diagramm von, wie es oben von Bildr angespannt ist und ich löschte die Lichter und den Motor weg von dem gleichen Tip 120 Stromkreis.

Irgendwann habe ich beschlossen, ich wollte den Motor bei 5v laufen und Lichter sollen bei 12 laufen, damit ich es alle bis auf 12V und setzen Sie einen 5V Spannungsregler in den Stromkreis für den Motor, aber es wurde viel zu heiß, so dass ich die Schienen geteilt Auf meinem Steckbrett und enthalten zwei separate Netzteile, eine bei 12v für die Lichter und eine bei 5v für alles andere und dann alles schien glücklich.

Schritt 4: Sie benötigen eine pulsierende blaue Taste.

Nächtliche Emissionen: My Arduino Powered Internet aktiviert Dream Generator

Nächtliche Emissionen: My Arduino Powered Internet aktiviert Dream Generator

Die pulsierende blaue Taste ist eine wirklich hochwertige Chrom-Gerät mit einem blauen LED-Ring. (Es kommt in andere Farben auch.) Klassisch und nobel sicher. Es ist ein wenig auf den ersten Blick verwirrend , weil es 5 Stecker Pole hat , aber es ist eine wirklich einfache Erklärung bei http://www.adafruit.com/products/481 in der Produktbeschreibung.

Grundsätzlich ist es nur eine Standard-LED (mit einem eingebauten Widerstand, der die Verbindung vereinfacht!) Kombiniert mit einem Schalter, der verdrahtet werden kann, um entweder offen oder geschlossen zu sein.

Die beiden äußeren Pins sind für die LED, so dass ich hakte sie zuerst. Nur eine Masse Pin und ein PWM-Pin auf der arduino Ursache Ich wollte es Puls. Ich habe Pin 3 Verbindung der positiven Leitung zu.

Ich vergesse immer die Orientierung der LEDs (obwohl es leicht zu merken, die lange Pin ist positiv), aber hier ist eine gute instrustruable mit einfachen Umriss http: //www.instructables.com/id/Identifying-LED-pi ...

Sobald es angeschlossen wurde, erhielt ich die grundlegende Fadeskizze, die in den Arduino-Beispielen kommt, modifizierte die Pinzahl von 9 zu 3 und fummelte dann mit der Verzögerung, die schließlich auf 50 für eine passend hypnotisierende hypnotische Kadenz zum Durchfluss des Pulses absetzte.

Schritt 5: Jetzt für den Drucker

Nächtliche Emissionen: My Arduino Powered Internet aktiviert Dream Generator

Der thermische Quittungsdrucker läuft auf 5v und hat die komplizierteste Einstellung von allen. Mein Anschluss war weiter durch die Tatsache kompliziert, dass mein Drucker die Drahtfarben vertauschte, die von Grünem zu Gelb waren, also konnte ich es nicht erhalten, um sofort zu arbeiten, weil beide Tutorials, die ich an benutzter Drahtfarbe als die Anleitunganweisung betrachtete, während sie wirklich betrachteten Sollte TX und RX verwendet haben, die für Sende und Empfang stehen. Die Tutorials sind gut, aber einmal dies war gerade begradigt, aber bewusst sein, dass die Drahtfarben könnte ausgeschaltet werden.

Es gibt eine Menge Tutorials zur Verfügung. . .

Http://learn.adafruit.com/mini-thermal-receipt-printer/overview

Http://tronixstuff.com/2011/07/08/tutorial-arduino-and-a-thermal-printer/

Mein Favorit war dieser auf Bildr

Http://bildr.org/2011/08/thermal-printer-arduino/

Es bietet Links zu den Bibliotheken, die Sie benötigen, um auf Github zu bekommen und Sie müssen diese in Ihre Arduino IDE laden, bevor Sie es verwenden können, aber am Ende ist es sehr einfach, um Ihren Drucker zu drucken, um Dinge mit einfachen Befehlen, die Teil von sind Die Thermalbibliothek.

Schritt 6: Wir unterbrechen dieses Programm!

Nächtliche Emissionen: My Arduino Powered Internet aktiviert Dream Generator

Eines der heikelsten Dinge, die ich für dieses Projekt lernen musste, war alles über Interrupts. Ein Interrupt ist ein Prozess, der parallel im Hintergrund laufen kann, während Ihre Skizze sich um andere Dinge kümmert. Ich konnte nicht den Knopf erhalten, um den Drucker zu aktivieren, und ich entschied, dass es war, weil mit dem Maxbotix Sensor, der die ganze Zeit abfragt, und die Musik und die Lichter, zum dort zu zuzulassen, zu viel geschah. Eine Taste drücken ist eine perfekte Sache für einen Interrupt vor allem, weil es nicht so oft passiert. Ich habe es so beschrieben. Ihre Klingel ist kaputt und Sie erwarten eine wichtige Sendung von rechtem Winkel Header für Ihre endgültige Projekt, das nächste Woche. Sie sind hektisch schreiben Ihre instructable für Making Studio und Sie wollen nicht alle Minute oder zwei zu stoppen, um zu sehen, wenn die Lieferung Kerl hat das Paket fallen gelassen. So mieten Sie eine Aufgabe Kaninchen an Ihrer Tür stehen und warnen Sie, wenn das Paket ankommt. Das ist wie ein Interrupt! Ihr Code verstopft weg, während der Interrupt arbeitet parallel ohne Unterbrechung Ihres Codes, bis es einige wichtige Informationen hat.

Sie scheinen kompliziert und es ist mehr so ​​durch die Tatsache, dass es eine Menge Informationen über diese Arduino implementiert Interrupts, die nur scheinen, auf Pins 1 und 2 funktionieren. Ich habe gelernt, über ein tiefer Ebene Interrupt namens AVR Interrupt, die unabhängig von Pin funktionieren kann Nummer. Sie scheinen kompliziert, weil sie in einem Low-Level-Code, die nur sieht aus wie gobbldygook geschrieben, aber ich fand den Code hier in der Adafruit Wave Shield Beispiele.

Sie beginnen mit "einschließlich" AVR am Anfang Ihrer Skizze

#include <avr / pgmspace.h> // so können wir mit AVR-Code programmieren

Dann aktivieren Sie den Interrupt wie folgt. . .

// AVR-Interrupt initialisieren
TCCR2A = 0;
TCCR2B = 1 << CS22 | 1 << CS21 | 1 << CS20;

// Timer2 Überlaufalarmfreigabe
TIMSK2 | = 1 << TOIE2;

(Ich weiß es schon gut?)

Dann erkennen Sie eine vom Interrupt aktivierte Funktion

// den Interrupt, der parallel zur Loop-Funktion läuft und die Funktion check_button () aufruft

SIGNAL (TIMER2_OVF_vect) {
Check_button ();
aufrechtzuerhalten.

Dann programmieren Sie die Funktion

aufrechtzuerhalten.

Void check_button () {

ButtonState = digitalRead (buttonPin);

If (buttonState == HIGH && previousButtonState == LOW) {
ButtonPressed = 1; // Verwenden Sie diese globale Variable, um die Schleifenfunktion anzuzeigen, die die Taste gedrückt wird
PreviousButtonState = HIGH; // setze den previou button status auf den aktuellen button state
aufrechtzuerhalten.

If (buttonState == LOW) {
ButtonPressed = 0; // die Schleifenfunktion mitteilen, dass die Taste nicht gedrückt wird
PreviousButtonState = LOW; // Setzt den vorherigen ButtonState auf den aktuellen Button-Status
aufrechtzuerhalten.

aufrechtzuerhalten.

Nun, wenn der Interrupt sieht, dass die Taste gedrückt wurde, schaltet es die Musik und leuchtet auf!

Schritt 7: Lichter! . . . Sensor! . . . Aktion!

Nächtliche Emissionen: My Arduino Powered Internet aktiviert Dream Generator

Ich lief in eine Menge Probleme immer das Internet Teil dieses Systems zu arbeiten. Ich begann mit dem Adafruit Internet der Dinge Drucker Tutorial.

Http://learn.adafruit.com/internet-of-things-printer

Es lehrt Sie eine Menge nützliches Zeug wie, wie Sie ein Twitter-API-Konto, das Ihren Arduino Zugriff auf die Twittersphere ermöglicht. Es gibt auch eine Menge von ausgezeichneten Tutorials auf Scraping-Sites für nützliche Informationen.

Ich lese über Parsing HTML

Http://www.whatwg.org/specs/web-apps/current-work/multipage/parsing.html

Lesen Sie über Reguläre Ausdrücke (Regex)

Http://www.regular-expressions.info/quickstart.html

Textfindung mit Arduino

Http://playground.arduino.cc/Code/TextFinder

Senden von Textdateien mit Arduino

Http://stackoverflow.com/questions/10220918/how-to-send-a-text-file-and-append-it-using-arduino

Und ein cooles Internet aktiviert musikalische Glocke System.

Http://stream.tellart.com/2011/02/13/bells/

Eindeutig verbindet meine Drucker aktiviert Box mit dem Internet wird sich öffnen eine unglaubliche Welt der Mashup Spaß.

Zur Zeit bin ich mit der Hand Code die Träume nach der Durchführung von zufälligen Suchanfragen im Internet. Kommen Sie bald wieder und Sie werden sehen, wie Ihre Internet-Albträume können durch den erbaulichen Filter von Beat Poet Allan Ginsberg verwandelt werden!

Related Reading