Interaktiva virtuella spel för barnens födelsedagskalas (6 / 12 steg)
Steg 6: Hårdvara del III: An Arduino-baserad översättare
Här är hur det fungerar. sammansatta TV signaler är alla timing baserat och interlaced. Jag använde en LM1881 NTSC avkodare för att berätta AVR om vi var på en udda eller jämn linje, liksom när den Hsync och Vsync inträffade. För er inte elektroniskt benägen, använde jag LM1881 för att ge mig ett index av där vi fick bildinformation från. Lasern filtreras av U1, som jag bara jämför spänningen på torkar av R3 att plocka upp den första pixeln på skärmen tillräckligt ljust för att passera min manuell tröskel. Förhoppningsvis är detta vår laser. AVR plockar upp detta som ett avbrott, och minns tiden från den senaste rapporterade Hsync. Vi har räknat vertikala linjer sedan Vsync, så nu har vi en exakt position (Tja, +/-fjärdedel tum). Intresserad av källan? Här är det:
http://www.GDN.net/~dbarr/Daily/Pirates.pde
Slutprodukten av denna styrelse är att registrera dig som en seriell port på 115200, och vev ut 2 byte (X och Y) varje gång den ser en pixel som är ljusa nog att betraktas som en laser. Du ange tröskelvärdet med R3.
Andra bilder på detta steg illustrerar NTSC komposit Signalinformation och en bild av den slutliga PCB.