Здравствуйте, уважаемые подписчики itist.ru
Как и обещал, мы начинаем потихоньку делать робота…
Для начала предлагаю Вам посмотреть следующий видеоролик.
Как подключать:
Датчик — HC — SR04
У него 4 контакта.
К макетной плате мы воткнули его, и 4 провода.
VCC — синий
Trig — желтый
Echo — белый
GND — черный
Они подключаются к ардуино следующим образом:
Черный идет к GND на плате со стороны аналоговых входов.
Синий рядом, к 5V
Желтый идет к 6 цифровому пину, и белый к 7 цифровому пину.
Светодиоды:
Цифровой GND идет черным проводом на макетную плату, на «-»
И с него идут разветвления на 3 светодиода.
+ красными проводами
Зеленый — 11 pin
Желтый — 12 pin
красный — 13 pin
Скетч
const int Trig = 6; const int Echo = 7; const int ledCrit = 13; const int ledNorm = 12; const int ledGood = 11; void setup() { pinMode(Trig, OUTPUT); pinMode(Echo, INPUT); pinMode(ledCrit, OUTPUT); pinMode(ledNorm, OUTPUT); pinMode(ledGood, OUTPUT); Serial.begin(9600); } unsigned int time_us=0; unsigned int distance_sm=0; void loop() { digitalWrite(Trig, HIGH); // Подаем сигнал на выход микроконтроллера delayMicroseconds(10); // Удерживаем 10 микросекунд digitalWrite(Trig, LOW); // Затем убираем time_us=pulseIn(Echo, HIGH); // Замеряем длину импульса distance_sm=time_us/58; // Пересчитываем в сантиметры Serial.println(distance_sm); // Выводим на порт // Если расстояние менее 50 сантиметром if (distance_sm<50) { digitalWrite(ledCrit, 1); // Зажигаем светодиод } else { digitalWrite(ledCrit, 0); } //Меньше 100 см if (distance_sm<100) { digitalWrite(ledNorm, 1); } else { digitalWrite(ledNorm, 0); } //Меньше 200 см if (distance_sm<200) { digitalWrite(ledGood, 1); } else { digitalWrite(ledGood, 0); } delay(100); } |
Послесловие:
Если Вы дошли до этого момента, значит Вы заинтересованный посетитель.
Следующие видео по сенсорам планируются примерно через 2-3 месяца. тогда же и работу с сервоприводами.
Через месяц — два, планируется показать работу с двигателями, драйвером двигателей, так как оно должно придти побыстрее.
Фото будут чуть позже.