Intelligent Arduino Uno & Mega Tic Tac Toe (luffarschack) (2 / 5 steg)
Steg 2: Skärbräda
För Arduino Mega
Naturligtvis kan du minska layouten så att den passar på en mindre styrelse. Jag använde min stora bakbord rent av ergonomiska skäl så att mina barn inte skulle slå lysdioder eller motstånd när du försöker trycka på knapparna.
Vi har i princip 9 gröna lysdioder som representerar mänskliga spelarens bitar (nollor, antar jag) och 9 röda lysdioder som representerar den Arduino bitar (kors). På Fritzing diagram jag har faktiskt använt bi-färg lysdioder så känn dig fri att anpassa som du vill. Varje LED har dess anoden (+ eller långa ben) ansluten till en pin på Arduino och katoden (- eller korta ben) ansluten via ett 220Ω motstånd till jord. I Fritzing diagrammet, har jag noterat hur "numrering" av knappar och lysdioder motsvarar arrayer i koden. Fritzing diagrammet roteras 90° medurs jämfört med bilderna.
9 tillfällig tryckknappar tillåter människan att placera sina pjäser på brädet. En sista tryckknapp tillåter det att återställas för att börja spela igen. Varje knapp har en terminal ansluten till + 5V och andra terminal ansluten via ett 10KΩ motstånd till jord. Terminalen är ansluten till marken är också ansluten till en pin på Arduino.
Den lilla bakbord innehar LCD som bara ger textuell återkoppling ("Din tur...", "Min tur...", "Jag vann!", etc.) och två lysdioder - röd och grön- eller ett bi-färg LED att Visa vinnare. Potentiometern kan kontrast LCD justeras. Lamporna är kopplade exakt som lysdioder i stora styrelsen och LCD är trådbunden upp som vanligt (det finns en miljon handledning förklarar hur man gör detta på webben).
För Arduino Uno
Det är en liknande setup till Mega men vi har naturligtvis mycket mindre stift till vårt förfogande. För att minska antalet stift behövs, skapade jag en knapp matris med motstånd gå in en enda analoga pin på Uno. Jag följde denna mycket bra handledning och har inkluderat i diagram från sidan ovan. Jag tog bort den sista raden med knappar. Jag var tvungen att leka och experimentera för att träna de spänningar som skickades till den analoga pin på Arduino och noterade dem ner för varje knapp.
Lysdioderna visade sig vara knepigt. Jag bestämde mig för att Charlieplex alla dem som tillåter oss att styra 20 lysdioder från endast 5 digitala (PWM) stift. Jag följde denna tutorial och använde detta bibliotek för att göra mitt liv lättare. Ledningar som tog ett tag att arbeta ut så ägna särskild uppmärksamhet åt att se till att du får det rätt på en skärbräda. Följ Fritzing diagrammet till skrivelsen eller du kommer att sluta i en ättikslag. Det är mycket svårt att fel-hitta när Charlieplexing så, igen, var uppmärksam på diagrammet. Jag började från början minst 10 gånger! Jag vet att jag borde ha med lite mer motstånd mellan Arduino Uno och lamporna men jag inte orkade.
Jämfört med den Arduino Mega versionen, jag har tagit bort LCD, så vinnaren tillkännages genom med hjälp av två olika färg lysdioder. Både ljus om det är oavgjort.