Innehållsförteckning:
- Tillbehör
- Steg 1: Kod och planering
- Steg 2: Knappsats
- Steg 3: LCD -skärm
- Steg 4: Slutlig (grov) fungerande produkt
- Steg 5: Alla klockor och visselpipor
Video: Lazy 301 Dart Buddy !: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
Mina college -kamrater och jag ärvde nyligen en misshandlad darttavla …
Vi började utforska spel som 301, där varje spelare börjar med 301 poäng kommer ner till noll poäng under några omgångar. Detta var roligt, men att skriva på den (lilla) whiteboardtavlan som fanns bredvid brädan var tidskrävande och hindrade nästa spelare från att skjuta tills den förra spelaren var ur vägen.
SÅ, jag trodde att det skulle vara ett roligt eftermiddagsprojekt att piska ihop en arduino-baserad miniräknare som kan hjälpa oss.
På någon timme hade jag en grov fungerande prototyp på en brödbräda. Men med ytterligare några timmars arbete tog jag bort brödbrädan och fäste allt till en billig låda som jag hängde från väggen.
Tillbehör
Arduino Nano
Alla billiga Adafruit/Amazon -versioner av följande:
16x2 LCD -skärm
Knappsats
Potentiometer (diverse motstånd fungerar)
Man-hane, man-kvinna, kvinnlig-kvinna blandade bygeltrådar
Piezo -högtalare
Bakbord
Steg 1: Kod och planering
Koden var extremt enkel och grundläggande. Jag tänkte inte på något fancy här eftersom det var ett snabbt projekt, men du kan röra med koden efter eget tycke. Jag planerade spelet för en till fyra spelare.
Jag skrev en arduino -funktion för att tillfredsställa fyra spelare. Jag kallade det "game4p". Jag kopierade sedan och klistrade in den ytterligare tre gånger och bytte namn på funktionerna "game1P", "game2P", etc. och raderade extra kod i enlighet därmed. Grundidén var följande:
1) Skriv ut poäng, uppmana spelare 1 att gå
2) När spelaren anger poäng, gå vidare till nästa spelare om det finns en
3) upprepa (2) tills alla spelare går, börja sedan igen vid (1)
4) om en spelares poäng når noll, avsluta spelet och be om ett nytt spel
Du kan titta på koden för att se hur jag hanterade saker som
-Mata in saker i knappsatsen
-Säkrar bra input
-Tillåter både addition och subtraktion med knapparna nedre vänster respektive höger
Steg 2: Knappsats
Jag använde en billig knappsats för att hantera min input.
Arduinos knappsatsbibliotek tar hand om alla coola saker bakom kulisserna som vackert förklaras här. I grund och botten behöver du en nål per rad och en nål per kolumn gratis på din arduino.
I mitt fall använde jag den nedre högra tangenten för att utlösa en subtraktionsåtgärd (för att subtrahera din poäng från 301) och den nedre vänstra knappen för att lägga till (om någon förstörde skulle spelet inte förstöras). Genom att trycka på dessa knappar utan att ange ett nummer först gick du bara vidare till nästa spelare.
Efter ett par minuters lek med den seriella skärmen och den medföljande exempelkoden som medföljer knappsatsbiblioteket var jag redo att integrera LCD -skärmen för att visa knapptryckningarna.
Steg 3: LCD -skärm
Återigen har arduino också ett inbyggt bibliotek för denna komponent. LCD -biblioteket hanterar alla de shenanigans som LCD -skärmar använder. En bra pinout -resurs hittar du här. Alla LCD -skärmar jag någonsin har använt följer samma pinout som förklaras i den länken.
Vid tidpunkten för den grova prototypen kunde jag inte hitta en potentiometer, som behövs för att justera kontrasten på texten på skärmen med bakgrundsbelysningen (behövs för stift 3). Så jag använde ett gäng motstånd för att skapa en spänningsdelare och undersökte en plats som jag verkade rimlig.
Efter ytterligare ett par minuter med att krångla med seriemonitorn var jag redo att sätta ihop allt!
Steg 4: Slutlig (grov) fungerande produkt
Här är en video av breadboard -produkten i funktion. Allt fungerar som förväntat.
Du kan stanna här efter din arbetstimme, eller så kan du spendera ytterligare några timmar och paketera det för att se ut (lite) snyggare som jag gjorde …
Steg 5: Alla klockor och visselpipor
Nej, det är inte en bomb. Det här ser ganska grovt ut, men det gör jobbet!
Jag lade till en högtalare för lite trevlig feedback som motsvarar bra/dåliga knapptryckningar. Med en liten plastlåda som jag hade lagt runt och några dragkedjor kunde jag packa ihop den här och hänga den på väggen!
Tack för att du läste. Vänligen betygsätt och överväga att rösta på mig i "1 timmes utmaning" där det här projiceras.
Ställ gärna frågor i kommentarerna!
Rekommenderad:
Lazy 7 / Quick Build Edition: 8 steg (med bilder)
Lazy 7 / Quick Build Edition: Ja. En till. Jag kommer att kopiera/klistra in informationen som jag har lagt upp på Thingiverse här, den här dokumentationen behövs egentligen bara för ledremsningsdirigering. Nyligen publicerade jag 7 Segment Clock - Small Printers Edition, den första 7 -segmentskärmen jag byggde oss
Lazy 7 / One: 12 steg (med bilder)
Lazy 7/One: Lazy 7/OneFeatures/Instructions är desamma som för andra projekt baserade på samma skiss, här är en annan video (även länkad från skissinstruktionerna i steg 10) .Uppdatering - 2020/07/30 Delade elektronikfodralet STL och lade till ett annat omslag (B)
Lazy Novel Reader's Meal Time Assistance: 14 steg
Lazy Novel Reader's Meal Time Assistance: Projektet är att hjälpa den lata läsaren som läser romanen när han äter men inte vill göra tangentbordet smutsigt
Lazy Mans bärbara cykelpump: 15 steg (med bilder)
Lazy Mans bärbara cykelpump: Vi är en familj på fyra och har fyra cyklar. Varje gång vi vill använda dem finns det säkert några däck att fylla på. Min kompressor är i garaget /verkstaden och inte lättillgänglig från var vi förvarar cyklarna. Därför måste vi använda en h
Glider Dart -flygplan: 4 steg
Glider Dart Airplane: Jag ska visa dig hur du gör ett glider dartplan. Det är ganska enkelt