» електроника » Arduino »Далекомер на платформата Arduino!

Далекомерът на платформата Arduino!


Добър ден на всички! В тази статия бих искал да разкажа как се използва Arduino, набор от светодиоди и ултразвуков сензор, можете да сглобите устройство, което определя разстоянието от наблюдателя до обекта, с други думи, далекомер, И така да вървим!
От какво се нуждаем:
обичаен кутия. Желателно е той да е с малки размери, тъй като ще съдържа само един микроконтролер.

с ултразвуков преобразувател HC-SR04 можем да определим разстоянието.

Четирицифрен индикатор трябва да изведем получените стойности.

комплект светодиоди всякакви цветове (използвах зелено, тъй като те са по-ярки), резистори при 220 ома проводници или джъмпери breadboard.





Така че компонентите на нашето устройство да бъдат здраво закрепени, ще ги запоя.
За това имаме нужда запояващо желязо, флюс, спойкасъщо дъска за запояване.

И разбира се, без Arduino не можем да направим! (Можете да изберете всеки микроконтролер, предпочитах Arduino Leonardo или неговия еквивалент Iskra Neo)

От инструментите се нуждаем от поялник, както казах по-горе, нож и щипки.

Сега нека започнем да сглобяваме устройството.
Стъпка №1
За да започнем, използвайки табло, ние ще съберем прототип на нашето бъдещо устройство. Ще изглежда нещо подобно ..

Не се притеснявайте! В тази каша от проводници няма нищо страшно!
Сензорът HC-SR04 има четири пина: плюс, минус (които залепваме в 5V и GND на контролера), Trig и Echo (вмъкваме ардуиновите щифтове съответно в 12 и 11)
Четирицифреният индикатор има 3 проводника: мощност, заземяване и сигнал. Последният е свързан с 9-пинов Arduino.
Свързваме три светодиода към 6, 5 и 4 контакта на контролера последователно с резистори. Не забравяйте за полярността. Токът тече от по-дълъг крак към по-къс.
Това е всичко, когато сглобихме устройството си на дъска, качихме скицата (това ще бъде в края на статията) и се уверихме, че всичко работи, не се колебайте да започнете запояване.
Стъпка номер 2
Първо, спойка ултразвуковия сензор към дънната платка. Използвах малка дъска с размери, тъй като броят на елементите не надвишава 7.

След това, с помощта на щипки, отхапете краката (извинявам се за тавтологията), правейки ги по-къси, така че да не се намесват и да изглеждат по-красиви!

След това спойкайте четирите проводника срещу контактите на сензора.


Също така не забравяйте за ниперите!


Стъпка №3
Сензорът е на мястото си, остава да спойкате трите светодиода заедно с резисторите.


На обратната страна изглежда така:

Стъпка №4
Отстрани на кутията изрежете кръгла дупка за храна.

На капака трябва да изрежете кухина до размера (малко по-малка по дължина) на дъската си, а също и да пробиете дупки за винтове.


Сега, ако завием празна дъска без елементи върху нея (направих го само за демонстрация ..), получаваме нещо като следното:

Стъпка №5
Така че, за да е по-удобно, предлагам първо да свържете проводниците към arduino и едва след това да завиете дъската към капака на кутията. Също така, не забравяйте за нашия индикатор, който поставих над оформлението.

Всичко на този монтаж на устройството е завършено!
Остава само да изтеглите следващото скица и се наслаждавайте на играчката!
#include
#include
NewPing сонар (12.11, 400);
int a, j, b;
неподписан дълъг t = 0;
int masiv [] = {1,0,0,0,1,0,0,0,1};
настройка за невалидност ()
{
 за (int i = 4; i <7; i ++)
 {
   pinMode (i, OUTPUT);
 }
 displayClear (9);
 за (int i = 4; i <7; i ++)
 {
   digitalWrite (i, 0);
 }
  }
void loop ()
{
  j = 7;
  за (int i = 0; i100) тон (2,70);
    digitalWrite (j, masiv [i]);
    докато (millis () 



Няколко думи програмен код, Благодарение на него трите ни светодиода ще мигат последователно един след друг, а скоростта на тяхното мигане ще зависи от разстоянието до обекта, което се изчислява от ултразвуковия сензор. Но за да накара светодиодите да мигат, не е напълно логично да се използва функцията забавяне (), тъй като когато се използва, контролерът замръзва и не се извършват изчисления. Има няколко начина за решаване на този проблем. По-специално, едно от тях е използването на функцията millis (), която връща число в милисекунди от момента, в който контролерът работи. И как да забавим условни 100 милисекунди? За да направя това, създадох по същество празен цикъл, изходът от който ще бъде едва след тези 100 милисекунди, след което програмата продължава да включва / изключва светодиодите.

Ами това е всичко! Благодаря ви, че прочетохте тази статия докрай. Надявам се, че не само сте я харесали, но и вдъхновихте ново море занаяти и изобретения!
6
5
5

Добавете коментар

    • усмихвамусмивкиxaxaдобреdontknowYahooНеа
      шефдраскотинаглупакдаДа-даагресивентайна
      съжалявамтанцувамdance2dance3извинениепомощнапитки
      спиркаприятелидобърgoodgoodсвиркаприпадамезик
      димплясканеCrayдеклариратподигравателендон-t_mentionизтегляне
      топлинасърдитlaugh1MDAсрещаmoskingотрицателен
      not_iпуканкинаказвамчетаплашаплашитърсене
      присмехthank_youтоваto_clueumnikостърСъгласен
      лошоbeeeblack_eyeblum3изчервяванесамохвалствоскука
      цензурираншегаsecret2заплашвампобедаюsun_bespectacled
      ShokРеспектхахаprevedдобре дошълkrutoyya_za
      ya_dobryiпомощникne_huliganne_othodifludзабранаблизо
7 коментар
Авторът
Здравейте)
Може би все още имате скица, която работи? В това се оказва, че дори знакът "<" е заменен с "& lt;")
Добре дошли! Когато зареждам вашата скица, тя създава куп синтаксични грешки по някаква причина. Разбира се, не много се примирявам със синтаксиса, но на някои места просто не мога да разбера какво трябва да се оправи. Например на парче:
за (int i = 0; i100) тон (2,70);
digitalWrite (j, masiv [i]);
, какво означава обединеният i100? защо не увеличение? Имате ли нужда от къдрави скоби, така че следващите две функции след за да принадлежат към един и същи цикъл, или греша? И така компилаторът се кълне в целия код. Мога ли по някакъв начин да се свържа с вас, да изясня кода? Опитвам се да направя курсов проект въз основа на вашата статия.

Също така, в кода на мястото, където са свързани библиотеките, техните имена не са посочени. Разбира се, можете да се досетите, но все пак тази скица не е съвсем подходяща за моментално тестване, трябва да я помислите)
Авторът
Да, възможно е)
Тоест предпоследната снимка (в която 77) е просто неуспешна поради някакво паразитно осветяване на горните сегменти в резултат на неправилна работа на динамичния дисплей? Шестимата също имат фалшива подсветка, макар и не толкова очевидна.
Авторът
Иван, отчитане 6см и 11см е разстоянието от сензора до дланта)
Моля, обяснете защо толкова странно свидетелство в последните две снимки.

Съветваме ви да прочетете:

Предайте го за смартфона ...