Inhoudsopgave:
Video: Tap Tap Rainbow - een snel reactiespel voor 2 spelers - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
De LED string gebruikt slechts 3 draden. Dus ik had alleen een 5V-voeding (rood), aarde (wit) en signaal (groen) nodig. Als je ook een Espruino gebruikt, bekijk dan zeker de tutorials op hun website. Die voor de RGB-leds wordt heel duidelijk uitgelegd.
Ik heb de LED-string in 3 delen van 6 LED's gesneden en die vervolgens met extra draden aan elkaar verbonden. Op deze manier gebruiken alle LED's allemaal dezelfde array, wat me 2 extra poorten op het bord bespaart en het is gemakkelijker te programmeren.
Het aansluiten van de knoppen was wat lastiger. Ik wilde zo min mogelijk poorten op het bord gebruiken, dus ik dacht aan het gebruik van een I2C-opstelling, maar faalde daar vreselijk in. Ik kreeg het niet werkend, dus ik zorgde voor iets anders.
Uiteindelijk vond ik een tutorial over Espruino voor een toetsenbord dat is bedraad als een toetsenbordmatrix met 16 knoppen. Dit leek vrij eenvoudig te implementeren, dus ik ging die kant op. Ik had maar 12 knoppen nodig, dus ik zou een 3x4 matrix nodig hebben.
In een toetsenbordmatrix zijn alle knoppen bedraad in kolommen en rijen. Zo heb je maar 8 poorten nodig voor 16 knoppen. In mijn setup had ik maar 2 keer 6 knoppen nodig dus dat zijn in totaal 7 poorten op het bord (4 rijen met 3 kolommen). Het is nog steeds een stuk minder dan het apart aansluiten van de 12 knoppen en de Keypad module van Espruino is erg makkelijk in gebruik.
Ik vond een goede tutorial over het toetsenbord over de basisprincipes van het circuit die me veel heeft geholpen met de bedrading van de knoppen.
Toen ik erin slaagde al mijn knoppen aan te sluiten, raakte ik erg gefrustreerd omdat de connectoren constant weggleden en het al laat werd. Dus ik plakte alles op de doos en vergat helemaal om foto's te maken. Ook niet erg gebruiksvriendelijk de dag dat ik een draad in 1 van de dozen opnieuw moet aansluiten.
Stap 3: De code schrijven
Espruino is geprogrammeerd in Javascript, dus voor mij is het veel minder ingewikkeld dan het schrijven van code voor Arduino.
De code kan wat optimalisatie gebruiken, maar het doet het werk voor nu. Er is ook een bug (misschien is het een functie:D) waarbij je niet precies op 2 knoppen tegelijk kunt drukken. Maar het maakt het een beetje uitdagender (lees frustrerend) om het spel te spelen, dus ik heb het probleem nog niet onderzocht, ik vind het op deze manier leuk (als je verliest is het extra frustrerend).
Het programmeren van de LED's is vrij eenvoudig. Elke LED in de string is 3 waarden in een array. Dus als je een array hebt zoals [255, 0, 0, 255, 0, 0] heb je de eerste 2 LED's rood.
In een snel overzicht.
1. Eerst definieer ik mijn kleuren en maak ik een array van alle kleuren
2. Vervolgens definieer ik de spelerinstellingen, zoals de knop-ID's en welke index elke speler heeft in de LED-reeks
3. Aan het begin van het spel schud ik alle kleuren in de regenboogarray en sla ik die informatie op in een nieuwe array. Daarna reset ik alle LED's en verlicht ik de bovenste LED's met de geschudde regenboogkleuren
4. Eindelijk hebben we de code die luistert naar de belangrijkste gebeurtenissen. Ik sla alle invoer op in een array en controleer of deze array in de juiste volgorde staat.
5. Een leuke extra die ik gisteren heb toegevoegd is dat de winnaars getrakteerd worden op een te gekke regenboog animatie:D
Er zijn nog veel dingen die ik in gedachten heb om het leuker te maken maar dat is iets voor later;)
Ik kan de volledige broncode niet uploaden, dus heb ik deze op Gitlab gezet
gitlab.com/marzsman/tap_tap_rainbow
Stap 4: Veel plezier ermee!!! ?
Toen mijn dochter en ik haar idee opschreven en nadachten over hoe het eruit zou moeten zien, vond ik het idee meteen leuk. Maar ik moet zeggen, ik had nooit gedacht dat het zo leuk zou zijn om te spelen. We hebben al een aantal grote regenboogtikgevechten gehad:D
Ik hoop dat iemand er net zoveel plezier aan zal beleven als wij.
Het is ook het eerste volledige project dat ik in zo'n korte tijd heb gemaakt en iets dat ik deed met mijn 8-jarige dochter EN het is ook mijn eerste instructable (EINDELIJK!), Dus ja in zekere zin is het een heel speciaal project voor mij. Dus ik hoop dat het leuk is!
Als je vragen of suggesties hebt hoor ik ze graag!
Aanbevolen:
Pong-printplaat voor 2 spelers: 3 stappen
Pong-printplaat voor 2 spelers: In deze gids kun je een draagbaar pongspel voor 2 spelers bouwen. Dit ontwerp is gemaakt rond code die op GitHub is gepost door Onur Avun. Ik heb genoten van het maken van dit project, ik hoop dat je het leuk vindt om het te bouwen
Idee voor doe-het-zelf-activiteit voor weerstations voor 12+ jaar: 4 stappen
Idee voor doe-het-zelf-weerstationactiviteit voor 12-plussers: in deze activiteit zullen deelnemers hun weerstation opzetten, de lucht in sturen en de opnames (licht, temperatuur, vochtigheid) in realtime volgen via de Blynk-app. Bovendien leert u hoe u de geregistreerde waarden publiceert
FPGA-reactiespel: 10 stappen
FPGA-reactiespel: tegen de zomer Rutherford en Regita Soetandar
Batterijen van cd-spelers opladen zonder het deksel te openen: 5 stappen
Laad de batterijen van de cd-speler op zonder het deksel te openen: ik gebruik een Sony mp3-cd-speler om naar podcasts te luisteren en naar mijn audiobijbel, ook mp3. Ik heb NiCad AA batterijen erin. Ze waren gratis. Maar als ik ze moet opladen, moet ik het deksel openen om bij het batterijcompartiment te komen. Dat zorgt ervoor dat mijn plaats in mijn a
Zet vertragingsvrije video's van uw computer/Youtube op Sansa-spelers: 4 stappen
Zet vertragingsvrije video's van uw computer/Youtube op Sansa-spelers: Sansa-videospelers ervaren audiovertraging bij de meeste video's van meer dan 5 minuten. My Instructable zal je door de stappen leiden om YouTube-video's en -video's op je eigen computer op je Sansa-videospeler te zetten