Transmisor y Receptor 2B1Q con Arduino

Buenos Dias,

Necesito realizar un transmisor y un receptor 2B1Q con Arduino (Tengo un Arduino Mega).

La cuestión es que necesito leer tensiones analógicas (3v3,1v,-1v,-3v3) con los pines analógicos y he leído

que no es recomendable ingresar tensiones negativas en ellos. Mi pregunta sería: De ser posible ingresar

tensiones negativas en dichos pines, ¿Cómo sería la conversión A/D que debería realizar el micro para

poder diferenciar entre tensiones positivas y negativas?.

Luego de realizar la conversión A/D debo hacer que los valores leídos se correspondan de la siguiente manera:

3.3 --> 01

1 --> 00

-1 --> 10

-3.3 --> 11

¿Alguna idea de como hacerlo?

A partir de obtener dichos valores binarios mi idea es ponerlos en orden en un Array para que se

transmitan por medio de un pin hacia el Receptor.

Cualquier ayuda y/o comentario es agradecido.

Hay varias formas pero todas consisten en desplazar la tensión negativa hacia 0 y la positiva al máximo que lee el arduino.
Como tienes una excusión -3.3 0 3.3 o sea 6.6Voltios hay que atenuar para poder leer todo pero no tiene importancia porque solo quieres codificar.

Podrias simplemente colocar Circuitos que detecten dichos niveles y arrojen valores o hacer esto que te digo.

Necesitas introducir un offset de 3.3V que se sumen a la tensión de entrada entonces
SI entra (- 3.3 + 3.3)*G = 0 V
Si entra ( 0.0 + 3.3)*G = 2.5V
SI entra (+3.3 + 3.3)*G = 5.0V

Como verás introduje algo que llamo G que es la ganancia y básicamente cuando tenga 3.3 quiero que salgan 2.5 y cuando tenga 6.6V quiero que salgan 5V

Entonces G = 5/6.6 = 0.7575

Algo que me atenue en ese factor

Algo asi pero esto esta pensando para entradas de -5V a 5V y no de -3.3 a 3.3V