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
smartdoor [2021/06/13 20:52] – [Схема] adminsmartdoor [2021/06/13 21:44] (current) – [Код] admin
Line 10: Line 10:
 ====Код==== ====Код====
  
 +<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.1623617538.txt.gz · Last modified: by admin