Paso 3: Interfaz en serie
Y D4 conectar con BW, dejarlo abierto o mantener bajo para la salida serial en la salida de TX.
La salida es un capital de ASCII "R" que 0x52 igual, seguido de tres dígitos de caracteres ASCII que representan a la gama en pulgadas hasta un máximo de 255, seguido de un retorno (ASCII 13 o 0x0D)
la imagen muestra analizador lógico y la salida en él
Código:
escrito por: Mohannad Rawashdeh
http://www.Genotronex.com
genotronex
Este código para probar sensor de Sonar EZ0 método Serial.
Conectar el Tx... D8
Conectar Rx... D9
#include < SoftwareSerial.h >
MySerial SoftwareSerial (8, 9, true); RX, TX
int BW = 4;
char * buffer;
byte x;
array de Char [3];
int contador = 0;
void setup() {}
Pon tu código de instalación, para ejecutar una vez:
establecer la tarifa de datos para el puerto SoftwareSerial
Serial.Begin(9600);
mySerial.begin(9600);
pinMode(BW,OUTPUT);
digitalWrite(BW,LOW);
Delay(250);
Serial.println ("ciclo de Calibrartion");
Delay(150);
}
void reading() {}
mySerial.println(1);
mientras (mySerial.available())
{
x = mySerial.readBytes(buffer,1);
{if(*buffer==0x52)}
x = mySerial.readBytes(buffer,1);
array [0] = * buffer;
x = mySerial.readBytes(buffer,1);
array [1] = * buffer;
x = mySerial.readBytes(buffer,1);
array [2] = * buffer;
}
}
delayMicroseconds(220);
}
void loop() {}
Pon tu código principal, para ejecutar varias veces:
Reading();
int Final_inch = (array [0] -48) * 100 + (matriz [1-48) * 10 +(array[2]-48);
Float Final_cm = Final_inch * 2,54;
Serial.Print(Final_inch);
Serial.println ("pulgadas");
Serial.Print(Final_cm);
Serial.println ("cm");
Delay(200);
}