User Tools

Site Tools


smartdoor

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
smartdoor [2021/06/13 20:51] – [Схема] adminsmartdoor [2021/06/13 21:44] (current) – [Код] admin
Line 7: Line 7:
 {{ :smartdoor:smartdoor.png?direct&400 |}} {{ :smartdoor:smartdoor.png?direct&400 |}}
  
-Используется два ультразвуковых дальномера HC-SR04, подключенных к цифровым портам arduino. Дальномеры можно расположить над дверью так, чтобы они "смотрели" в разные стороны от двери вдоль коридора. В нормальном состоянии с внутренней стороны двери горит зеленый светодиод. +Используется два ультразвуковых дальномера HC-SR04, подключенных к цифровым портам arduino. Дальномеры можно расположить над дверью так, чтобы они "смотрели" в разные стороны от двери вдоль коридора. 
 ====Код==== ====Код====
  
 +<code c> 
 +#include "Ultrasonic.h"
 +
 +// пины подключения первого УЗД
 +#define Trig1 12
 +#define Echo1 11
 +// пины подключения второго УЗД
 +#define Trig2  4
 +#define Echo2  3
 +
 +#define RedLED 8 // пин подключения красного светодиода
 +#define GreenLED 7 // пин подключения зеленого светодиода
 +
 +long intervalSonar = 500;  // интервал опроса сонара в миллисекундах
 +
 +Ultrasonic ultrasonic1(Trig1, Echo1);
 +Ultrasonic ultrasonic2(Trig2, Echo2);
 +
 +void setup()
 +{
 +  Serial.begin(9600);
 +  pinMode(RedLED, OUTPUT);
 +  pinMode(GreenLED, OUTPUT);
 +}
 +
 +void loop()
 +{
 +  // опрос дальномеров
 +  float dist_cm1 = ultrasonic1.Ranging(CM); // get distance
 +  float dist_cm2 = ultrasonic2.Ranging(CM); // get distance
 +
 +  // вывод контрольных показаний в монитор порта
 +  Serial.print("Dist 1 = "); Serial.println(dist_cm1);
 +  Serial.print("Dist 2 = "); Serial.println(dist_cm2);
 +
 +  // если показание любого УЗД меньше 200 см,
 +  // включаем красный светодиод и выключаем зеленый
 +  if (dist_cm1 < 200 || dist_cm1 < 200) {
 +    digitalWrite(RedLED, HIGH);
 +    digitalWrite(GreenLED, LOW);  
 +  }
 +  else { // выключаем красный светодиод и включаем зеленый
 +    digitalWrite(RedLED, LOW);
 +    digitalWrite(GreenLED, HIGH);      
 +  }
 +  delay(intervalSonar);
 +}
 +</code>
  
 ---- ----
 [[start|На главную страницу]] [[start|На главную страницу]]
smartdoor.1623617500.txt.gz · Last modified: by admin