Подключение и программирование датчиков
16 сентября 2018 - Администратор
Комментарии (0)
Нет комментариев. Ваш будет первым!
На данном занятии мы научимся подключать ультразвуковой датчик расстояния к плате Arduino и напишем программу для считывания данных с датчика и вывода их в сериал порт.
Ультразвуковой датчик расстояния можно подключить как к цифровым портам, так и к аналоговым портам платы Arduino.
Рассмотрим подключение ультразвукового датчика к цифровым пинам arduino
Разъем датчика TRIG подсоединяем к пину на плате с тильдой (~), например ~3.
Разъем датчика ECHO подключаем к пину с тильдой, например ~5.
Разъем датчика VCC подсоединяем ОБЯЗАТЕЛЬНО к разъему 5V на плате Arduino.
Разъем датчика GND подсоединяем к разъему платы Arduino(GND).
Подключение ультразвукового датчика расстояния к Arduino представлено на рисунке
Программа arduino для датчика расстояния
1. В начале программы нужно задать переменные с портами датчика
int echoGolova_1 = 5; //переменная для порта датчика ECHO
int trigGolova_1 = 3; //переменная для порта датчика TRIG
2. Необходимо указать в setup подключение пинов датчика расстояния и подклбчение сериал порат для вывода данных датчика в монитор порта.
void setup() {
Serial.begin (9600);
pinMode(trigGolova_1, OUTPUT);
pinMode(echoGolova_1, INPUT);
}
2. Ввести переменную dis для головы
int dis; // переменная для измерения дистанции 1
3. Прописать процедуру, которая замеряет расстояние. Подробнее о процедурах в Си
void dist ()
{
int duration, cm;
digitalWrite(trigGolova_1, LOW);
delayMicroseconds(2);
digitalWrite(trigGolova_1, HIGH);
delayMicroseconds(10);
digitalWrite(trigGolova_1, LOW);
duration = pulseIn(echoGolova_1, HIGH);
cm = duration / 58;
dis= cm;
if (dis<=0){dis=50;};
// вывод переменной в сериал порт
Serial.print(dis);
Serial.println(" cm");
}
4.В основной программе loop необходимо вызвать функцию dist(). Эта процедура записывает переменную dis1 (расстояние в сантиметрах от головы) и выводит это значение в монитор порта для проверки корректности работы.
int echoGolova = 5; //перменая эхо
int trigGolova = 3; //переменная триг
int dis; // переменная для измерения дистанции
void setup() {
Serial.begin (9600);
pinMode(trigGolova_1, OUTPUT);
pinMode(echoGolova_1, INPUT);
}
// процедура измерения расстояния в см значение записывается в переменную dis
void dist ()
{
int duration, cm;
digitalWrite(trigGolova, LOW);
delayMicroseconds(2);
digitalWrite(trigGolova, HIGH);
delayMicroseconds(10);
digitalWrite(trigGolova, LOW);
duration = pulseIn(echoGolova, HIGH);
cm = duration / 58;
dis = cm;
if (dis<=0){dis=50;};
Serial.print(dis);
Serial.println(" cm");
}
void loop() {
// вызываем процедуру замера расстояния ультразвуковым датчиком
dist();
}
Чтобы посмотреть выведенную информацию в сериал порте, необходимо открыть Монитор порта, для этого мы нажимаем в правом верхнем углу значок лупа.
Вернуться к содержанию Перейти к следующему уроку Сигнализация на Arduino
Нет комментариев. Ваш будет первым!