
In meinen vorherigen Artikeln habe ich darüber gesprochen, wie man gelähmten Menschen hilft, mit der Außenwelt zu kommunizieren: ihre Wünsche kommunizieren, Briefe schreiben, nur mit ihren Augen im Internet surfen und ein Gerät, das Ihren Blick verfolgt (Eye Tracker). In diesem Fall bleibt eine Person physisch immer noch durch die Welt des Computers und des Bettes begrenzt.
Hier werde ich über die einfachsten (meiner Meinung nach) Möglichkeiten sprechen, etwas in der Außenwelt selbst zu ändern: Licht oder eine Girlande an einem Neujahrsbaum einschalten, ein Geländewagen über eine Funksteuerung steuern, einen motorisierten Wagen in die richtige Richtung bewegen.
Inhalt
EinführungErforderliche KomponentenVerbinden Sie Arduino mit einem ComputerSteckdosensteuerungsschemaMotorsteuerkreisEinführung
Neben dem Blickverfolgungsgerät und der hier in
diesem Artikel beschriebenen kostenlosen Software benötigen wir etwas, das den Computer mit externen Objekten verbindet.
Trotz des Verkaufs verschiedener Geräte, die von einem Computer aus gesteuert werden können, bestand die einfachste und billigste Option für mich darin, zwei Teile zu verwenden: eine Arduino-Karte und eine Multi-Relay-Karte.
Wenn Sie noch nie auf Arduino gestoßen sind, geben Sie das Lesen immer noch nicht auf. In Zukunft werden Sie feststellen, dass es in diesem Zusammenhang recht einfach ist, damit zu arbeiten. Nicht umsonst stehen viele auf Arduino basierende Kinderdesigner zum Verkauf.
Wenn Sie mit der elektrischen Sicherheit nicht vertraut sind und noch nie eine elektrische Verkabelung im Haus durchgeführt haben, versuchen Sie nicht, die Stromkreise zu wiederholen, die den Anschluss an Steckdosen verwenden!
Alles, was Sie über Arduino wissen müssen: Dies ist ein kleines Gerät, das in den USB-Anschluss des Computers eingesteckt werden kann. Danach kann es die elektrischen Signale an seinen Kontakten gemäß den erhaltenen Anweisungen ein- und ausschalten.
Die Signale sind eher stromsparend. Um etwas Stärkeres zu steuern (z. B. Glühbirnen), setzen wir eine Relaiseinheit ein, die als Reaktion auf das Signal vom Arduino die Steuerkontakte externer Geräte schließt und öffnet. Darüber hinaus isolieren Relais die Stromkreise des Arduino + -Computers von den Stromkreisen des verwalteten Geräts.
Die Grundlage der Steuerkreise für Steckdosen und Motoren, die später beschrieben werden, sind die folgenden: zwei Teile, die über Drähte miteinander verbunden sind, über ein USB-Kabel mit einem Computer verbunden sind und Drähte zu dem, was wir steuern möchten:

In der realen Welt könnte es so aussehen:

Wir senden einen Befehl von einem Computer, Arduino einer seiner Kontakte schaltet das Relais ein / aus, das der Schalter eines beliebigen Geräts oder eine separate Taste am Gerät ist.
Erforderliche Komponenten
Wir werden es brauchen (in Klammern stehen die Preise von 2018 in einem örtlichen Geschäft. Wer in China kaufen kann, kann viel Geld sparen, verliert aber mit der Zeit):
1) Arduino UNO-Karte mit einem USB-Kabel (möglicher Aftermarket mit billigem CH340 anstelle von teurem FTDI) (450 Rubel)
2) Eine Karte mit vier Relais, die mit einer Spannung von 5 Volt betrieben werden und Geräte mit einer Spannung von 220 Volt steuern können. (450 Rubel). Es gibt immer noch Boards, die mit 12 Volt arbeiten. Verwechseln Sie es nicht!
3) Ein Bündel von Drähten zum Verbinden von zwei Platinen. In meinem Fall waren Drähte mit einer Buchse auf der einen Seite und einem Stift auf der anderen Seite erforderlich, da der Relaisblock Stiftkontakte und Arduino Buchsen hat. Schauen Sie sich beim Kauf von Drähten (150 Rubel) die Anschlüsse auf Ihren Platinen an.

Verbinden Sie Arduino mit einem Computer
Installieren Sie zunächst die Arduino-Programmiersoftware von
www.arduino.cc :
Klicken Sie auf der Seite
https://www.arduino.cc/en/Main/Software auf "Windows Installer":

Klicken Sie auf "Einfach herunterladen":

Laden Sie das Installationsprogramm herunter und führen Sie es aus:

Wir sind uns in allem einig:




Wenn das Programm installiert ist, verbinden Sie die Arduino-Karte und den Computer mit einem USB-Kabel.
Die Lichter auf der Arduino-Platine leuchten auf, und im Geräte-Manager sehen Sie, dass ein neuer Port angezeigt wurde und ihm eine bestimmte Nummer zugewiesen wurde, z. B. COM3:

Lassen Sie uns seine Nummer in COM9 ändern, da in Zukunft alles speziell an COM9 gebunden sein wird. Klicken Sie dazu mit der rechten Maustaste darauf, rufen Sie das Kontextmenü auf und wählen Sie darin „Eigenschaften“:

Klicken Sie auf der Registerkarte "Portparameter" auf die Schaltfläche "Erweitert":

Wählen Sie abschließend „COM9“ als COM-Portnummer.

Schließen Sie alle geöffneten Fenster mit der Schaltfläche „OK“. Entfernen Sie dann das USB-Kabel und stecken Sie es ein, um sicherzustellen, dass Arduino weiterhin über den COM9-Anschluss eine Verbindung herstellt, wenn es an denselben USB-Anschluss des Computers angeschlossen ist:

Rufen Sie nun das kürzlich installierte Arduino-Programm von der Site aus auf und konfigurieren Sie es:

Stellen Sie im Menü "Extras" die Karte "Arduino UNO" und den Port "COM9" ein:

Jetzt ist alles bereit, die Pläne zu sammeln und ihnen Leben einzuhauchen.
Steckdosensteuerungsschema
Wenn Sie mit der elektrischen Sicherheit nicht vertraut sind und noch nie im Haus verkabelt haben, versuchen Sie nicht, dieses Diagramm zu wiederholen! Die Schaltung verbraucht lebensbedrohliche Spannung!Kontrollfragen noch einmal:
- Wissen Sie, wie man einen Draht mit einer Phase von einem Draht mit einer Null in einer Buchse unterscheidet?
- Wissen Sie, wie man die Drähte klingelt und sicherstellt, dass nach dem Einstecken kein Kurzschluss auftritt?
Wenn Sie diese Fragen unsicher beantworten, bitten Sie eine erfahrene Person, die Schaltung zusammenzubauen.
Nun zum Punkt.
Es funktioniert so:
Das Socket-Anschlussdiagramm sieht folgendermaßen aus:

Wir liefern Null direkt an die Steckdosen und die Phase durch das Relais. Wenn Sie das Gegenteil tun, funktioniert es, es besteht jedoch die Gefahr eines Stromschlags durch OFF MALFUNCTIONAL-Geräte. Das heißt, greifen Sie nach dem ausgeschalteten fehlerhaften Fernseher, und es wird Sie schockieren.
Wenn das Haus eine Schutzmasse hat, verwenden Sie eine Erdungssteckdose.
Als nächstes kommt mein Referenzdesign. Darin habe ich einen Fehler mit der Farbe der Drähte gemacht: Die Farbe des neutralen Drahtes wurde braun und die Phasen blau. Achten Sie darauf.
Wir nehmen ein Stück der Platine in der entsprechenden Größe (von links nach rechts): Arduino, Relaisblock, vier Buchsen, eine Halterung zum Drücken des Drahtes auf die Platine.

Wir schneiden den Überschuss ab und machen mit einem Meißel eine Nut für Drähte, damit sie frei unter die Buchsen passen.

Wir schrauben die Arduino-Platinen und den Relaisblock mit Schrauben an die Platine und verlegen Kunststoffscheiben.

Wenn die Unterlegscheiben nicht zur Hand waren, können Sie die Dübel schneiden:

Bereiten Sie die Drähte vor: Schneiden Sie sie auf die gewünschte Länge und entfernen Sie sie von der Isolierung. Es ist ratsam, sie an Kontaktstellen mit Steckdosen und Relais mit einem Lötkolben zu verzinnen.

Drücken Sie den Draht mit einer Halterung auf die Platine, damit er nicht herausgezogen werden kann.

Wir verbinden die Drähte und schrauben die Buchsen. Wir nennen die Kette.


Wir verbinden die Arduino-Platine mit einem Kabelbündel gemäß dem obigen Diagramm mit der Relaiseinheit.

Wir bedecken die Platten mit einem Schutzgehäuse aus nicht leitendem Material.
Dies muss hier erfolgen, da für den Relaisblock eine lebensbedrohliche Spannung geeignet ist! Wickeln Sie im Extremfall mindestens die elektrischen Kontakte des Relais ein.
Ich habe einen Behälter für Produkte aus Hartplastik als Gehäuse verwendet und ihn mit Schrauben befestigt:

Denken Sie daran, ein Loch für das USB-Kabel zu machen.

Schließen Sie das Gerät an den Computer an, schließen Sie es jedoch
nicht an eine Steckdose an .
Wir starten das Programm „Arduino“ und kopieren diesen Programmtext dort:
Klicken Sie dann in Arduino auf den Download-Button des Programms (siehe Abbildung unten). Wenn alles fehlerfrei gelaufen ist, sehen wir die Aufschrift „Download abgeschlossen“.

Überprüfen Sie, ob unser Gerät Befehle ausführt. Rufen Sie dazu den Port Monitor auf:

Jetzt geben wir die Nummer
1 ein und drücken die Eingabetaste oder die Schaltfläche "Senden":

Ein charakteristisches Klicken des Relais ist zu hören und der Kontakt in der ersten Buchse wird mit dem Phasendraht verbunden. Überprüfen Sie dies mit einem Tester. Wählen Sie dann die Nummer 0 und das Relais trennt den Kontakt.
Wenn Sie sich den Text des Programms ansehen, können Sie sehen, was passieren wird, wenn wir andere Zahlen eingeben:
3.2 - einschalten, zweite Steckdose ausschalten
5,4 - einschalten, dritte Steckdose ausschalten
7.6 - einschalten, vierte Steckdose ausschalten
Überprüfen Sie mit einem Tester den Anschluss dieser Steckdosen. Nach der Überprüfung können Sie das Kabel an die Spannung im Netzwerk anschließen und mit dem Ein- und Ausschalten realer Geräte beginnen.
Unsere nächste Aufgabe ist es, die Geräte mit einem Blick ein- und auszuschalten. Dazu konfigurieren wir das hier in
diesem Artikel beschriebene
bkb- Programm
(DIE LETZTE VERSION DES PROGRAMMS WIRD BENÖTIGT !!!) .
Angenommen, wir möchten eine Lampe und eine Weihnachtsbaumgirlande ein- und ausschalten.
Im Standard-Malprogramm zeichnen wir vier 200x200-Zeichnungen im
BMP- Format:

Wir werden auch vier Batch-Dateien erstellen:
c.cmd, d.cmd, e.cmd, f.cmdSie enthalten Befehle zum Senden der Zeichen 1,0,3,2 an den COM9-Port. Und wir erinnern uns, dass sie die erste und zweite Buchse ein- und ausschalten. Es ist wichtig, dass zwischen den beiden Zeilen in diesen Dateien keine Leerzeilen stehen!
c.cmd:
MODE COM9: BAUD=9600 DATA=8 STOP=1 PARITY=N to=off xon=off odsr=off octs=off rts=off idsr=off dtr=off echo 1 > com9:
d.cmd:
MODE COM9: BAUD=9600 DATA=8 STOP=1 PARITY=N to=off xon=off odsr=off octs=off rts=off idsr=off dtr=off echo 0 > com9:
e.cmd:
MODE COM9: BAUD=9600 DATA=8 STOP=1 PARITY=N to=off xon=off odsr=off octs=off rts=off idsr=off dtr=off echo 3 > com9:
f.cmd:
MODE COM9: BAUD=9600 DATA=8 STOP=1 PARITY=N to=off xon=off odsr=off octs=off rts=off idsr=off dtr=off echo 2 > com9:
Wir überschreiben die erstellten
.bmp- und
.cmd- Dateien im
Grid- Verzeichnis des
bkb- Programms.
Nach dem Start des
bkb- Programms im Tabellenmodus erscheint eine neue fünfte Zeile mit unseren Bildern:

Wenn wir den Blick auf das Bild richten, wird die entsprechende Aktion gestartet.
ACHTUNG! Das erste Mal nach dem Starten des Programms funktioniert die Aktion nicht. Alle folgenden Zeiten - es funktioniert. Dies liegt an der Tatsache, dass sich während der ersten Initialisierung des Ports das Signal auf der DTR-Leitung ändert, wodurch der Arduino neu gestartet wird, was ungefähr drei Sekunden dauert.
Sie sagen, dass dies mit einem Lötkolben gelöst werden kann, aber ich habe es nicht gewagt, mich auf solche Schmuckarbeiten einzulassen. Denken Sie also vorerst daran, dass Sie das erste Mal zweimal einschalten müssen.
BemerkungSie haben wahrscheinlich bereits verstanden, dass Sie in CMD-Dateien beliebige externe Programme aufrufen können. Wenn Sie ein Gerät haben, das über die Befehlszeile gesteuert werden kann, können Sie diese Befehle selbst ausführen, indem Sie die erforderlichen Aktionen den Bildern in der Tabelle zuordnen.
Motorsteuerkreis
Mein Freund rüstete den Kreiselroller auf und ersetzte ihn durch die Hinterachse des Kinderwagens. Die Verwaltung erfolgte durch Fernbedienungen über das Arduino-Board.

Wir beschlossen, dem Kind die Möglichkeit zu geben, den Kinderwagen mit einem Blick selbst zu steuern. Zu diesem
Zweck wurde dem bkb- Programm der Rollstuhlsteuerungsmodus hinzugefügt.

Nach dem Start in diesem Modus werden auf dem Bildschirm Pfeile angezeigt, die dazu führen, dass das Programm Steuerzeichen an den COM9-Anschluss sendet, die dann vom Kinderwagen so interpretiert werden, dass sie sich vorwärts / rückwärts, links / rechts drehen und anhalten.
Während der Fertigstellung des Kinderwagens habe ich beschlossen, dasselbe Programm für die Fernsteuerung des Kettenpanzer-Modells zu verwenden. Dies ist auch eine ziemlich nützliche Sache. Erstens erhält das Kind Fähigkeiten, die zur Steuerung des Kinderwagens nützlich sind. Zweitens ist dies nur ein aufregendes Spiel.

Jede Spur des Panzers wird von einem Hebel gesteuert, der vorwärts oder rückwärts bewegt werden kann. Wenn er den Hebel nach vorne bewegt, drückt er den Knopf und zwingt den Motor, sich vorwärts zu drehen. Beim Zurückbewegen des Hebels drückt er den Knopf, wodurch sich der Motor in die entgegengesetzte Richtung dreht. Es ist nicht möglich, zwei Tasten gleichzeitig zu drücken - vorwärts und rückwärts ist nicht möglich.
Die Relaiseinheit wurde gemäß der folgenden Abbildung an die Tasten der Fernbedienung angeschlossen. In der Schaltung können die Tasten „Motor vorwärts“ und „Motor zurück“ nicht gleichzeitig aktiviert werden. Ein Relais schaltet den Motor ein / aus und das zweite Relais wählt die Richtung vorwärts oder rückwärts.
Suchen Sie auf der Bedienfeldplatine, wo die Tasten angeschlossen sind, und verbinden Sie sie gemäß dem obigen Diagramm.
Bitte beachten Sie, dass Arduino im Gegensatz zur vorherigen Schaltung den Relaisblock mit den Pins 6 bis 9 steuert.

Ich habe den Relaisblock über den Stecker mit der Fernbedienung verbunden, damit die Fernbedienung einfach getrennt und separat verwendet werden kann:

Das Programm, das Arduino herunterladen muss, empfängt dieselben Befehle vom Computer, die zur Steuerung des motorisierten Kinderwagens verwendet werden:
F-vorwärts
B-zurück
L-links
R-rechts
S-Stop
Der Text des Programms ist unten angegeben.
Wenn die Verbindung zum Computer unterbrochen wird (innerhalb von 0,3 Sekunden kommen keine Zeichen an, schaltet der Arduino die Motoren aus). Diese Situation kann modelliert werden, indem Sie Ihre Augen schließen und gleichzeitig Ihre Augen kontrollieren. Aitreker kann die Blickrichtung nicht bestimmen und es werden keine Signale gesendet. Die Motoren stoppen.
Ich habe das Panzermodell mit einer Videokamera ausgestattet, die normalerweise als Wechselkurs oder FPV (First Person View) bezeichnet wird und ein analoges Signal mit einer Frequenz von etwa 5,8 GHz überträgt. Ich nahm eine der billigsten Kameras, die ebenfalls mit einem Sender und einer Antenne ausgestattet war: AKK BA-3. Es hat mich 1050 Rubel gekostet. Die Kamera mit dem Sender ist so klein, dass sie in die Hände der Lego-Figur passt:

Damit die Kamera funktioniert, muss sie nur an die Stromversorgung angeschlossen werden (von 3,2 bis 5,5 Volt). Wählen Sie dann mit einer einzigen Taste den Bereich, die Frequenz und die Leistung des Senders aus.
Die Kamera erwärmt sich erheblich, daher empfehle ich, die Mindestleistung (25 Milliwatt) einzustellen. Außerdem habe ich es mit einer Spannung von 6 Volt an die Tankbatterie angeschlossen, was die zulässigen Werte überschreitet. Daher weiß ich nicht, wie lange es dauern wird. Ich empfehle Ihnen, einen Spannungsstabilisator zu verwenden, um die Kamera mit Strom zu versorgen.
Beim Anbringen der Kamera habe ich ein Element des Lego-Konstruktors auf den Tank geklebt, und die restlichen Elemente wurden bereits mit einer einfachen Verbindung daran befestigt. Dies erleichtert das Entfernen und Aufräumen der Kamera. Wenn Sie auf ein Hindernis stoßen, kann die Kamera einfach hochgeklappt werden, um Schäden zu vermeiden.

Um das Videosignal von der Kamera zu empfangen, habe ich den Eachine ROTG01-Empfänger verwendet. Er nahm nicht neu für 1800 Rubel. Es ist nur eine Box mit einer Antenne, die an den USB-Anschluss des Computers angeschlossen wird und als USB-Kamera sichtbar ist. Das heißt, wir starten die Kameraanwendung in Windows und sehen, was der Empfänger akzeptiert. Schon zu Beginn müssen Sie die einzige Taste am Empfänger gedrückt halten, damit der Äther gescannt und die Frequenz ermittelt wird, mit der unsere Kamera ein Signal sendet.
Im Allgemeinen benötigen wir drei USB-Anschlüsse im Computer:
- für einen IT-Tracker
- für Arduino die Steuerung des Tankbedienfelds
- für Videoempfänger

Wir starten die Bildausgabe von der Kamera, zum Beispiel das Programm "Kamera". Wir starten das Programm
bkb und wählen den Steuermodus für den motorisierten Kinderwagen.
Was als nächstes passieren kann, zeigt das Video:
Es ist ersichtlich, dass die Bewegungsgeschwindigkeit und insbesondere die Geschwindigkeit der Kurven zu groß ist. Wenn Sie sich also für ein funkgesteuertes Modell entscheiden, wählen Sie das langsamste. Ein Bagger oder so.
Und warum nicht den fertigen „Spionageroboter“ nehmen?
Ich fiel in die Hände eines solchen, HappyCow 777-325.

Ich war begeistert: Er hat alles und die Fernbedienung und Videoübertragung und fährt ziemlich langsam. Es gibt jedoch eine Funktion: Sie wird nur über eine Anwendung in Android oder iOS gesteuert. Nun, wir werden dies durch die Fernbedienung von Android lösen, zum Beispiel mit
scrcpy .
Es stellte sich jedoch heraus, dass die Maschine zusätzlich zu den korrigierbaren Mängeln (enger Betrachtungswinkel der Kamera) eine unverbesserliche aufweist. Das über WLAN übertragene Video hat eine schreckliche Verzögerung.
Das heißt, dieser Roboter ist schon lange gegen etwas gekracht, und Sie alle drücken auf das Gas und denken, dass es noch kein Hindernis erreicht hat.
Für ein Kind, das lernt, eine Maschine fernzusteuern, ist dies meiner Meinung nach inakzeptabel.
So bekommt der Roboter einen Rücktritt. Obwohl ich das Chassis davon ausleihen würde.
Fazit
Ich wünsche Ihnen allen viel Erfolg bei der Wiederholung und Entwicklung der beschriebenen technischen Lösungen.