Inhoudsopgave:

Arduino Galgje in Morse - Ajarnpa
Arduino Galgje in Morse - Ajarnpa

Video: Arduino Galgje in Morse - Ajarnpa

Video: Arduino Galgje in Morse - Ajarnpa
Video: SUPER ELF TINY BASIC "GALGJE" 2024, November
Anonim
Arduino Galgje in Morse
Arduino Galgje in Morse

In deze tutorial laat ik je zien hoe je je eigen Arduino kunt instellen om Hangman te spelen door morsecode te verzenden met een eenvoudige zaklamp of de zaklampfunctie vanaf je telefoon.

Het enige dat u hoeft te volgen zijn: Een Arduino-bord.10 LED-lampjesDraden om alles aan te sluiten. Extra:Een piëzo-element (om geluid toe te voegen).

Stap 1: De LED-verlichting instellen

De LED-verlichting instellen
De LED-verlichting instellen

Dit spel van Morse maakt gebruik van 4 lampjes om de 4 letters in het woord aan te geven die geraden moeten worden en 5 lampjes om de levens aan te geven waarmee de speler nog moet raden, dus eerst moet je 9 LED's aansluiten -verlichting op de gebruikelijke manier, zoals op de foto te zien is.

Stap 2: Voeg een geïmproviseerde lichtsensor toe

We kunnen niet zomaar geld naar elektronicawinkels gooien, dus ik heb besloten om dit project goedkoop te houden, door een eenvoudige LED-lamp te gebruiken als een geïmproviseerde lichtsensor.

Het enige wat je hoeft te doen is de plus-kant van de LED-lamp aan te sluiten op een van je analoge poorten (in mijn geval A0) en de min-kant op je aarde.

Stap 3: Voeg uw woordenboek toe

Voeg uw woordenboek toe
Voeg uw woordenboek toe

Laten we allereerst beginnen met het toevoegen van een soort woordenboek om letters te vertalen naar hun corresponderende morsecodes. Om dit te doen, maken we eenvoudig een array van 26 bij 5, waarbij het eerste slot van elke secundaire array de letter heeft en de 4 volgende slots de bijbehorende morsecode of een spatie als er geen code meer is. Dus bij bijvoorbeeld de letter s heeft het eerste vakje een 's', het tweede, derde en vierde vakje een '.' en het laatste slot heeft ' '.

Stap 4: Laat de lichten standaard oplichten

Laat de lichten standaard oplichten
Laat de lichten standaard oplichten
Laat de lichten standaard oplichten
Laat de lichten standaard oplichten

In deze stap zorgen we ervoor dat de lampjes branden zodra het programma start en Morse de letter die ze vertegenwoordigen zodra de gebruiker ze correct heeft geraden (de code hiervoor wordt in stap 6 geschreven). We zorgen er ook voor dat er net zoveel lampjes branden voor de levens als de speler nog levens heeft.

Zorg ervoor dat je een array hebt met de poortnummers en gehele getallen ingesteld op 0 om de tijd weer te geven waarop het lampje aan en uit moet gaan en welk deel van de Morse het LED-lampje momenteel laat zien.

Stap 5: De invoer toevoegen

De invoer toevoegen
De invoer toevoegen

Nu zullen we de code schrijven om te controleren of de speler een licht schijnt op het LED-lampje dat is aangesloten op onze analoge poort A0, en of ze deze in de juiste letter moeten vertalen.

Om er zeker van te zijn dat de meting correct is, nemen we het gemiddelde van elke 20 metingen van de LED-lamp en gebruiken dat aantal om bij te houden of de lamp uit of aan is. Om dit te doen, stellen we aan het begin van het programma NUM_AVG in op het aantal keren dat we willen dat het het licht controleert voordat het wordt gemiddeld. Hoe hoger dit getal, hoe nauwkeuriger de meting, maar het kan ook vertragingen veroorzaken.

msBtnPushed staat voor de tijd dat het lampje aan is geweest.lastPressed is een boolean die bijhoudt of het lampje in de vorige lus aan was.

Stap 6: De invoer verwerken

De invoer verwerken
De invoer verwerken
De invoer verwerken
De invoer verwerken

Voor deze stap zullen we kijken wat we moeten doen als er genoeg tijd is verstreken om aan te nemen dat er geen Morse meer zal worden toegevoegd, en we moeten controleren of de Morse een brief heeft verzonden en of het een juiste brief is.

Om dit te doen, moeten we de string wordToGuess hebben ingesteld op het woord dat we willen dat onze spelers raden. Ik heb persoonlijk een generator voor willekeurige getallen om het aan het begin op een willekeurig woord in te stellen, maar je kunt het ook gewoon op een enkel woord instellen.

We moeten er ook voor zorgen dat de teller elke lus met één omhoog gaat, anders zou het hele programma niets doen. Verder heb ik de delay-functie toegevoegd, om ervoor te zorgen dat er elke milliseconde een lus is.

PS: Alle Serial.println-functies zijn alleen voor testdoeleinden. Ze kunnen na voltooiing worden verwijderd.

De goodTimer en badTimer zijn gewoon waarden voor als je van plan bent een piëzo-element te gebruiken om geluid toe te voegen. Als je dat wilt, moet je ook de code in de tweede afbeelding toevoegen, die de geluiden afspeelt.

Stap 7: Morsing van de correct geraden letters

Morsing van de correct geraden letters
Morsing van de correct geraden letters

Zoals eerder beloofd, zullen we in deze stap de lichten maken die de letters vertegenwoordigen die correct zijn geraden Morse hun letter.

Hiervoor heb ik twee functies geschreven: morseThis en nextLetter. Het gebruikt de nummers die we eerder in onze timers-array hebben ingesteld en verandert ze afhankelijk van welk deel van de morsecode het momenteel schijnt.

Als de timer de tijd bereikt waarop het licht moet gaan, schakelt hij eenvoudig het licht in en voert de code uit om nieuwe timers in te stellen om het licht uit en weer aan te zetten. Als de timer het deel bereikt waarop het licht terug moet gaan uit, schakelt het het licht uit en stelt vervolgens de code in om het volgende deel van de letter weer te geven. Als er geen volgend deel is, wordt het teruggezet naar het eerste deel.

Stap 8: Onze installatie en reset bekijken

Onze installatie en reset bekijken
Onze installatie en reset bekijken

Natuurlijk zal het programma niet draaien als de lampjes niet op output en input staan. Ik voeg ook een generator voor willekeurige getallen toe om een woord toe te voegen uit een lijst met woorden die ik in een array heb geplaatst met de naam WordsToGuess.

Daarnaast moeten we de reset-functie toevoegen en ervoor zorgen dat alle waarden worden teruggezet naar de standaardwaarden.

Stap 9: Alle variabelen in één afbeelding

Alle variabelen in één afbeelding
Alle variabelen in één afbeelding

Ten slotte kunt u dit gebruiken om te controleren of u alle benodigde variabelen correct hebt ingesteld.

Geniet nu van het spelen van Hangman in Morse!

Aanbevolen: