Inhaltsverzeichnis:
Video: Virtuelles Versteckspiel - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:15
Unsere Enkelkinder lieben es, Verstecken zu spielen, aber sie haben nicht wirklich viele gute Plätze im Haus. Ich beschloss, ein virtuelles Versteckspiel zu machen, damit sie trotzdem den Spaß an der Jagd haben konnten. In meiner Version versteckt man einen Gegenstand mit einem RF-Empfänger und ein anderer verwendet einen RF-Sender, um danach zu suchen. Der Sender ist fast identisch mit dem, den ich in einem früheren Instructable beschrieben habe, außer dass er nur eine Taste hat. Der RF-Empfänger aktiviert ein kleines Sprachaufzeichnungs- / Wiedergabemodul wie das, das ich in meinem Slot Machine Instructable verwendet habe. Die Nachricht, die ich aufgenommen habe, lautet: „Hier bin ich. Komm und finde mich, komm und finde mich.“Es gibt eine Vielzahl von Möglichkeiten, das Spiel zu spielen, darunter zu sehen, wer den Gegenstand mit den wenigsten Tastendrücken finden kann. Oder jedes Kind kann 1 Minute Zeit haben, um es zu finden. Wenn sie es nicht finden, bekommt das nächste Kind eine Minute und so weiter.
Schritt 1: RXC6 RF-Empfänger
In meinen vorherigen Instructables mit RF-Empfängern habe ich den RXB6 verwendet, um die Daten in das TTL-Format zu konvertieren, und einen Mikrocontroller, um die eingehenden Nachrichten zu decodieren. Der Empfänger in diesem Projekt ist ein RXC6-Modul, das die gesamte Dekodierung der HF-Nachricht übernimmt, sodass kein Mikrocontroller benötigt wird. Tatsächlich besteht ein Teil des Einrichtungsprozesses darin, den Sender speziell mit dem Empfänger zu koppeln. Nach dem Pairing kann das Modul bis zu vier verschiedene Schlüssel desselben Senders entschlüsseln. Wir benötigen nur einen Ausgang für dieses Projekt, aber Sie müssen möglicherweise alle vier Ausgänge überprüfen, um festzustellen, welcher durch den von Ihnen gewählten Code aktiviert wird. Der Code in der Software stimmt mit einer vorhandenen Fernbedienung überein und aktiviert den D0-Ausgang.
Das Setup für das RXC6-Modul hat einen Lötteil und einen Knopfdruckteil. Wie Sie im Bild oben sehen können, befinden sich auf der Rückseite der Platinen ein paar Lötpads. Bei diesem Projekt lassen wir beide Pads offen, da wir beim Empfang des Signals nur einen kurzzeitigen hohen Impuls wünschen. Der zweite Modus hält einen Ausgang hoch, bis der Code für einen anderen Schlüssel empfangen wird. Wenn dies geschieht, wird der erste Ausgang wieder auf Low und der neue Ausgang wird auf High verriegelt. Der dritte Modus hält den passenden Ausgang hoch, wenn eine Taste zum ersten Mal gedrückt wird, und schaltet ihn beim nächsten Drücken derselben Taste wieder auf niedrig um.
Auf der Vorderseite des Moduls befindet sich auch ein kleiner Taster. Um alle Senderpaarungen zu löschen, halten Sie die Taste gedrückt. Die LED geht nach einigen Sekunden an. Halten Sie die Taste weiter gedrückt, bis die LED erlischt. Um einen Sender mit dem Modul zu koppeln, halten Sie die Taste gedrückt, bis die LED aufleuchtet, und lassen Sie dann die Taste los. Drücken Sie danach eine beliebige Taste am Sender. Die LED am Modul sollte einige Male blinken, wenn das Pairing funktioniert. Die meisten gängigen 433-MHz-Sender funktionieren. Die beiden oben abgebildeten sind Beispiele von denen, die ich erfolgreich gepaart habe.
Schritt 2: Hardware
Der Sender wird mit einer Knopfbatterie (2032) betrieben, daher ist ein geringer Stromverbrauch entscheidend. Das meiste davon wird in der Software erreicht, aber es wird durch die Tatsache unterstützt, dass der ATtiny85 normalerweise mit dem internen 1-MHz-Takt läuft. Die Regel ist, dass niedrigere Taktfrequenzen weniger Leistung benötigen und 1-MHz perfekt für die Senderlogik ist.
Das eigentliche HF-Sendermodul, das ich gerne verwende, ist ein FS1000A, das allgemein erhältlich ist. Es ist sowohl in 433-MHz- als auch in 315-MHz-Versionen erhältlich. Der Software ist es egal, welche Sie verwenden, aber Sie müssen sicherstellen, dass die Empfängerplatine auf der gleichen Frequenz arbeitet. Die meisten meiner Projekte verwenden 433-MHz-Geräte, weil dies von den verschiedenen billigen drahtlosen Geräten verwendet wird, die ich angesammelt habe. Das im Bild gezeigte Layout der Senderplatine passt gut in eine alte Tablettenflasche. Es ist nicht schön, aber gut genug für das, was benötigt wird.
Der Empfänger ist auch in eine alte Tablettenflasche eingebaut. Das Ganze, inklusive des recht großen 18650 Batteriehalters, ist heiß auf einen großen Holz-Bastelstab geklebt. Der Lautsprecher für das Soundmodul ist nur ein überzähliger 8-Ohm-Lautsprecher (4-Ohm würde auch funktionieren). Ein Teil des Bodens der Tablettenflasche ist ausgeschnitten, damit der Ton gut gehört werden kann. Das Soundmodul ist das preiswerte ISD1820. Da alles mit Batteriespannung läuft, werden keine Regler und kein Spannungsteiler zwischen dem HF-Modulausgang und dem Soundmodul-Triggereingang benötigt. Wie auf den Bildern zu sehen ist, habe ich eine kleine Batterieladeplatine hinzugefügt, damit ich den 18650-Akku mit einem Standard-USB-Telefonkabel aufladen kann, ohne ihn aus der Halterung zu nehmen.
Sowohl das Sender- als auch das Empfängermodul funktionieren mit den richtigen Antennen besser, werden jedoch oft nicht mitgeliefert. Sie können sie kaufen (die richtige Frequenz erhalten) oder Ihre eigenen herstellen. Bei 433-MHz beträgt die richtige Länge etwa 16 cm für eine gerade Drahtantenne. Um einen gewickelten zu machen, nehmen Sie etwa 16 cm isolierten, massiven Kerndraht und wickeln Sie ihn in einer einzigen Schicht um einen 5/32-Zoll-Bohrerschaft. Isolieren Sie ein kurzes gerades Stück an einem Ende ab und verbinden Sie es mit Ihrer Sender-/Empfängerplatine. Ich habe festgestellt, dass der Draht eines Schrott-Ethernet-Kabels gut für Antennen geeignet ist.
Schritt 3: Software
Die Sendersoftware ist eine leicht modifizierte Version der ATtiny85 RF-Fernbedienung von einem früheren Instructable. Die einzigen Modifikationen sind eine geringfügige Änderung der Bit- und Sync-Zeiten, eine Änderung des übertragenen Drei-Byte-Codes und das Entfernen der Routinen zur Handhabung von drei anderen Schlüsseln.
Die Sendersoftware verwendet gängige Techniken, um den Chip in den Schlafmodus zu versetzen. In diesem Modus zieht es weniger als 0,2 ua Strom. Am Schaltereingang (D1) ist der interne Pullup-Widerstand eingeschaltet, zieht aber keinen Strom, bis ein Schalter gedrückt wird. Der Eingang ist für Interrupt-on-Change (IOC) konfiguriert. Wenn der Schalter gedrückt wird, wird ein Interrupt erzeugt, der den Chip zum Aufwachen zwingt. Der Interrupt-Handler führt eine Verzögerung von etwa 48 ms aus, damit der Schalter entprellt. Dann wird überprüft, ob der Schalter gedrückt wurde, und die Schalterbehandlungsroutine wird aufgerufen. Die übertragene Nachricht wird mehrmals wiederholt (ich habe 5 Mal gewählt). Dies ist typisch für kommerzielle Sender, da es so viel HF-Verkehr auf 433-MHz und 315-MHz gibt. Die wiederholten Nachrichten tragen dazu bei, dass zumindest eine zum Empfänger durchkommt. Die Sync- und Bitzeiten werden an der Vorderseite der Sendersoftware definiert, aber die Datenbytes sind in die Switch-Handler-Routine eingebettet.