Inhoudsopgave:
- Benodigdheden
- Stap 1: Coderen en plannen
- Stap 2: Toetsenbord
- Stap 3: LCD-scherm
- Stap 4: Laatste (ruw) werkproduct
- Stap 5: Alle toeters en bellen
Video: Lazy 301 Dart Buddy! - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Mijn kamergenoten op de universiteit en ik hebben onlangs een in elkaar geslagen dartbord geërfd…
We zijn begonnen met het verkennen van games zoals 301, waarin elke speler begint met 301 punten en in de loop van een paar rondes naar nul punten gaat. Dit was leuk, maar schrijven op het (kleine) whiteboard naast het bord was tijdrovend en zorgde ervoor dat de volgende speler niet kon schieten totdat de vorige speler uit de weg was.
DUS, ik dacht dat het een leuk middagproject zou zijn om een op arduino gebaseerde rekenmachine samen te stellen die ons zou kunnen helpen.
Binnen een uur of zo had ik een ruw werkend prototype op een breadboard. Maar met nog een paar uur werk verwijderde ik het breadboard en maakte alles vast aan een goedkope doos die ik aan de muur hing.
Benodigdheden
Arduino Nano
Elke goedkope Adafruit/Amazon-versie van het volgende:
16x2 LCD-scherm
Toetsenbord
Potentiometer (diverse weerstanden werken)
Man-man, man-vrouw, vrouw-vrouw geassorteerde jumperdraden
Piëzo-luidspreker
Breadboard
Stap 1: Coderen en plannen
De code was extreem eenvoudig en eenvoudig. Ik ging hier niet voor iets speciaals omdat het een snel project was, maar je kunt naar wens met de code knoeien. Ik plande het spel voor één tot vier spelers.
Ik heb een Arduino-functie geschreven om vier spelers tevreden te stellen. Ik noemde het "game4p". Ik kopieerde en plakte het vervolgens nog drie keer en hernoemde de functies "game1P", "game2P", enz. en verwijderde de extra code dienovereenkomstig. Het basisidee was als volgt:
1) Print scores, vraag speler 1 om te gaan
2) Wanneer de speler de score invoert, gaat u door naar de volgende speler als die er is
3) herhaal (2) totdat alle spelers gaan, begin dan terug bij (1)
4) als de score van een speler nul bereikt, beëindigt u het spel en vraagt u om een nieuw spel
Je kunt naar de code kijken om te zien hoe ik dingen heb afgehandeld zoals:
-Invoeren van dingen in het toetsenbord
-Zorgen voor een goede inbreng
- Zowel optellen als aftrekken toestaan met respectievelijk de toetsen linksonder en rechts
Stap 2: Toetsenbord
Ik gebruikte een goedkoop toetsenbord om mijn invoer af te handelen.
Arduino's toetsenbordbibliotheek zorgt voor alle coole dingen achter de schermen die hier prachtig worden uitgelegd. In principe heb je één pin per rij en één pin per kolom vrij op je arduino nodig.
In mijn geval gebruikte ik de toets rechtsonder om een aftrekactie te activeren (om je score af te trekken van 301) en de toets linksonder voor optellen (in het geval dat iemand het verprutst, zou het spel niet verpest zijn). Door op deze toetsen te drukken zonder eerst een nummer in te voeren, gaat u gewoon door naar de volgende speler.
Na een paar minuten spelen met de seriële monitor en de meegeleverde voorbeeldcode die bij de toetsenbordbibliotheek wordt geleverd, was ik klaar om het LCD-scherm te integreren om de toetsaanslagen weer te geven.
Stap 3: LCD-scherm
Nogmaals, arduino heeft ook een ingebouwde bibliotheek voor dit onderdeel. De LCD-bibliotheek behandelt alle shenanigans die LCD-schermen gebruiken. Een geweldige pinout-bron is hier te vinden. Alle LCD-schermen die ik ooit heb gebruikt, volgen dezelfde pinout die in die link wordt uitgelegd.
Ten tijde van het ruwe prototype kon ik geen potentiometer vinden, die nodig is om het contrast van de tekst op het scherm met de achtergrondverlichting (nodig voor pin 3) aan te passen. Dus ik gebruikte een aantal weerstanden om een spanningsdeler te maken en onderzocht een plek die me redelijk leek.
Na nog een paar minuten te hebben geknoeid met de seriële monitor, was ik klaar om alles in elkaar te zetten!
Stap 4: Laatste (ruw) werkproduct
Hier is een video van het breadboard-product in actie. Alles werkt zoals verwacht.
Je kunt hier stoppen na je uur werken, of je kunt nog een paar uur doorbrengen en het inpakken om er (iets) leuker uit te zien zoals ik deed…
Stap 5: Alle toeters en bellen
Nee, het is geen bom. Dit ziet er vrij ruw uit, maar het klaart de klus!
Ik heb een luidspreker toegevoegd voor wat aangename feedback die overeenkomt met goede/slechte toetsaanslagen. Met een kleine plastic doos die ik had liggen en wat ritssluitingen, kon ik dit ding inpakken en aan de muur hangen!
Bedankt voor het lezen, beoordeel en overweeg om op mij te stemmen in de "1 Hour Challenge" waarin dit project is ingediend.
Stel gerust je vragen in de comments!
Aanbevolen:
Lazy 7 / Quick Build-editie: 8 stappen (met afbeeldingen)
Lazy 7 / Quick Build-editie: Ja. Nog een. Ik kopieer/plak de informatie die ik hier op Thingiverse heb geplaatst, deze documentatie is alleen echt nodig voor de routering van de ledstrip. Onlangs heb ik de 7 Segment Clock - Small Printers Edition gepubliceerd, het eerste 7-segmentdisplay dat ik voor ons heb gebouwd
Lazy 7 / One: 12 stappen (met afbeeldingen)
Lazy 7 / One: Lazy 7 / One Kenmerken/instructies zijn hetzelfde als bij andere projecten op basis van dezelfde schets, hier is nog een video (ook gelinkt vanuit de schetsinstructies in stap 10). Update - 2020/07/30De elektronicabehuizing STL gesplitst en nog een omslag toegevoegd (B)
Magno-buddy: 5 stappen
Magno-buddy: Ik ben altijd al gefascineerd geweest door magneten. Vandaag heb ik speelgoed gemaakt voor mijn zus om mee te spelen. Het is heel gemakkelijk te maken, je hebt alleen twee kleine magneten, een kleine auto, een batterij en decoraties nodig. Ook: dit is mijn eerste instructable