Программирование ARDUINO

КВАНТОЛАБ г. Полярный



Самостоятельная работа

Мы с Вами уже разбирали код по миганию светодиода, работа с патенцометром, ультразвуковым дальнометром и датчиком линии.

Повторим.

1. Мигание светодиода.

void setup() {

pinMode (13, OUTPUT);

}

void loop() {

digitalWrite(13,HIGH);

delay(1000);

digitalWrite(13,LOW);

delay(1000);

}

 

 

 

 

 

 

 

 

 

 

 

2. Подключение патенцометра.

void setup() {

pinMode (13, OUTPUT);

}

void loop() {

if ((analogRead(A0) > 0 &&

(analogRead(A0) < 500)) {

 

digitalWrite(13,HIGH);

delay(1000);

digitalWrite(13,LOW);

delay(1000);

}

else {

digitalWrite(13,HIGH);

}

}

Здесь мы указали если патенцометр больше нуля но меньше 500 тогда светодиод мигает, иначе просто горит.

3. Ультрозвуковой дальномер.

long duration,sm;

void setup() {

pinMode (3, OUTPUT);

pinMode(4,INPUT);

Serial.begin(9600);

}

void loop() {

digitalWrite(3,LOW);

delayMicroseconds(2);

digitalWrite(3,HIGH);

delayMicroseconds(10);

digitalWrite(3,LOW);

 

duration = pulseIn(4,HIGH);

sm = duration/29/2;

Serial.print(sm);

Serial.print("сантиметров");

Serial.println();

delay(500);

}

Для того чтобы получить пройденный путь нам нужно время нахождения сигнала в пространстве в секундах переумножить на скорость звука (это 340м/с) и мы получим расстояние в метрах, но у нас не сходится размерность, время у нас дано в микросекундах а расстояние нужно получить в сантиметрах, с точки зрения правильности в эту формулу нужно вести в степень.

Рассчитываем за какое время звук проходит расстояние 1см. Чтобы это рассчитать нам нужно 1 секунду поделить на скорость звука.

1/340 (получим в метрах, чтобы перевести в см. добавим еще два нуля).

1/34000 = 2,9 (микросекунд)

duration = pulseIn(    );

sm =  duration/29/2;

длина сантиметрах равна времени прохождения сигнала /29 и общий путь делим на 2.

Ультразвуковой дальномер - устройство предназначено для определения расстояния от датчика до объекта.

В основе принципа измерения устройства лежит эхолокация как у дельфинов или летучих мышей.

Дальномер генерирует звуковые волны на частоте 40кГц

Функция pulseIn() – ждет появления импульса (HIGH или LOW) на заданном пине и после его завершения возвращает его длину или 0, если импульса не было на протяжении заданного времени (тайм-аута). Работает с импульсом от 10 микросекунд до 3 минут.

 

4. Датчик линии.

//Пин датчика

#define sens_pin 8

#define led_pin 22

//Переменная где будет хранится информация

//о том что перед датчиком

//черное - true, белое - false

boolean light;

void setup() {

pinMode(led_pin,OUTPUT);

}

void loop() {

light = digitalread(sens_pin);

if (light == HIGH)

digitalWrite(led_pin, HIGH);

else

digitalWrite(led_pin, LOW);

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



Дата: 2022-12-23   Автор: Администратор   Просмотров: 820





Контакты

Если у Вас есть вопросы, мы с удовольствием на них ответим.

Адрес:

Мурманская область, г.Полярный ул. Красный Горн, д.16

Телефон:

+7 (815-51) 7-59-64