Циљ вежбе:
Применити у пракси сензор растојања
Задаци вежбе:
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); 
   } 

 

Погледајте следећи видео: