как бы) автоматизация освещения в уборной за счёт 1го датчика ultrasonic и 1го реле. В планах установить 2й датчик звука для исключения ложных срабатываний, а так же продублировать включение подсветки зеркала в ванной. p.s. Может пригодится кому или посоветуют что то поменять или дополнить. p.s. в основном копипаста. Код (C++): #define Trig 4 #define Echo 5 #define rele1 11 #define interval1 10*10000UL unsigned long timeoff; void setup() { pinMode (rele1, OUTPUT); pinMode (led, OUTPUT); digitalWrite(rele1,HIGH); //свет OFF Serial.begin(9600); } unsigned int time_us=0; unsigned int distance_sm=0; void loop(){ digitalWrite(Trig, HIGH); delayMicroseconds(10); digitalWrite(Trig, LOW); time_us=pulseIn(Echo, HIGH); distance_sm=time_us/58; Serial.println(distance_sm); if(distance_sm < 120 ) { timeoff=millis(); digitalWrite(rele1,LOW); //свет ON } else if(interval1<millis()-timeoff) { digitalWrite(rele1,HIGH); //свет OFF } delay (200); }
Это снимает многие проблемы. Много неочевидных косяков использования ультразвука уже раскрыты в этой теме (много флуда).