Wie eine virtuelle Taste mit dem Arduino zu machen

Sie erfahren, wie ein On-Screen-Taste in Verarbeitung zu machen, die eine physische LED auf dem Arduino auswirkt. Dies ist eine große Skizze mit Interaktionen zwischen Computern und der realen Welt, und zwischen einem Arduino und Verarbeitung zu beginnen.

Du brauchst:

  • Ein Arduino Uno

  • eine LED-

Der Aufbau ist einfach für diese Einführung in die Arduino und Verarbeitung und erfordert nur eine einzige LED.

bild0.jpg

Legen Sie die langen Schenkel der LED in Stift 13 und dem kurzen Schenkel in GND. Wenn Sie nicht über eine LED haben, können Sie einfach die Onboard-LED-Monitor L. markiert

image1.jpg

Wie die Arduino-Code einzurichten

Nach Ihrer Schaltung montiert ist, müssen Sie die entsprechende Software zu benutzen. Aus dem Arduino-Menü Datei-Beispiele-04.Communication-PhysicalPixel wählen Sie die Skizze zu finden.

Diese Skizze enthält sowohl Arduino-Code und der entsprechenden Verarbeitungscode für die Skizze zu arbeiten (es hat auch eine Variation in Max 5). Der Code unter dem Arduino-Code wird auf Kommentar mit dem Arduino-Code nicht zu stören.

In älteren Versionen von Arduino, beendet die Skizze Dateien mit .pde, das ist die Verarbeitung Suffix. Dies führte zu Verwirrung, so dass nun der Arduino-Suffix .Ino. Verschiedene Endungen machen es möglich, die Arduino Skizze und die Verarbeitung Skizze an der gleichen Stelle zu haben.

/ * Physical Pixelan Beispiel das Arduino-Board von unter Verwendung von Daten aus thecomputer zu empfangen. In diesem Fall dreht sich die Arduino-Boards auf einer LED whenit das Zeichen 'H' erhält, und schaltet die LED, wenn itreceives das Zeichen 'Daten L'.Das kann aus dem Arduino seriellen Monitor oder anotherprogram wie Verarbeitung gesendet werden (siehe Code unten), Flash (über eine serielle-netproxy), PD, oder Max / MSP.The Schaltung: * LED aus der digitalen Stift 13 verbunden 2006by David A. Mellismodified 30. August 2011by Tom Igoe und Scott FitzgeraldThis Beispielcode in der Öffentlichkeit zu groundcreated domain.http: //arduino.cc/en/Tutorial/PhysicalPixel*/const int ledPin = 13- // der Stift, dass die LED angebracht istint incomingByte- // eine Variable eingehenden seriellen Daten intovoid Setup zu lesen () {// serielle Kommunikation initialisieren: Serial.begin (9600) - // initialisieren die LED-Pin als Ausgang: pinMode (ledPin, OUTPUT) -} void loop ( ) {// sehen, ob es eingehende serielle Daten: if (Serial.available ()> 0) {// das älteste Byte im seriellen Puffer lesen: incomingByte = Serial.read() - // Wenn es ein Kapital H (ASCII 72), schalten Sie die LED:ob (IncomingByte == 'H') {Digital (ledPin, HIGH) -} // wenn es sich um eine L (ASCII 76) schalten Sie die LED ist:ob (IncomingByte == 'L') {Digital (ledPin, LOW) -}}}

Nun gehen Sie durch die einzelnen Schritte Ihre Skizze zu laden.

Mit dem Arduino eine Nachricht von der Verarbeitung erhalten einzurichten, müssen Sie die Verarbeitung Skizze einzurichten, um Ihre Arduino eine Signalmeldung über die gleiche serielle Schnittstelle zu senden.

Wie wird die Verarbeitung Code einrichten

Dieser Code ist in mehrzeiligen Kommentarmarkierungen vorhanden (/ * * /) Am unteren Rand der Skizze Arduino PhysicalPixel. Kopieren Sie den Code innerhalb der Kommentarmarkierungen, fügen Sie ihn in eine neue Verarbeitungs Skizze, und speichern Sie sie mit einem geeigneten Namen, wie PhysicalPixel.

 // Mouseover-Serien // Demonstriert, wie Daten an das Arduino I / O-Karte zu schicken, um wiederum auf einem Licht auf // wenn die Maus über ein Quadrat ist und schalten Sie ihn aus // wenn die Maus not.// erstellt 2003-4 // basierend auf Beispiele von Casey Reas und Hernando Barragan // geändert 30. Aug 2011 // von Tom Igoe // Dieses Beispiel-Code in der public Domain.Import processing.serial *. -schweben boxX-schweben boxY-int boxsize = 20-boolean mouseOverBox = falsch-Serielle Schnittstelle leeren setup () {Größe(200, 200) -boxX = Breite/2.0-boxY = Höhe/2.0-rectMode(RADIUS)-// Liste alle verfügbaren seriellen Schnittstellen in der Ausgabe pane.// Sie müssen den Anschluss zu wählen, die das Arduino-Board // zu dieser Liste verbunden ist. Der erste Port in der Liste // Port # 0 und der dritte Port in der Liste ist der Port # 2.println(Serial.Liste()) - // Den Port öffnen, die das Arduino-Board verbunden ist (in diesem Fall # 0) // Stellen Sie sicher, den Port mit der gleichen Geschwindigkeit zu öffnen Arduino verwendet (9600 bps) port = neu Seriell (Dies, Serien.Liste() [0], 9600) -} void draw () {background (0) - // Testen Sie, ob sich der Cursor über der Boxob (mouseX > BOXX-boxsize mouseX lt; BOXX + boxsize mouseY > Boxy-boxsize mouseY lt; Boxy + boxsize) {mouseOverBox = wahr-// Zeichnen eine Linie um die Box und seine Farbe ändern:Schlaganfall(255) -füllen(153) - // ein 'H' senden Maus, um anzuzeigen, über Quadrat ist: port.write ('H') -} Else {// die Box zurückkehren, um es inaktiven Zustand ist:Schlaganfall(153) -füllen(153) - // ein 'L' senden, um die LED auszuschalten: port.write ('L') -mouseOverBox = falsch-} Das Feld // zeichnerect(Boxx, Boxy, boxsize, boxsize) -}

Klicken Sie auf die Schaltfläche Ausführen der Verarbeitung Skizze auszuführen, und ein Applet erscheint. Das Applet zeigt einen schwarzen Hintergrund mit einem grauen Quadrat in der Mitte, was die virtuelle Taste. Wenn Sie die Maus über das graue Quadrat (oder Pixel) bewegen, können Sie sehen, dass seine Kanten weiß.

Wenn Sie dann an Ihrem Arduino betrachten, sehen Sie, dass, wenn Sie die Maus über das graue Quadrat schwebt, leuchtet die LED auf dem Board, eine physische Darstellung Ihrer Pixel zu geben.

image2.jpg

Wenn Ihre LED nicht leuchtet, überprüfen Sie Ihre Verkabelung:

  • Stellen Sie sicher, dass Sie die richtige PIN-Nummer verwenden.

  • Stellen Sie sicher, dass die LED-Beine um den richtigen Weg sind.

  • Überprüfen Sie, ob Ihr Arduino-Code korrekt hochgeladen und dass Ihre Verarbeitung Code hat keine Fehler. Beachten Sie, dass Sie nicht laden kann, während die Verarbeitung Skizze mit Ihrem Arduino in Verbindung steht, so dass Sie die Skizze beenden müssen vor dem Hochladen.

Menü