Ультразвуковий Датчик відстані http://arduinka.biz.ua/uk/datchik-dista ... 20c74.html

Всю програму можна спростити до кількох стрічок використавши бібліотеку для HC-SR04 Ultrasonic// задаємо піни
int echoPin = 2;
int trigPin = 3;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
// відключаємо подачу імпульсу
digitalWrite(trigPin, LOW);
}
void loop() {
int duration, cm;
// подаємо імпульс
digitalWrite(trigPin, HIGH);
// чекаємо 10 мікросекунд
delayMicroseconds(10);
// відключаемо подачу імпульсу
digitalWrite(trigPin, LOW);
// зчитуємо довжину сигналу
duration = pulseIn(echoPin, HIGH);
// перетворюємо у сантиметри
Serial.print(duration / 58);
Serial.println(" cm");
// чекаємо пів секунди до слідуючого виміру
delay(500);
}
Вивід даних про відстань на дисплей 1602 - остаточний короткий варіант пргограми#include <Ultrasonic.h>
Ultrasonic ultrasonic(3,2);
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print(ultrasonic.Ranging(CM));
Serial.println(" cm");
delay(500);
}
Відео з джерела інформації#include <LiquidCrystal.h>
#include <Ultrasonic.h>
LiquidCrystal lcd(13,12,11,10,9,8);
Ultrasonic ultrasonic(3,2);
void setup() {
Serial.begin(9600);
lcd.begin(16,2);
}
void loop() {
int cm = ultrasonic.Ranging(CM);
// очищаем экран
lcd.clear();
// устанавливаем курсор в начало
lcd.setCursor(0,0);
lcd.print(cm);
lcd.print(" cm");
// теперь мы не засоряем консоль, и задержку можно поставить поменьше
delay(200);
}
Код: Виділити все
https://youtu.be/_JLQCeHbB1w