Smartphone fährt ein Spielzeugauto.

In den letzten zehn Jahren hatten viele ein oder zwei Smartphones im Leerlauf, und meine auch. Ich beschloss, ein Smartphone zu verwenden, um etwas zu steuern, zum Beispiel ein Auto.
Zu Beginn habe ich ein Spielzeugauto von Lego gewählt. Es kann sich vorwärts und rückwärts bewegen, nach links und rechts drehen und verfügt über eine Fernbedienung mit IR-Strahlen. Als Treiber der Motoren der Maschine wurde der Chip LB1836 verwendet, der vier Informationseingänge hat. In1, In2 - Steuerung des laufenden Motors, In3, In4 - Steuerung des Lenkrads gemäß Schema 0, 0 oder 1, 1 - Betriebszustand. 0, 1 oder 1, 0 - Drehung des Motors in die eine oder andere Richtung.

Die Logik 0 und 1 an den Eingängen bildet den Empfänger der Infrarotstrahlen des Spielzeugs beim Empfang von Signalen von der Fernbedienung.

Ich habe mich für einen Smartphone-Bildschirm entschieden, um Signale von einem Smartphone an eine Schreibmaschine zu übertragen, da andere Übertragungskanäle technisch komplex und teuer in der Implementierung sind. Ich habe beschlossen, mein Gerät an die Eingänge des LB1836-Chips anzuschließen, der Signale von einem Smartphone empfängt.

Das Signalübertragungsschema ist wie folgt. Das Programm im Smartphone erzeugt Lichtpunkte einer bestimmten Dauer auf dem Bildschirm, das Gerät registriert sie und generiert an den Eingängen des LB1836 logische 0 und 1 derselben Dauer ohne logische Verarbeitung, was das Design des Geräts erheblich vereinfacht. Das heißt, ich habe gerade den Infrarotempfänger durch mein Gerät ersetzt.

Die Vorrichtung zum Empfangen von Lichtsignalen besteht aus 4 Zellen. Jede Zelle ist ein L-3DP3C-KGB-Fototransistor, der mit einem Verstärker an einem npn-Transistor KT315 verbunden ist. Die Stromversorgung erfolgt über eine gesteuerte Maschine. Der Ausgang ist, wie gesagt, mit dem entsprechenden Eingang des Motortreibers verbunden. Motoren mit geringer Leistung können direkt vom Ausgang aus angetrieben werden, drehen sich jedoch nur in eine Richtung. Aber es werden vier sein!



Über die Auswahl der Elemente des Geräts kann ich Folgendes sagen. Ich habe die Transistoren genommen, die ich seit der Antike hatte. Fototransistoren kauften diejenigen, die im Laden waren. Wenn Sie das Schema wiederholen möchten, verschwenden Sie keine Zeit mit der Suche und verwenden Sie die Elemente, die Ihnen zur Verfügung stehen. Übrigens habe ich den Verstärker zunächst auf einem LM 324N-Chip mit vier Operationsverstärkern zusammengebaut. Es funktioniert auch gut, aber es schien mir, dass seine Abmessungen zu groß sind.
Das Gerät wurde mit Kupferfolienstreifen und Elementen des Lego-Designers auf Karton montiert.



Fototransistoren werden am Boden von Lichtvertiefungen mit einem Durchmesser von 5 mm und einer Tiefe von 9 mm platziert, um eine seitliche Beleuchtung auszuschließen. In eine Röhre gerollte metallisierte Filme werden in die Lichtvertiefungen eingeführt, was die Empfindlichkeit von Fototransistoren aufgrund einer Erhöhung des Lichtflusses erheblich erhöht.



Hier ist ein Auto.



Um das Programm zu entwickeln, habe ich die BASIC-Anwendung genommen! vom Googl Play Market. Mit dieser Anwendung können Sie Programme für Android schreiben, APK-Dateien erstellen und mit allen Sensoren und Geräten des Smartphones arbeiten.

Programmliste

DO LET s$=" :      " TTS.INIT TTS.SPEAK s$ TTS.STOP STT.LISTEN "" STT.RESULTS theList LIST.SIZE theList, theSize LET kom$="" FOR k = 1 TO theSize LIST.GET theList, k, theText$ IF (theText$="") THEN kom$="" IF (theText$="") THEN kom$="" IF (theText$="") THEN kom$="" IF (theText$="") THEN kom$="" IF (theText$="") THEN kom$="" NEXT k PRINT kom$ GR.OPEN 255, 0, 0, 0 GR.BRIGHTNESS 0.7 GR.ORIENTATION 1 GR.SCREEN w, h a = 255 r = 255 g = 255 b = 255 fill = 1 GR.COLOR a,r,g,b,fill LET wc=0.95*h LET hc=w LET m=36 GR.CLS GR.CIRCLE n5, hc/m*9.5,wc,w/15.6 GR.CIRCLE n4, hc/m*13.5,wc,w/15.6 GR.CIRCLE n3, hc/m*18,wc,w/15.6 GR.CIRCLE n2, hc/m*22.5,wc,w/15.6 GR.CIRCLE n1, hc/m*26.5,wc,w/15.6 FOR i=1 TO 5 GR.HIDE i NEXT i IF (kom$="") THEN GR.SHOW 2 PAUSE 300 GR.HIDE 2 ENDIF IF (kom$="") THEN GR.SHOW 1 PAUSE 300 GR.HIDE 1 ENDIF IF (kom$="") THEN GR.SHOW 2 GR.SHOW 4 PAUSE 300 GR.HIDE 2 GR.HIDE 4 ENDIF IF (kom$="") THEN GR.SHOW 2 GR.SHOW 5 PAUSE 300 GR.HIDE 2 GR.HIDE 5 ENDIF IF (kom$="") THEN GOTO qq GR.BRIGHTNESS 0.1 GR.CLOSE UNTIL 0 ! ONERROR: qq: LET s$="  " TTS.INIT TTS.SPEAK s$ TTS.STOP GR.BRIGHTNESS 0.1 GR.CLOSE END 

Das Programm verwendet in meinem Fall die Sprachsteuerung als am besten geeignet. Das TTS-Objekt konvertiert Text in Sprache. Ein STT-Objekt konvertiert Sprache in Text. Bei der Arbeit mit STT muss Wi-Fi aktiviert sein, da der aufgezeichnete Soundtrack an einen Server im Internet gesendet wird, von dem das Erkennungsergebnis stammt. Dies sind einige Wörter oder Ausdrücke. Das Programm prüft, ob der Befehl in der Liste enthalten ist, zeigt den Befehl auf dem Bildschirm an und führt ihn aus. Wenn der Text nicht erkannt wird, zeigt das Programm eine Meldung darüber an. All dies wird in einem endlosen Zyklus wiederholt. Das Programm wird durch den Befehl „Stopp“ oder durch Drücken der Eingabetaste beendet. Die geometrischen Abmessungen werden relativ verwendet, um die Bindung auf verschiedenen Bildschirmen mit unterschiedlichen Größen und Auflösungen zu automatisieren, was nicht immer funktioniert. Die auf dem Bildschirm gezeichneten Kreise sind Objekte und werden beim Erstellen automatisch nummeriert.

Der Befehl GR.SHOW 2 zeigt den Kreis an, der als zweiter erstellt wurde. Seine Nummer ist in n4 enthalten. Sie könnten GR.SHOW n4 schreiben. In der Zeile IF (theText $ = "forward") THEN kom $ = "forward" werden Sie einen Unterschied in den Werten im Zuweisungsbefehl feststellen - "forward" und "forward". Tatsache ist, dass STT hartnäckig "vorwärts" zurückgibt, obwohl es Fälle von "vorwärts" gibt, erkennt das Programm den Befehl nicht. Es war möglich, dies loszuwerden, aber ich habe das Programm nicht kompliziert, sondern einfach die Rechtschreibung korrigiert, wenn es auf dem Bildschirm angezeigt wurde. Es gibt immer noch Fehler beim Erkennen des Befehls "links". Vielleicht sind dies jedoch die Merkmale meiner Aussprache.

Leider kann ich hier keinen Clip einfügen, der die Funktionsweise des Programms zeigt.
Schauen Sie hier .

Source: https://habr.com/ru/post/de424945/


All Articles