Paso 6: Arduino conexión/programación.
Se adjunta el programa.
declarando variables
emisor de INT = 12;
receptor de int = A0;
char en; int valor;
int modulo;
int bytes [8] = {0,0,0,0,0,0,0,0};
int i = 0; int T = 20; int t = 10;
int dato; int EH = 0; int ED = 1;
int SYN = 0;
int valoresbase [8] = {1,2,4,8,16,32,64,128};
char mensaje [100]; int j = 0;
valor = en-48; Conversión de Caracter Decimal
a = valor + 0 x 30; Convierte decimal un caracter
void setup)
{pinMode(emisor,OUTPUT);
digitalWrite(emisor,HIGH);
Serial.Begin(9600);
while(SYN==0) {Serial.println("Sincronizando...");
while(EH==0) {dato=digitalRead(receptor);
if(dato==High) {Serial.println ("Recibiendo señal...");
EH = 1; ED = 0; } }
arreglo para almacenamiento de datos
Serial.println ("Presione 1 para iniciar comunicacion");
while(ED==0) {if(Serial.available() > 0) {in=Serial.read();
if(in=='1') {ED = 1; SYN = 1; dato=digitalRead(receptor)}};
if(dato==Low) {Serial.println ("Se perdio la señal..."); EH = 0; ED = 1; SYN = 0;
} } }
Serial.println ("Inicia comunicacion"); Serial.println(); }
void loop)
{if(Serial.available() > 0)
{//Transmite dato in=Serial.read();
Serial.Print ("Enviar:");
Serial.println(in);
valor =;
Conversión de Caracter un Serial.print("Valor Decimal:") Decimal;
Serial.println(valor);
Serial.Print ("Valor Binario:");
Inicia conversión de Decimal a Binario
while(valor>1)
{modulo = valor %2; bytes [i] = modulo; i ++;
valor = valor/2; } if(valor==1)
{modulo = valor %2; bytes [i] = modulo;}
if(valor==0) {bytes [i] = 0;} para (i = 7; i > -1; i--)
{Serial.print(bytes[i]);
Fotografía numero binario
}
Serial.println();
Inicia transmisión de dato
Serial.Print ("Transmitiendo:")
; digitalWrite(emisor,LOW);
Delay(t); para (i = 0; i < 8; i ++)
{Serial.print(bytes[i]);
if(bytes[i]==0)
{digitalWrite(emisor,LOW);
} if(bytes[i]==1)
{digitalWrite(emisor,HIGH);
} delay(T);
}
Restablecimiento de Variables
digitalWrite(emisor,HIGH);
para (i = 0; i < 8; i ++) {bytes [i] = 0;
} i = 0; Serial.println();
Serial.println();
Delay(100); }
Dato=digitalRead(receptor);
if(dato==Low)
{//Recibe dato Serial.print ("también:");
Delay(T);
Inicia recepción de dato
para (i = 0; i < 8; i ++)
{dato=digitalRead(receptor);
if(dato==High)
{bytes [i] = 1; Serial.Print('1');
}
if(dato==Low) {bytes [i] = 0;
Serial.Print('0');
}
Delay(T);
}
while(EH==0)
{
Termina recepción de dato
Dato=digitalRead(receptor);
if(dato==High) {EH = 1;}}
Serial.println();
Serial.Print ("Valor Binario:");
para (i = 7; i > -1; i--
{Serial.print(bytes[i]);}
Serial.println();
Conversión de Binario a Decimal
valor = 0; para (i = 0; i < 8; i ++)
{if(bytes[i]==1)
{valor = valor + valoresbase [i];} }
Serial.Print ("Valor Decimal:");
Serial.println(valor);
a = valor + 0 x 30;
Convierte decimal un caracter
Serial.Print ("Se envio:");
Serial.println(in);
Si (en ==' para (j = 0; j < 100; j ++)
{mensaje [j] =' ';} j = 0; }
Else {mensaje [j] =; j ++; Serial.println();
Serial.println("mensaje:"); para (i = 0; i