Inhoudsopgave:
- Stap 1: De LED-verlichting instellen
- Stap 2: Voeg een geïmproviseerde lichtsensor toe
- Stap 3: Voeg uw woordenboek toe
- Stap 4: Laat de lichten standaard oplichten
- Stap 5: De invoer toevoegen
- Stap 6: De invoer verwerken
- Stap 7: Morsing van de correct geraden letters
- Stap 8: Onze installatie en reset bekijken
- Stap 9: Alle variabelen in één afbeelding
Video: Arduino Galgje in Morse - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
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
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
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
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
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
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
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
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
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:
Arduino tekst-naar-spraak-converter met LM386 - Pratend Arduino-project - Talkie Arduino-bibliotheek: 5 stappen
Arduino tekst-naar-spraak-converter met LM386 | Pratend Arduino-project | Talkie Arduino-bibliotheek: Hallo allemaal, in veel projecten hebben we arduino nodig om zoiets als een pratende klok te spreken of wat gegevens te vertellen, dus in deze instructables zullen we tekst omzetten in spraak met behulp van Arduino
Pratende Arduino - Een MP3 afspelen met Arduino zonder enige module - Mp3-bestand afspelen vanaf Arduino met PCM: 6 stappen
Pratende Arduino | Een MP3 afspelen met Arduino zonder enige module | Mp3-bestand van Arduino afspelen met PCM: in deze instructie leren we hoe we een mp3-bestand met arduino kunnen spelen zonder een audiomodule te gebruiken, hier gaan we de PCM-bibliotheek voor Arduino gebruiken die 16 bit PCM van 8 kHz-frequentie speelt, dus laten we dit doen
Goedkoopste Arduino -- Kleinste Arduino -- Arduino Pro Mini -- Programmeren -- Arduino Neno: 6 stappen (met afbeeldingen)
Goedkoopste Arduino || Kleinste Arduino || Arduino Pro Mini || Programmeren || Arduino Neno:…………………………….. ABONNEER aub op mijn YouTube-kanaal voor meer video's……. Dit project gaat over hoe je een kleinste en goedkoopste arduino ooit kunt aansluiten. De kleinste en goedkoopste arduino is arduino pro mini. Het lijkt op arduino
Morse-toongenerator (CW-pieper met laag vermogen): 3 stappen
Morse-toongenerator (CW-pieper met laag vermogen): Hier beschrijf ik hoe ik een eenvoudige toongenerator met laag vermogen bouw die ik gebruik om mijn zoon morsecode te leren. Tijdens het opruimen van mijn kelder vond ik mijn oude Wehrmacht-morsesleutel. Deze keyer werd gebruikt door Duitse troepen tijdens de tweede wereldoorlog. De sleutelaar had een
Beheers de wonderen van Samuel B.F. Morse! (Mijn eerste instructable): 3 stappen
Beheers de wonderen van Samuel B.F. Morse! (My First Instructable): Hey jongens, vandaag zal ik je laten zien hoe je een eenvoudige telegraaf kunt maken voor minder dan $ 10. Dit is een eenvoudig concept voor een telegraafknop en -klikker voor één persoon. Het idee is om een wasknijper te gebruiken om de knop te maken en een batterijpakket met behulp van een zoemer t