De auteur van Instructables onder de bijnaam joshua.brooks heeft een platformspel uitgevonden Arduino met eenknopsbediening. Het enige dat u erin hoeft te doen, is op tijd stuiteren. Het bleek - de score stijgt met één, het lukte niet - het spel stopt en een nieuwe kan worden gelanceerd met dezelfde knop die wordt gebruikt om te springen.
Het spelprogramma draait op Arduino Uno, waarop een tweeregelig display op de HD44780-chip is aangesloten. Wanneer de knop wordt ingedrukt, verbindt Arduino pin 2 met een gemeenschappelijke draad. Het is goed om het aansluitpunt van deze knop met de Arduino met een weerstand tot 10 kOhm aan te halen, zodat de immuniteit voor ruis verbetert. De achtergrondverlichting van het display wordt gevoed via een weerstand van 220 ohm. Dit alles, samen met een breadboard-type breadboard, kabel en jumpers, wordt weergegeven op de foto:
Voor montage zelfgemaakt de master zorgt ervoor dat het display een standaard bedrading heeft:
1 - GND - gemeenschappelijke draad
2 - VCC - plus vermogen
3 - V0 - contrastinstelling
4 - RS - registerselectie
5 - R / W - lezen / schrijven
6 - E - resolutie van de operatie
7 - DB0 - databit 0 (hier niet gebruikt)
8 - DB1 - databit 1 (hier niet gebruikt)
9 - DB2 - databit 2 (hier niet betrokken)
10 - DB3 - databit 3 (hier niet gebruikt)
11 - DB4 - databit 4
12 - DB5 - databit 5
13 - DB6 - databit 6
14 - DB7 - databit 7
15 - LED + - plus achtergrondverlichting
16 - LED- - minus de achtergrondverlichting
Op sommige schermen, vooral op de KB1013VG6-chip, maar niet alleen kan de pinout variëren. Het is prima om in het gegevensblad te kijken en het circuit aan te passen - een tijdelijke kwestie. En alles werkt.
De eerste vier bits worden niet gebruikt omdat de Arduino gegevens in vierbitsmodus naar het scherm stuurt. Daarvoor gebruikt hij dezelfde conclusies om de weergave dienovereenkomstig te configureren.
Tijdens de bouw van joshua.brooks wordt er geen stroom geleverd aan het circuit. Het verbindt de positieve en algemene conclusies van de Arduino (respectievelijk 5V en GND) met de corresponderende bussen van het pakketbord. Hij doet hetzelfde met het display, daar is het nodig om pin 2 op de plusbus aan te sluiten, en op 1 en 16 op de gemeenschappelijke bus. Hij verbindt pin 15 van het display (tegenlichtvermogen) niet rechtstreeks op de plusbus, maar via een weerstand van 220 ohm.
Vervolgens neemt hij de aansluiting van de Arduino op zich met het display:
Verbindt DB7-beeldschermingang met Arduino pin 3.
Verbindt DB6-ingang met Arduino pin 4.
Verbindt DB5-ingang met Arduino pin 5.
Verbindt de DB4-ingang van het beeldscherm met pin 6 van de Arduino.
Verbindt de ingang E van het scherm met pin 9 van de Arduino.
Verbindt de R / W-ingang van het scherm met pin 10 van de Arduino (of gemeenschappelijke draad)
Verbindt de RS-ingang van het scherm met pin 11 van de Arduino.
Verbindt V0-ingang met Arduino pin 12 (of gemeenschappelijke draad).
Indien gewenst kunt u een contrastregelaar toevoegen. Nu is hij altijd maximaal.
De knop blijft. De wizard verbindt een van de pinnen van de knop met een gemeenschappelijke draad, de andere met pin 2 van de Arduino. Het is beter om een pull-up-weerstand toe te voegen (zie hierboven). Alles is klaar om te programmeren.
De hele ontwikkelingscyclus van joshua.brooks werd doorgebracht in Tinkercad. , met wat vertragingen, kun je dit spel in een virtuele machine spelen, de code wijzigen en meteen zien wat er gebeurt. Er is ook een Download Gerber-knop voor degenen die het spel op een printplaat willen samenstellen. En als je Tinkercad erg hard blijft hangen, download dan onmiddellijk en probeer hem op een echt stuk hardware uit te voeren.
Je zou zoiets als dit moeten krijgen:
Hoewel deze game niet eens de derde plaats behaalde in competities die Instructables echt leuk vond, werd het daar een echte hit. De herhaling werd gemeld door 23 gebruikers. Bijvoorbeeld kb55mail:
Rob Cai:
aryas25:
zhollett:
En anderen. Hoe zit het met jou?