MRETV - Video, ljud och mycket mer från en standard Arduino! (8 / 10 steg)
Steg 8: för experten
Om du läser AVR assembler titt på funky starten av det faktiska MRETV avbrottet (nedre högra panelen av detta Instructables titeln bilden).
Mjukvaran följetong Tx:
På en 168 eller 328 baserade Arduino seriell Tx flyttar från stift 1 till stift 3. Det flyttar till stift 18 2560. MRETV mjukvaran följetong är alltid 2400 8n1.
168/328 CPU 28 pin DIP säker hårdvara hacka:
MRETV använder Arduino seriell Tx PIN-koden generera video. Du kanske har märkt en bieffekt. Om du aktiverar seriella bildskärmen ser du videodata som slumpmässiga tecken kommer från den seriella porten. Jag byggde två trivial kretsar under utveckling. Man kan ansluta och koppla från den seriella Tx stiftet utan att ändra din Arduino. Den andra ansluter till först och lägger till möjligheten att växla mellan normal Arduino Tx och pin 3 (programvaran Tx) att behålla full duplex under video generation.
De flesta projekt kan helt enkelt använda stift 3 i stället för stift 1 och behöver inte en hårdvara utstyr. Socket kretsen och en avtagbar bygel mellan stift 1 och 3 arbeten böter i stället en switch. Så gör anslutande stift 0 och 3 till en seriell port på datorn i stället för något av detta.
Delar:
SPDT switch
28 pin uttag
vissa rubriker
Konstruktion:
Böj ut stift 3 av uttaget och sätta en leda på den. Detta måste göras så att uttaget kan anslutas i CPU uttaget av din Arduino. Du kan ta den från där, detta är avsnittet expert.
Jag använder en hona till hona och hane kvinnliga hoppare i kombination med dessa kretsar. Det ger mig tillräckligt sladd att hålla saker organiserade på min bänk.
Mega 2560:
Mjukvaran följetong Tx finns på kommunikation pin 18 Rx är pin 0 som vanligt. Med en permanent monterad CPU inte kan du helt enkelt utbyta Tx signaler med stift 1. Den bästa lösningen är att använda stift 18 och 0 för att ansluta till en seriell port på datorn. För närvarande MRETV används alltid UART0 för video (alla CPU) men pågår arbete på 2560 optimering. Kan du gissa vad som kan göras med 3 synkroniserade UARTS i MSPIM?
Varför filen förlängningar?
Avbrott i MRETV. S är skriven i assembler så kommer bara att sammanställa i biblioteksmappen. MRETV.extensions används för att bestämma vilken förlängning rutiner att inkludera vid kompileringen och måste vara konsekvent mellan din skiss och MRETV koden. En hastighet och storlek förbättring uppnås genom hård kodande vissa värden och beslut i avbrottet.
Diod sensorer:
Diod sensorerna lita inte på kampen mellan gott och ont som andra sensorer men Linjäriteter av den band‐gap energin t.ex kisel med avseende på temperaturen.
Vad betyder ett namn?
MRETV står för Master Raster (utökat) Transmission Vision.
En synlig skärm i 47 x 29 i 8 x 8 pixel = 87232 pixel / 8 bitar = 10904 byte av föränderliga data (det övergående rastret) som är större än RAM så det måste genereras i realtid. Ett avbrott läser en sekvens med tecken från en RAM-array (master källa av rastret), letar upp tecknet i teckensnittet, med förskjutning i karaktären från scan line greven, läser karaktär data från programminne och kontinuerligt feeds seriell överföring dataströmmen samtidigt hålla räkningen för att stoppa och starta varje scan-line. Detta sker med hjälp av 2 klockor per pixel. I början av raden raster och några andra timing punkter håller avbrottet upptagen med utökade funktioner som ljud.