Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
Oppdatering 28.1.2019 Jeg jobber for tiden med neste versjon av denne grafregneren. Du kan følge prosjektet på min YouTube -kanal eller Twitter.
Advarsel! Jeg fant en feil i PCB -oppsettet. Venstre og opp knappene er koblet til analoge pinner. Jeg fikset det ved å legge til to pullup-motstander til de to inngangene. Det er ikke den perfekte løsningen, men det fungerer.
Jeg designet en PCB for en håndholdt som er basert på ATmega328P-AU mikrokontrolleren (samme som i Arduino Nano), SSD1306 OLED-skjerm og noen knapper. Jeg la også til et alternativ for å legge til NRF24L01+ radiomodulen for flerspillerspill. Du kan også bruke denne grafregneren som en trådløs kontroller. Jeg har laget trådløse kontrollere før og har til og med en instruks om dem. Alt du trenger er en Arduino Leonardo eller Pro Micro.
Den grafregneren er fullstendig åpen kildekode. Hele kildekoden er gratis å bruke, så vel som PCB -designet. Jeg begynte også å kode en åpen kildekodebasert spillmotor for konsollen. For øyeblikket fungerer alt bortsett fra at fysikkmotoren har noen problemer med høye akselerasjoner. Det er bare fordi fysikkmotoren kjører ramme for ramme i samme hastighet som tegnefunksjonen. Fysikkmotoren burde ha såkalt microstepping (flyttet en piksel samtidig og kontrollert om det er en kollisjon), men jeg må fortsatt jobbe med det.
Som du kan se på bildet, har jeg ikke mottatt SMD -delene ennå. Jeg utvikler for øyeblikket koden med en prototype.
Jeg vil ikke skaffe meg en profesjonell PCB. Kan jeg fortsatt bygge dette?
Selvfølgelig. Jeg har allerede laget en opplæring om hvordan du bygger denne konsollen til en prototypende PCB med prikket kobber. Du finner prosjektet her:
Trinn 1: Få alle delene
Først trenger du alle delene. Du kan bestille kretskortene fra JLCPCB eller et annet nettsted som bruker Gerber -filer. Gerber -filer brukes til å beskrive kretskortet til produsenten. De er bare. ZIP -filer som inneholder alle detaljer i det designede kretskortet.
Her er lenken til PCB:
Her er en liste over komponentene du må kjøpe for å få det til å fungere:
- ATmega328P (TQFP-32)
- 8 stk 6 x 6 x 6 mm knapper
- 16 MHz krystalloscillator
- 2 stk 22 pF 0603 kondensator
- SSD1306-skjerm med SPI-grensesnitt. (128 x 64, monokrom)
- To 0603 10 kΩ motstander
Her er en liste over valgfrie komponenter:
- NRF24L01+
- AMSD1117-3.3 (3, 3 V regulator for NRF24L01+)
- 1206 680 nF kondensator (NRF24L01+ trenger en jevn spenning for å fungere korrekt.)
- 2 stk 1206 led (hvis du vil blinke noen lys)
- 2 stk 0603 motstander for lysdiodene
Trinn 2: Monter brettet
Dette vil være litt vanskelig å beskrive siden jeg ikke har bygget noen PCB ennå. Jeg har ingen anelse om hvor delene gikk, men jeg håper de kommer snart.
Som vanligvis med lodding, bruk en slags avtrekksvifte og vask hendene etter berøring av fluss eller loddetinn. Og vær forsiktig med loddejernet. Det vil gjøre alvorlige brannskader hvis du berører det mens det er på rundt 350 grader Celsius. Hvis du imidlertid får en skade fra loddejernet, bruk kaldt vann for å kjøle ned det brente stedet
Hvis du aldri har loddet SMD -deler, anbefaler jeg på det sterkeste å se noen opplæringsprogrammer fra YouTube. Hovedregelen er å påføre loddetinnet på en pute, sette brikken på plass og lodde pinnen. Så er det bare å gjøre motsatt side, og hvis det er flere pins, gjør dem. Du kan også bruke flux for å hjelpe med loddeprosessen.
Du trenger også loddevei for å kunne lodde mikrokontrolleren. Bare flyt pinnene med loddetinn og bruk loddetinn for å få ut overflødig.
Pass på at du lodder delene på riktig måte. Vanligvis har mikrokontrollere en prikk for å indikere den første pinnen. Vanligvis har PCB også en prikk for å orientere seg.
For SMD -deler vil du vanligvis lodde de små delene først. Hvis du lodder toppene først, vil du sannsynligvis slå dem med loddejernet og frigjøre noen stygge gasser. Jeg kan anbefale denne sekvensen av erfaring. Du trenger ikke å følge denne listen, men den er laget med sunn fornuft:
- Kondensatorer
- Lysdioder og motstander for lysdiodene (valgfritt) [først bør du lodde motstandene]
- Regulator og mikrokontroller (Sørg for at du setter MCU -en på riktig måte! Prikken skal vende på samme måte som merket [hvit prikk] på kretskortet.)
- Krystall
- Knapper
- Overskrifter (Overskriften på NRF24L01+ er akkurat der fingeren din vil hvile, så jeg anbefaler å bruke noen ledninger for å gi litt fleksibilitet for det.)
- Noen ledninger til batteriet. Hovedstrømmen er merket med VCC og GND. VCC skal være rundt 3, 6-6 volt. Denne spenningen går direkte til mikrokontrolleren, så pass på at du ikke legger for mye spenning gjennom den.
Trinn 3: Programvaren
Jeg har laget noen spill for denne typen plattform gjennom årene. Du finner den gamle flerspillkoden herfra (Det er den som heter mushroom_mcp_continued_v10_converted):
github.com/Teneppa/handheld_open_source
Open source -motoren finner du her (jeg brukte Visual Studio til å kode den, så det er flere rare filer):