Controllo OSD di una CCTV board camera via Arduino

Buongiorno a tutti. Ho una CCTV board camera PAL analogica con un cavo doppio che fornisce alimentazione, segnale video e piccolo joystick incorporato, che comanda l'OSD della telecamera con le consuete funzioni freccia (Menu/Enter, Left, Right, Up e Down). La mia intenzione è comandare il menù OSD non dal joystick ma da PC con una semplice interfaccia grafica (o da tastiera), via Arduino ProMini e Bluetooth (modulino HC-06). Il joystick interfaccia con la board della camera mediante 6 pins, 5 per la direzione (L, R, U e D) e l'Enter (Menu) ed il sesto per il GND. Le azioni sul joystick mettono semplicemente a GND gli altri cinque pin, ognuno con la sua funzione. Ho misurato con il multimetro la tensione presente sui 5 pins quando non sono 'premuti'. In tutti ci sono 3.3V, quindi sono normalmente alimentati dalla board stessa. Pensavo di collegare questi pins ai pins dell'Arduino (pinMode OUTPUT) e comandarne la messa a massa con il digitalWrite(LOW) ed agire di conseguenza sul menu della board.
Ora il mio dubbio. Come settare il pin quando non è LOW? Presumo di fare pasticci se lo setto HIGH (e quindi lo collego ai 5V), giusto?
Mi chiedevo se una possibilità valida fosse quella di risettare il pin ad INPUT tutte le volte che non è LOW.
Grazie per l'attenzione e saluti
Gigi

Si la via giusta è tenere i pin di Arduino come input quando non devi "premere" i tasti, settarli come output, stato LOW, quando vuoi premerli.
Sulla camera ci sono sicuramente degli ingressi, i singoli tasti, tenuti a 1 logico, i 3.3 V, tramite delle pullup, pertanto lasciando i pin di Arduino come input tale stato logico è prevalente, mentre quando li poni come come out LOW è come chiudere gli ingressi a GND.
Fai attenzione a porre in stato LOW i pin che userei prima di settarli come OUT, così eviti potenziali danni mandando 5V agli input della camera.

Un suggerimento ... alcune di quelle camere, anche se non molti modelli, usano ingressi a matrice per i comandi, invece di collegare i pin a GND (anche se dovrebbe essere chiaro dalle connessioni, se il joystick ha un comune e tanti fili quanti sono gli switch, non dovrebbe essere a matrice) ... quindi controlla prima che il filo comune di tutti gli switch del joystick sia a massa oppure a VCC (potrebbe essere invertito, e senza avere lo schema della camera, e' difficile saperlo) ... comunque, se e' a massa puoi usare il sistema suggerito da Astro, se non lo e', meglio utilizzare dei piccoli rele reed connessi al posto degli switch del joystick e pilotati da arduino ...

EDIT: ho visto adesso che avevi gia controllato con il tester, quindi come non detto :wink:

Grazie mille per le dritte. Quindi, in linea di massima, le seguenti funzioni (qui per uno dei 5 pin) dovrebbero essere sufficienti, corretto?

void keyLeftPress() {
	digitalWrite(PIN_LEFT, LOW);
	pinMode(PIN_LEFT, OUTPUT);
	delay(200);
}

void keyLeftRelease() {
	pinMode(PIN_LEFT, INPUT);
	delay(200);
}

Perdonate l'ignoranza ... ma, con un Arduino Pro Mini versione 3.3V ... i pin digitali posti HIGH presentano 3.3V o i consueti 5V?

Se l'arduino va a 3.3V, i pin saranno a 3.3V circa quando alti ... se ci devi pilotare roba che va a tensioni differenti, o usi degli opto (cosi rimane anche tutto galvanicamente isolato), o usi dei transistor open-collector con le resistenze di pull-up sugli emettitori collegate al VCC dell'oggetto da pilotare (invertendo la logica delle uscite, dato che quando dai 1 sulla base, l'emettitore andra' a GND), o usi dei rele' (per piccoli segnali vanno bene i reed), che oltre a mantenere l'isolamento galvanico, emulano i pulsanti meccanici, questo nel caso che i riferimenti della scheda da pilotare non fossero GND o VCC per i pulsanti ...

plgiorgi:
Perdonate l'ignoranza ... ma, con un Arduino Pro Mini versione 3.3V ... i pin digitali posti HIGH presentano 3.3V o i consueti 5V?

Spiegami da dove un Arduino alimentato con 3,3V dovrebbe prendere i 5V?

Un Arduino alimentato con 3,3V puó dare al massimo sulle uscite 3,3V e puó ricevere sulle entrate al massimo 3,3V.

Ciao Uwe

Mi sono spiegato male. Alimenterò il Pro Mini (versione a 3.3V) con 12V su RAW. Al Pro Mini collegherò un dispositivo (la telecamerina CCTV board) mediante 5 pins digitali per comandare l'OSD menu. I 5 pins della CCTV operano su livelli logici a 3.3V. La mia domanda era: sui digital pins della Pro Mini lo stato logico HIGH è a 3.3V o 5V?

plgiorgi:
... I 5 pins della CCTV operano su livelli logici a 3.3V ...

Allora o usi i 3.3V anche per arduino, o metti partitori resistivi, o la strini ... perche' se arduino va a 5V, lo stato logico 1 e' per forza a 5V ... quando vanno alte, le uscite vanno ovviamente a VCC ...

Funziona perfettamente, grazie per l'aiuto
Saluti
my gOSD