|

In questo breve tutorial vi descriverò come collegare il vostro arduino alla presa RCA della vostra TV o di uno schermo qualsiasi.
Innanzi tutto vi servirà questa libreria e dovrete seguire il seguente schema di collegamento

| MCU | SYNC PIN | VIDEO PIN | ARDUINO | SYNC PIN | VIDEO PIN |
| m168, m328 | PORT B PIN 1 | PORT B PIN 0 | Diecimila, NG | 9 | 8 |
| m1280 | PORT B PIN 5 | PORT B PIN 6 | Mega | 11 |
12 |
Le possibilità vengono illustrate in questi video:
mceTempObject
con questa libreria potrete aggiungere anche la musica e fare cose tipo questa.
mceTempObject
In questo secondo video non viene usato arduino, ma viene usato un microcontrollore con meno memoria degli ATMEGA che usa arduino. Vi lascio solo immaginare le potenzialità che avrete utilizzando arduino.
Istruzioni
- start_render(mode)
Pulisce lo schermo e inizia a generare un video @ 128x96
mode: _PAL: Uscirà un segnale di tipo PAL; _NTSC: uscirà un segnale di tipo NTSC.
questa funzione restituisce una variabile di tipo char: 0 se la funzione è stata completata correttamente; 4 se non c'è abbastanza memoria per fare il Render
- start_render(mode,hres,vres)
Pulisce lo schermo e inizia a generare il video.
mode: _PAL: Uscirà un segnale di tipo PAL; _NTSC: uscirà un segnale di tipo NTSC.
hres: è la risoluzione orizzontale, deve essere divisibile per 8 e compresa nel range 104-152
vres: Risoluzione verticale se PAL vres <= 260, se NTSC vres <= 216
questa funzione restituisce una variabile di tipo char: 0 se la funzione è stata eseguita correttamente; 1 se hres non è divisibile per 8; 2 se hres è troppo largo da renderizzare (hardware limits); 3 se vres è più largo di quanto la modalità selezionata consenta; 4 se non c'è abbastanza memoria per la risoluzione 5: se hres non ha una risoluzione supportata (software limit).
- pause_render()
Questa istruzione metterà in pausa il rendering in modo da liberare la cpu da questo processo gravoso, il sincronismo sarà mantenuto dall'hardware quindi non sarà perso.
- resume_render()
Riprende il processo di rendering
- clear_screen()
Imposta lo schermo completamente nero
- horz_res()
Restituisce la risoluzione orizzontale, unsigned char
- vert_res()
Restituisce la risoluzione verticale, unsigned char
- char_line()
Restituisce il numero massimo di caratteri che si possono scrivere per linea, unsigned char
- delay_frame(x)
Ritarda di x frames. Standard NTSC: un x pari a 60 da un secondo di delay. Standard PAL: un x pari a 50 da un secondo di delay.
- set_pixel(x,y,c)
Mette un pixel nelle coordinate (x,y) c determina il colore del punto. c=0 nero; c=1 bianco; c=2 inverte il colore di quel pixel.
- get_pixel(x,y)
Capisce il colore di un determinato pixel e restituisce un unsigned char: 0 se nero, 1 se bianco.
- draw_line(x0,y0,x1,y1,c)
Disegna una linea da (x0,y0) a (x1,y1) c determina il colore della linea: c=0 nero; c=1 bianco; c=2 inverte il colore di quei pixels.
- print_char(x,y,c)
Stampa il carattere c alle coordinate (x,y)
- print_str(x,y,str)
Stampa la stringa str in (x,y) e poi stampa la stringa nulla.
Liberamente tratto dal playground inglese, l'immagine è tratta da Makemagazine.
![]()