Page 131 - 1156_Arduino-Polnyy-uchebnyy-kurs-ot-igry-k-inzhenernomu-proektu
P. 131
Глава 5. Язык программирования Wiring
130
Рис. 5.16. Дальномер подключен
Скетч для измерений будет выглядеть так:
1. void setup () {
2. Serial.begin (9600);
3. pinMode(9, OUTPUT); // Trig
4. pinMode(8, INPUT); // Echo
5. }
6.
7. void loop () {
8. digitalWrite(9, LOW); // очистка сигнала во избежание ошибок
9. delayMicroseconds(2); // пауза в микросекундах
1 0. digitalWrite(9, HIGH); // начало отправки ультразвукового сигнала
11. delayMicroseconds(10); // длительность сигнала составляет 10 мкс
12. digitalWrite(9, LOW); // выключение сонара
13. int duration = pulseIn(8, HIGH); // подсчет секунд до
// прихода отраженного сигнала
14. float cm = duration / 58;
15. /* 58 — это константа, обусловленная физическим строением
16. дальномера данной модели. На самом деле необходимо
17. делить на 29 два раза (прямой и обратный путь). */
18. Serial.println(cm);
19. delay(1000);
20. }
1 / 18