/* Spazio = Velocità del suono : tempo Spazio = 343 m/sec : tempo tempo = tempo impiegato dall'infrasuono dall'emissione, al rimbalzo al ritorno.*/ # define TRIECO 2 int durata = 0; int distanza = 0; int segnale = 0 ; void setup() {Serial.begin(9600);} void loop(){ //------- Il pin2 diventa uscita---- pinMode(TRIECO, OUTPUT); //-- Il pin 2 emette un treno di impusi. digitalWrite(TRIECO, LOW); delayMicroseconds(2); digitalWrite(TRIECO, HIGH); delayMicroseconds(10); digitalWrite(TRIECO, LOW); //------- Il pin2 diventa ingresso---- pinMode(TRIECO, INPUT); //--il pin2 riceve il treno di impulsi----- durata = pulseIn(TRIECO, HIGH); distanza = durata/58; Serial.println(distanza); delay(100); }
Altro sketch in cui si usano 4 pin
/* Sonar SRF05 ________|-----------|_____ 2 ySec. 10 ySec Si calcola il tempo impiegato da un impulso di 10ySec per:partire(TX), sbattere contro l'ostacolo, ritornare(RX). Nota la velcità del suono si calcola lo spazio. */ #define RXECO 2 #define TXECO 3 int spazio = 0; void setup() {pinMode(RXECO, INPUT); pinMode(TXECO, OUTPUT); Serial.begin(9600); } void loop(){ digitalWrite(TXECO, LOW); delayMicroseconds(2); digitalWrite(TXECO, HIGH); delayMicroseconds(10); digitalWrite(TXECO, LOW); int spazio = pulseIn(RXECO, HIGH); spazio= spazio/58; Serial.println(spazio); delay(50); }
Nessun commento:
Posta un commento