Tråd mindre seriell kommunikation (6 / 7 steg)
Steg 6: Arduino anslutning/programmering.
Programmet är fäst.
declarando variabler
int emisor = 12;
int receptor = A0;
röding i; int tapperhet;
int modulo;
int byte [8] = {0,0,0,0,0,0,0,0}.
int jag = 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 = i-48. Omvandling de Caracter Decimal
i = valor + 0x30; Convierte decimal en caracter
Ogiltiga inställningar)
{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 sal...");
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 Sal..."); EH = 0; ED = 1; SYN = 0;
} } }
Serial.println ("Inicia comunicacion"); Serial.println(); }
Ogiltig loop)
{if(Serial.available() > 0)
{//Transmite dato in=Serial.read();
Serial.Print ("avundsvärd:");
Serial.println(in);
Valor =;
Omvandling de Caracter en Decimal Serial.print("Valor Decimal:");
Serial.println(Valor);
Serial.Print ("tapperhet Binario:");
Inicia konvertering de Decimal en Binario
While(Valor>1)
{modulo = valor %2, byte [i] = modulo; i ++;
Valor = valor/2; } if(valor==1)
{modulo = valor %2, byte [i] = modulo;}
IF(Valor==0) {byte [i] = 0;} för (jag = 7; jag > -1; i--)
{Serial.print(bytes[i]);
Imprime numero binario
}
Serial.println();
Inicia sändning de dato
Serial.Print ("Transmitiendo:")
; digitalWrite(emisor,LOW);
Delay(t); för (jag = 0; jag < 8; i ++)
{Serial.print(bytes[i]);
IF(bytes[i]==0)
{digitalWrite(emisor,LOW);
} if(bytes[i]==1)
{digitalWrite(emisor,HIGH);
} delay(T);
}
Återställ variabler
digitalWrite(emisor,HIGH);
för (jag = 0; jag < 8; i ++) {byte [i] = 0;
} Jag = 0; Serial.println();
Serial.println();
Delay(100); }
dato=digitalRead(receptor);
IF(dato==low)
{//Recibe dato Serial.print ("Recibiendo:");
Delay(T);
Inicia Recepcion de dato
för (jag = 0; jag < 8; i ++)
{dato=digitalRead(receptor);
IF(dato==High)
{byte [i] = 1; Serial.Print('1');
}
IF(dato==low) {byte [i] = 0;
Serial.Print('0');
}
Delay(T);
}
While(eh==0)
{
Termina Recepcion de dato
dato=digitalRead(receptor);
IF(dato==High) {EH = 1;}}
Serial.println();
Serial.Print ("tapperhet Binario:");
för (jag = 7; jag > -1; i--
{Serial.print(bytes[i]);}
Serial.println();
Omvandling de Binario en Decimal
Valor = 0; för (jag = 0; jag < 8; i ++)
{if(bytes[i]==1)
{valor = valor + valoresbase [i];} }
Serial.Print ("tapperhet Decimal:");
Serial.println(Valor);
i = valor + 0x30;
Convierte decimal en caracter
Serial.Print ("Se envio:");
Serial.println(in);
om (i == "för (j = 0; j < 100; j ++)
{mensaje [j] = "";} j = 0; }
annat {mensaje [j] = i; j ++; Serial.println();
Serial.println("mensaje:"); för (jag = 0; jag