Inhoudsopgave:

Lazy 301 Dart Buddy! - Ajarnpa
Lazy 301 Dart Buddy! - Ajarnpa

Video: Lazy 301 Dart Buddy! - Ajarnpa

Video: Lazy 301 Dart Buddy! - Ajarnpa
Video: 20 MOMENTS YOU WOULDN'T BELIEVE IF NOT FILMED 2024, Juli-
Anonim
Luie 301 Dart Buddy!
Luie 301 Dart Buddy!
Luie 301 Dart Buddy!
Luie 301 Dart Buddy!
Luie 301 Dart Buddy!
Luie 301 Dart Buddy!

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

Code en planning
Code en planning

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

Toetsenbord
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

LCD scherm
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

Image
Image

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: