Arduino dubbla ultraljud flytande nivåmätare med integrerad hemsida (2 / 3 steg)
Steg 2: Trådlöst XBee sensorn
Xbees buller och DOUT är anslutna till D0 och D1 på arduino, så bygget--i följetong kan användas.
Den skiss som kör på den är mycket enkel, den läser ut URM37 (ansluten till stift 2 och 3), och sänder avståndet i cm genom följetong till Xbee.
int URPWM1 = 2; PWM-utgång 0-25000us, varje 50us representerar 1cm
int URTRIG1 = 3; PWM trigger pin
osignerade långa urmTimer = 0; timer för att hantera sensorn läser blixthastighet
unsigned int Distance1 = 0;
void setup() {/ / följetong initiering
Anger överföringshastigheten till 9600
PWM_Mode_Setup();
pinMode(URTRIG1,OUTPUT);
Serial.BEGIN(9600);
}
void loop() {
om (millis ()-urmTimer > 1000) {
urmTimer=millis();
PWM_Mode();
}
}
void PWM_Mode_Setup() {
pinMode(URTRIG1,OUTPUT); En låg dra på stift COMP/TRIG
digitalWrite(URTRIG1,HIGH); Till hög
pinMode (URPWM1, indata); Skickar kommandot aktiverar PWM mode
}
void PWM_Mode() {/ / en låg dra på stift COMP/TRIG utlöser en sensor avläsning
digitalWrite (URTRIG1, låg);
digitalWrite (URTRIG1, hög); läsa Pin PWM kommer ut pulser
osignerade långa DistanceMeasured1=pulseIn(URPWM1,LOW);
IF(DistanceMeasured1<49000) {
digitalWrite(13,LOW);
Distance1 = DistanceMeasured1/50; varje 50us låg nivå står för 1cm
} annat {
Distance1 = 0;
digitalWrite(13,HIGH);
}
om ((Distance1 > 3) & & (Distance1 < 400)) {
Serial.Print(Distance1);
Serial.Print("-");
}
}