Циљ вежбе:
Применити у пракси сензор растојања
Задаци вежбе:
1. Осмињљавање шеме
2. Писање програма
Теоријски део:
У овој вежби направићемо тенк који ће емитовати звук у зависности колико је близу предмет. Што је тенк ближи предмету звук је све учесталији. Примеа ове вежбе је код паркиеања.
Инсрументи које ћемо користити у вежби:
1, Микроконтролер
2. Макетна платформа
3. Зујалица
4. Сензор растојања
5. Батерија
6. Каблови за батерију
7. Каблови
Израда вежбе:
1. Осмињљавање шеме
У нашој вежби имамо две компоненте. То су зујалица и сензор растојања.
Зујалицу прикључите на следећи начин:
1. Плус зујалице повезујемо са пином 8
2. Минус зујалице повезујемо са земљом
Сензор растојања повежите на следећи начин:
1. Пин 12 и 13 спајамо са сензором
2. Прикљулујемо сензор на 5 волти
3. Прикључујемо сензор ка зрмљи
Ардуина напајајте са батеријом.
Остало је само да сензор раздаљине поставите испред тенка као што је приказано на слици:
2. Писање програма
Звук ће постајати учесталији при досегу следечих вредности: 60, 40, 20 и 10 центиметара. Овде треба пазити и учитати раздаљину од почетка тенка и места где се налази сензор. У нашем примеру сензор је удаљен од почетка тенка на 11 центиметара па ћемо зато на претходне бројеве додати 11 центиметара,.
Код треба да изгледа овако:
#include "Ultrasonic.h"
//објављујемо константе које одговарају сензору растојања
const int Trig = 12;
const int Echo = 13;
//објављујемо константу која одговара зујалици
const int buzzer = 8;
//Фреквенција зујалице
const int frequency = 450;
float dist = 0; //објављујемо промењиву за растојање
int t = 0; //Број милисекунде после којих је неопходно одрадити још једно мерење
Ultrasonic ultrasonic(Trig, Echo); //објављујемо објекат Ultrasonic
void setup()
{
pinMode(buzzer, OUTPUT);
Serial.begin(9600);
}
void loop()
{
dist = ultrasonic.Ranging(CM); //Очитавамо растојање у центимтрима
Serial.println(dist);
if (dist >= 71)
{
t = 1000;
}
if ((dist >= 51) && (dist < 71))
{
t = 500;
}
if ((dist >= 31) && (dist < 51))
{
t = 250;
}
if ((dist >= 21) && (dist < 31))
{
t = 100;
}
if (dist < 21)
{
t = 50;
}
if (t <= 500)
{
tone(buzzer, frequency, 50);
}
delay(t);
}
Погледајте следећи видео: