Verwenden Sie die "Kraft", um ein ferngesteuertes Gerät mit einem DIY 3D Kondensator zu fahren!

7 Schritt:Schritt 1: Was Sie brauchen Schritt 2: Stellen Sie die 3D-Kondensator Schritt 3: Stellen Sie die Drähte (Kondensator Ende) Schritt 4: Nehmen Sie die Drähte (Arduino Ende) Schritt 5: Arduino Code und Verarbeitung Skizze Schritt 6: Mit dem Controller und Hacking the code Schritt 7: Helicopter

Verwenden Sie die "Kraft", um ein ferngesteuertes Gerät mit einem DIY 3D Kondensator zu fahren!
Für unsere Elektronik Klasse-Projekt haben wir unsere eigene Version des hier beschriebenen kapazitiven 3D-Controller:

http://www.instructables.com/id/DIY-3D-Controller/?ALLSTEPS

und hier:
http://blog.makezine.com/2012/08/10/build-a-touchless-3d-tracking-interface-with-everyday-materials/

Der Regler besteht aus einem Karton-Unterstützung gemacht, 3 "Platten" aus Aluminiumfolie, abgeschirmtes Kabel, Widerstände, ein Arduino, und einen Computer mit einem Ladegerät und die richtige Software.

Indem Sie Ihr Faust in den Raum zwischen den Platten, die Sie erstellen einen Kondensator zwischen Faust und den Platten, wobei die Platten an einem gewissen Spannung und Ihren Körper am Boden sind (keine Sorge - das ist sicher!)

Durch die Änderung des Abstandes zwischen der Faust und der Platten, ändern Sie die Kapazität. Das Arduino kann dies durch die Erdung der Teller, dann ließ sie von einem konstanten 5V Quelle aufzuladen, und messen, wie lange es dauert, bis eine bestimmte Schwelle wieder aufladen zu messen. Diese Zeit wird durch die RC-Konstante (Ersatzwiderstand der Schaltungs mal der Kapazität) bestimmt wird, und da der Widerstand konstant ist, es ist ein Maß für die Kapazität.

Das Arduino kann die Änderungen in diesem Ladezeit gegenüber einer anfänglichen Kalibrierung zu messen und durch den Verarbeitungscode, es heraus sich die Position der Hand.

Ein kurzer Überblick über die Schritte:

1. Erstellen Sie die Kartonträgerstruktur mit 3 (nicht berühren) Stücke von Aluminiumfolie abgebildet

2. Konstruieren Sie die Schaltung, die wir mit abgeschirmten Draht, Krokodilklemme Köpfe und Widerstände später.

3. Stecken Sie den Kreislauf in den Arduino (download Verarbeitung 1.5, wenn Sie nicht bereits haben) und führen Sie den Code hier: https://github.com/Make-Magazine/3DInterface

4. Führen Sie das Bearbeitungsskizze und stellen Sie sicher, dass der Kondensator können die Position Ihrer Hand, wie in den Videos von den Führungen wir oben verlinkten gezeigten Lese

5. Ändern Sie den Code in der Verarbeitung Skizze, so dass er Informationen sendet über die Lage deiner Hand auf den Arduino über die serielle Schnittstelle

6. Ändern Sie die Arduino-Code um diese Informationen zu verwenden, um ein Gerät Ihrer Wahl zu fahren! Sie müssen neben dem Gerät und Draht einige Eingänge aus dem Arduino in seine Schaltung zu nehmen. Wir entschieden uns, die Drosselklappe eines ferngesteuerten Hubschrauber fahren, Variieren Rotordrehzahlen (und damit die Höhe, dass der Hubschrauber fliegt in) in Abhängigkeit von der Position der Hand.

Dieses Projekt könnte immer noch einige Verbesserungen und Spaß add ons! Aus diesem Grund werden wir versuchen, einige der wichtigsten Probleme, die wir bei der Erstellung des Projekts, wie wir sie ausgetestet, und schaffte es, sie zu beheben angetroffen zu werden (oder nicht.)

Schritt 1: Was Sie brauchen

  1. Du wirst brauchen:
    Karton
    Aluminiumfolie
    Abgeschirmtes Kabel (Ihre Ergebnisse hätte viel schlimmer sein, wenn Sie nicht abgeschirmtes Kabel für die Krokodilklemme Kabel durch eine Antennenwirkung zu verwenden)
    Drei 10k Widerstände und drei 270k Widerstände
    Ein Arduino Uno mit einem seriellen Kabel
    Ein Computer mit einem Ladegerät
    Arduino Software
    Verarbeitung 1.5
    Drahtschneider oder einem Messer, um abgeschirmten Draht Streifen

Schritt 2: Stellen Sie die 3D-Kondensator

  1. Verwenden Sie die "Kraft", um ein ferngesteuertes Gerät mit einem DIY 3D Kondensator zu fahren!
    Schneiden Sie drei Stücke Pappe, um die Aluminiumfolie zu unterstützen und zu verbinden, so dass sie für sich allein stehen kann als in der Abbildung dargestellt. Für diese Aufgabe haben wir jedes DIYer beste Freundin: Klebeband.

    Ursprünglich haben wir großen Aluminiumplatten, weshalb (wenn Sie genau hinschauen) haben wir diese kleinen Karton Grate an den Innenkanten, die die Platten in Position zu halten und verhindern, dass sie zu berühren wird. Ursprünglich war man in der vertikalen Kante zu.

    Wir experimentierten mit verschiedenen Größen aus Aluminiumfolie und unsere Ergebnisse waren am besten, wenn wir früher 8 "x 8" Stücke.

    Schneiden Sie drei Stücke von 8 "x 8" Aluminiumfolie und kleben sie an den Karton wie in der Abbildung dargestellt. Wenn Sie Ihre Drähte besser organisieren wollen, können Sie ein Loch in der hinteren Ecke des Kartons geschnitten, und führen Sie die 3 Kabel durch es. So stellen Sie sicher nicht, um den elektrischen Kontakt zwischen den Platten oder Kabel zu ermöglichen.

Schritt 3: Stellen Sie die Drähte (Kondensator Ende)

  1. Verwenden Sie die "Kraft", um ein ferngesteuertes Gerät mit einem DIY 3D Kondensator zu fahren!

    Verwenden Sie die "Kraft", um ein ferngesteuertes Gerät mit einem DIY 3D Kondensator zu fahren!

    Verwenden Sie die "Kraft", um ein ferngesteuertes Gerät mit einem DIY 3D Kondensator zu fahren!

    Sie werden drei Stücke von geschirmten Kabel für beste Ergebnisse müssen. Sie können nicht abgeschirmten Draht als billigere Alternative, aber die elektromagnetischen Felder von der aktuellen Willen mess with Ihre Daten und machen Sie Ihre Position innerhalb des Kondensators weniger genau. Wir verwendet BNC-Kabel, um alles schön aussehen. (Im Bild).

    Zuerst schneiden Sie etwa einen Zoll von der äußersten Schicht des Kabels, um die Abschirmung zu offenbaren. (Im Bild)

    Schneiden Sie die Abschirmung. Wir müssen nicht darüber nachdenken, was wir damit machen zu diesem Ende des Drahtes, weil mit abgeschirmten Draht, müssen Sie nur die Spannung an ein Ende gesetzt zu kümmern. Die BNC-Kabel machen dies einfach am anderen Ende des Kabels, die wir bei 5 V gesetzt. Das bedeutet, die Abschirmung kann einfach abgeschnitten an diesem Ende gehen.

    Isolieren Sie die Drahtbeschichtung auf etwa einen halben Zoll des Drahtes am Ende zu offenbaren.

    Isolieren Sie die Kabelverbindung in die Krokodilklemme auf etwa einen halben Zoll von Draht zu offenbaren.

    Löten Sie die beiden zusammen. (Im Bild)

Schritt 4: Nehmen Sie die Drähte (Arduino Ende)

  1. Verwenden Sie die "Kraft", um ein ferngesteuertes Gerät mit einem DIY 3D Kondensator zu fahren!

    Verwenden Sie die "Kraft", um ein ferngesteuertes Gerät mit einem DIY 3D Kondensator zu fahren!

    Verwenden Sie die "Kraft", um ein ferngesteuertes Gerät mit einem DIY 3D Kondensator zu fahren!

    Verwenden Sie die "Kraft", um ein ferngesteuertes Gerät mit einem DIY 3D Kondensator zu fahren!

    Verwenden Sie die "Kraft", um ein ferngesteuertes Gerät mit einem DIY 3D Kondensator zu fahren!

    Löten Sie einen 10k Widerstand und einen 270k-Widerstand an den gelben Teil des BNC-Stecker, ragt. Dieser Teil verbindet sich mit dem abgeschirmten Draht, die mit den Krokodilklemmen geht. (Im Bild).

    Schließen Sie die drei Enden der 270k Widerstände. Wir werden diese "Verbindung A" für Klarheit nennen. Lötdrähte auf der Registerkarte, die aus dem BNC-Stecker-Sticks (dies verbindet sich mit dem Schild und wird als "Register" auf dem zweiten Foto in diesem Schritt markiert) an Anschluss A. Die Abschirmung wirkt wie ein Faraday-Käfig, Sperrung elektrische Streufelder aus außen und hält den Draht von zu einem Teil des Kondensators und die Verringerung der Empfindlichkeit der Schaltung.

    Schließlich löten eine Kabel-Verbindung A, so dass das andere Ende zur Verfügung, um auf dem Arduino in "5 V" gesteckt werden. 10K Widerstände in digitale Stifte 8, 9 und 10 aufgesteckt werden.

    Hinweis: Es ist sehr wichtig, diese Drähte und Widerstände von einander zu berühren halten damit die Signale von verschiedenen Platten gegenseitig stören. Vielleicht möchten Sie in mit Isolierband trennt sie aussehen oder Schrumpffolie Schlauch oder etwas in der Art.

Schritt 5: Arduino Code und Verarbeitung Skizze

  1. Verwenden Sie die "Kraft", um ein ferngesteuertes Gerät mit einem DIY 3D Kondensator zu fahren!
    Der Code für die Arduino und die Verarbeitung Skizze finden Sie hier: https://github.com/Make-Magazine/3DInterface
    Am besten ist es, um es als Zip-Datei herunterladen (klicken Sie auf die Pfeiltaste), so dass die Verzeichnisstruktur erhalten bleibt.

    Wenn Sie noch nicht getan haben, laden Sie Verarbeitung hier: http://www.processing.org/download/

    Um sicher zu sein, stellen Sie sicher, Verarbeitung 1.5.1, NICHT 2.0 Download! Wir stießen auf einige Fehler die Ausführung des Codes möglicherweise aufgrund von Unverträglichkeiten mit der Verarbeitung 2.0.

    Wenn Sie in Nordamerika oder Japan leben, ändern Sie die Zeile "#define Netz 50" bis "#define Netz 60" in der Arduino-Code
    Dies spiegelt die Wechselstromfrequenz 60Hz aus Ihrer Steckdose kommen.

    Hier ist eine grobe Skizze, wie die Arduino Code funktioniert, das Beste aus unserem Verständnis:

    Einrichten:

    1. Es stellt die serielle Schnittstelle auf 115200 Baud kommunizieren

    (Serielle Kommunikation arbeitet, indem ein Byte zu einer Zeit zwischen dem Computer und dem Arduino bei einer bestimmten Anzahl von Symbolen pro Sekunde oder Baud. 115200 Baud ist derzeit die am schnellsten möglichen Kommunikationsrate zwischen dem Computer und dem Arduino.)

    2. Der Arduino stellt dann jeden Pin mit Masse (LOW). Dies ist, um Felder aus anderen Stifte vor potenziell Auswirkungen auf die Drähte, die in die Arduino in einer Art einer Antenneneffekt zu verhindern. Er initialisiert dann Stifte 8,9 und 10 bis INPUT (erinnern Stift 8 ist an der linken Platte angeschlossen, Pin 9 ist an der Bodenplatte verbunden und der Stift 10 ist an der rechten Platte verbunden ist). Zu diesem Zeitpunkt werden alle Platten bis 5 Volt durch den 270 kOhm Widerstände berechnet.

    Loop:
    3. Der Code ruft die Funktion "Zeit" für Pin 8 (linke Platte), die ersten Sätze Stift 8 bis OUTPUT und stellt die Spannung an dem Stift auf einen (digital) niedrig (was in der Nähe, aber nicht unbedingt gleich 0 V ist). Dies wird sehr schnell entladen, die Platten durch die 10k-Widerstände.

    Irgendwann während oder nach dieser Entladevorgang wird die Arduino Pin 8 auf INPUT gesetzt. An diesem Punkt wird es anfangen zu zählen nach oben, einmal pro Taktzyklus, bis die Platte hat genug durch die 270 kOhm-Widerstände, die der Arduino sieht die Spannung an Pin 8 wurde wieder auf (digital) hoch (die in der Nähe, aber nicht verschwunden ist kostenfrei notwendigerweise gleich 5 V).

    Dann wird der Arduino Messung zu stoppen, und melden Sie den Nummer über das serielle Kabel an den Computer an. Dann wird der Computer, mit der Verarbeitung Skizze, findet heraus, auf der Grundlage dieser Zahl, wo Faust in Bezug auf den linken Platte.

    Das gleiche Vorgang wiederholt sich nun für die unteren und rechten Platten. All dies geschieht in einem Bruchteil einer Sekunde, immer wieder wiederholt.

    Auf diese Weise wird das Arduino ständig liest die Position Ihrer Hand!

Schritt 6: Mit dem Controller und Hacking the code

  1. Verwenden Sie die "Kraft", um ein ferngesteuertes Gerät mit einem DIY 3D Kondensator zu fahren!

    Verwenden Sie die "Kraft", um ein ferngesteuertes Gerät mit einem DIY 3D Kondensator zu fahren!

    Verwenden Sie die "Kraft", um ein ferngesteuertes Gerät mit einem DIY 3D Kondensator zu fahren!

    Bei der Ausführung des Arduino-Code, stellen Sie sicher, haben Sie Ihren Computer in die Wand und das serielle Kabel mit dem Arduino verbunden gesteckt. Damit soll sichergestellt werden, dass der Arduino Boden Boden der Erde und nicht als "schwebende" Boden.

    Öffnen Sie die Arduino-Code in seiner Umgebung, und laden Sie es auf das Arduino. Öffnen Sie dann die Verarbeitung Skizze in seiner Umgebung und klicken Sie auf die Play-Taste. Ein Bildschirm, der wie das erste Bild sieht sollte Pop-up, mit dem Ball bewegen, um die obere Ecke, Nähe zu finden.

    Jetzt legen Sie Ihre Faust in der oberen Ecke, mit dem Arm in Richtung der weit unten (wo die 3 Stücke Pappe schneiden.)

    Klicken Sie auf die linke Maustaste und halten Sie sie gedrückt. Langsam bewegen Sie Ihre Faust in Richtung der weit unten. Wenn Sie es erreicht haben, lassen Sie die Taste.

    Nun ist die Verarbeitung sketch weiß, was Ihre Bewegungsfreiheit ist, und der Bereich der Ladezeiten kann es für jede Platte zu erwarten. Sie können nun in der Umgebung spielen und sehen, der Ball folgen Ihrer Hand!

    Das Tracking wird nicht perfekt sein, vor allem in Richtung der Kanten des Würfels (wahrscheinlich wegen Streufelder aus dem Kondensator.) Jedoch durch die Arbeit mit abgeschirmten Draht, um sicherzustellen, dass nichts in elektrischen Kontakt, und die Auswahl eines guten Wert für die Größe der Platten und für die Widerstände, sollte es möglich sein, die Empfindlichkeit des Sensors zu verbessern. Experimentieren Sie mit diesem! Wir haben versucht, ein paar Plattengrößen und ließ sich auf 8 Zoll im Quadrat, aber die Art, wie wir es getan haben war alles andere als quantitative. Wir haben auch keine Zeit, andere Widerstandswerte zu versuchen. Denken Sie daran, je höher der Wert des Widerstandes, desto langsamer die Ladung oder Entladung Zeit. Wir sind nicht sicher, wie dies die Genauigkeit der Messwerte beeinflussen, wenn auch meine erste Vermutung wäre, dass mehr Entladezeiten würde zu einer genaueren, aber langsamer führen, um die Messung zu reagieren.

    Hacking the code:

    Der wirkliche Spaß mit diesem 3D-Sensor ist, wie Sie es anpassen, um alle Arten von Geräten zu steuern. Die einfachste Anwendungen wäre es, etwas, das einfach beteiligten Schalt verschiedenen Schaltungen auf, wenn Ihre Hand in eine bestimmte Position zu steuern, und aus, wenn Ihre Hand in eine andere.

    Bei der Verarbeitung Skizze sind die Variablen, die Ihnen sagen, die Koordinaten der Hand axyz genannt [0] .avg, axyz [1] .avg und axyz [2] .avg (sd ist nur ein Skalierungsfaktor.)

    Sie können die Werte dieser Variablen durch Zugabe von print-Anweisungen direkt nach der sich die Variablen zum ersten Mal gesehen ausdrucken, wie zum Beispiel: print (axyz [0]);

    Dem Ausdruck der Werte dieser Variablen, können Sie herausfinden, welche Zahlen zu welchen Orten im Würfel entsprechen.

    Dann können Sie diese Koordinaten zu Ihrem Vorteil nutzen können! Zum Beispiel können Sie eine if-Anweisung in der Verarbeitung, die das Arduino Sketch sagt zu schreiben, wo Faust ist, wie beispielsweise:

    if (axyz [0] <0.1 && axyz [1]> 0,9 && axyz [2] <0.1) {
    serial.write (1)
    // Dieser Code-Snippet sollte den Arduino über Serien sagen, dass Sie Ihre Faust ist in der hinteren Ecke
    // Beachten Sie, dass der Code bereits die serielle Schnittstelle initialisiert, um "Serie" in Zeile 4 aufgerufen werden
    }

    Dann in der Arduino-Code, können Sie eine if-Anweisung, die sagt, "wenn meine Faust ist in diesem Ort, setzen digitale Stift 5 auf HIGH" schreiben
    Über
    Leere setup ()
    Schreiben Sie die Anweisung:
    int incomingByte = 0; // Deklariert eine Variable, um die ankommenden seriellen Byte speichern

    Dann in der Schleife, Schreiben

    // Daten senden nur, wenn Sie Daten zu empfangen:
    if (Serial.available ()> 0) {
    // Lesen des ankommenden Byte:
    incomingByte = Serial.read ();
    if (incomingByte == 1) {
    digital (5, HIGH);
    }

    Jetzt spielen, um mit dem Gerät, das Sie steuern möchten! Nehmen Sie es auseinander und sehen, was Sie tun müssen, Kreis weise, es zu fahren. Sie haben nun die Flexibilität, um die Position der Hand benutzen, um Ihre Arduino sagen, was sie mit if-Anweisungen zu tun. Verwenden Sie es zum Guten oder zum Bösen.

Schritt 7: Helicopter

  1. Verwenden Sie die "Kraft", um ein ferngesteuertes Gerät mit einem DIY 3D Kondensator zu fahren!

    Verwenden Sie die "Kraft", um ein ferngesteuertes Gerät mit einem DIY 3D Kondensator zu fahren!

    Verwenden Sie die "Kraft", um ein ferngesteuertes Gerät mit einem DIY 3D Kondensator zu fahren!

    Verwenden Sie die "Kraft", um ein ferngesteuertes Gerät mit einem DIY 3D Kondensator zu fahren!

    Wir haben uns entschieden, zu versuchen und zu hacken eine relativ billige ferngesteuerten Hubschrauber.

    Der Hubschrauber hält in der Luft durch Spinnen ihre Rotoren bei einer bestimmten Frequenz, die Sie anpassen können, um sie gehen höher oder niedriger, indem Sie auf einem Joystick. Aber wer will schon auf einem Joystick, wenn Sie die Kraft nutzen schieben?

    Also abgesehen haben wir die Fernbedienung (Bild 3) und festgestellt, dass der Joystick, der die oben steuert - Abbewegung ist wirklich nur eine gleitende Metallleiterverbinder über diese Pads. Je höher der Schaltung Sie komplette, desto schneller wird die Rotoren zu gehen.

    Die lange Metallstreifen, der wie ein rückwärts L sieht gemahlen. Wir deckten es mit Isolierband, um zu verhindern Verschütten Lot auf sie (wahrscheinlich nicht die beste Praxis, sondern sie in eine Prise gearbeitet.)

    Wir haben dann gesehen, dass der Standard für den Hubschrauber war auf seine Rotoren mit einer niedrigen Frequenz (nicht genug, um es in der Luft zu halten) zu drehen. Der Teil, dass die grüne Leitung angeschlossen wird, ist die Unterlage, die die Rotoren stehen bleiben vollständig macht.

    Wir experimentierten mit verschiedenen Erdungskissen, bis wir herausfinden könnten, welche würden Sie den Hubschrauber verhalten sich auf verschiedene Arten tätigen. Wir haben festgestellt, dass die Pads auf der rechten Seite hinauf scheinen die wesentlichen diejenigen an Masse, um die Rotoren zu machen Spin schneller und schneller. So gelötet wir einige Drähte an diesen Pads (nicht abgebildet - sie später ungelötet waren.)

    Der schwarze Draht ist mit der Masse der Batterien in die Fernbedienung angeschlossen ist. Wir wollten dies dem Arduino Masse zu verbinden, so dass es eine gemeinsame Basis zwischen der Fernbedienung und dem Arduino. Auf diese Weise wird die Arduino Lage wäre, einen digitalen Stift, der mit einer Kontaktstelle durch eine Lötverbindung Draht verbunden wäre LOW zu schreiben, und vervollständigen verschiedenen Schaltungen in Abhängigkeit von der Position einer Faust in dem Sensor.

    Leider im Laufe unserer Experimente, wie wir herausgefunden, wie Seifen zu verwenden, um die Position einer Hand auf den Arduino senden, denken wir, dass wir etwas kurzgeschlossen oder verbrannt etwas in der Leiterplatte. Da es gedruckt und nicht sehr zugänglich, waren wir nicht in der Lage, herauszufinden, was schief gelaufen ist (erste der Vorstand glaubt, dass der Hubschrauber geladen, wenn es nicht war, und dann wird es abgelehnt, zu aktivieren.) Auch wenn wir nicht letztlich erfolgreich Abschluss in unserem Projekt, wir sind ziemlich sicher, dass, wenn wir eine andere ferngesteuerten Hubschrauber, mit zu spielen, würden wir in der Lage, (mit ein wenig mehr Debugging und ein wenig vorsichtiger Löten natürlich) machen es auf diese Weise zu arbeiten.

    Im Nachhinein wäre eine bessere ersten Start wahrscheinlich ein ferngesteuertes Auto. Die einfachsten gerade beinhalten Ein - Aus Schalter, um festzustellen, ob das Fahrzeug vorwärts geht (ja oder nein - ein oder aus), rückwärts, links und rechts. Das scheint einfach programmierbar mit einem 3D-kapazitive Steuerung, auch mit nicht die beste räumliche Auflösung!

    Viel Spaß kommen mit Ihren eigenen Ideen, was mit diesem Controller und Happy Hacking zu tun!