Étape 3: Interface série
Et nous allons connecter D4 avec BW, laissez-le ouvert ou tenir faible pour la série sortie sur la sortie TX.
La sortie est une capitale de ASCII « R » qui égale 0 x 52, suivie de trois chiffres de caractère ASCII représentant l’éventail en pouces jusqu'à un maximum de 255, suivie d’un chariot retour (ASCII 13 ou 0x0D)
l’image montre l’analyseur logique et la sortie dessus
Code :
Rédigé par : Mohannad Rawashdeh
http://www.Genotronex.com
genotronex
Copiez le code suivant pour tester le capteur Sonar EZ0 à l’aide de la méthode séquentielle.
Se connecter Tx... D8
Se connecter Rx... D9
#include < SoftwareSerial.h >
SoftwareSerial mySerial (8, 9, true) ; RX, TX
int BW = 4 ;
char * tampon ;
octet x ;
Tableau Char [3] ;
int compteur = 0 ;
void setup() {}
Mettez votre code de programme d’installation ici, pour exécuter une fois :
définir le débit de données pour le port de SoftwareSerial
Serial.Begin(9600) ;
mySerial.begin(9600) ;
pinMode(BW,OUTPUT) ;
digitalWrite(BW,LOW) ;
Delay(250) ;
Serial.println ("Cycle de Calibrartion") ;
Delay(150) ;
}
void reading() {}
mySerial.println(1) ;
tandis que (mySerial.available())
{
x = mySerial.readBytes(buffer,1) ;
{if(*buffer==0x52)}
x = mySerial.readBytes(buffer,1) ;
Array [0] = * buffer ;
x = mySerial.readBytes(buffer,1) ;
tableau [1] = * buffer ;
x = mySerial.readBytes(buffer,1) ;
Array [2] = * buffer ;
}
}
delayMicroseconds(220) ;
}
void loop() {}
Mettez votre code principal ici, pour exécuter à plusieurs reprises :
Reading() ;
int Final_inch = (array [0] -48) * 100 + (array [1-48) * 10 +(array[2]-48) ;
float Final_cm = Final_inch * 2,54 ;
Serial.Print(Final_inch) ;
Serial.println (« pouce ») ;
Serial.Print(Final_cm) ;
Serial.println ("cm") ;
Delay(200) ;
}