Съдържание:
- Стъпка 1: Код на Ardunio
- Стъпка 2: Файлове на Proteus
- Стъпка 3: Как работи вашият H-мост
- Стъпка 4: Как работи LDR
Видео: Лек и избягващ робот, базиран на Arduino: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:54
Това е прост проект, който следва или избягва светлината.
Направих тази симулация в Proteus 8.6 pro. Необходими компоненти: -1) Arduino uno.
2) 3 LDR.
3) 2 Dc Gear двигателя 4) Един серво 5) Три 1k резистора 6) един H-Bridge l290D7) Един превключвател за включване и изключване [за промяна на състоянието на програмата]
8) 9v и 5v Battry
Стъпка 1: Код на Ardunio
Кодът на Arduino е променен на малка битова дата 23 февруари 2016 г.]
Този код е силно коментиран, не искам да обяснявам, но ако имате нужда от помощ, не се колебайте да се свържете с мен на ([email protected])
Забележка: -Използвам две условия в тази програма 1-во за Следване на светлината. 2-ро едно за избягване на Светлината.
Доколкото тези условия са изпълнени, роботът ще следва или избягва светлината. [Това е минималната стойност на LDR, която избирам. При нормална светлина обхватът му е 80 до 95, но с увеличаване на интензивността му все повече и повече индуцирани напрежения, докато работи по принципа на делителя на напрежение int a = 400; // Стойност на толерантност]
Стъпка 2: Файлове на Proteus
За Arduino Library изтеглете от тази връзка
Стъпка 3: Как работи вашият H-мост
L293NE/SN754410 е много основен H-мост. Той има два моста, един от лявата страна на чипа и един отдясно, и може да управлява 2 двигателя. Той може да управлява до 1 ампер ток и да работи между 4.5V и 36V. Малкият DC мотор, който използвате в тази лаборатория, може да работи безопасно от ниско напрежение, така че този H-мост ще работи отлично. H-мостът има следните щифтове и функции: Pin 1 (1, 2EN) позволява и деактивира нашия двигател независимо дали е дал HIGH или LOWPin 2 (1A) е логически щифт за нашия двигател (входът е или HIGH или LOW) Pin 3 (1Y) е за един от терминалите на двигателя Pin 4-5 са за заземяване Pin 6 (2Y) е за другия терминал на двигателя Pin 7 (2A) е логически щифт за нашия двигател (входът е ВИСОК или НИСКИ) Пин 8 (VCC2) е захранването за нашия двигател, трябва да се вземе предвид номиналното напрежение на вашия мотор. Пинове 9-11 са несвързани, тъй като използвате само един двигател в тази лаборатория. свързан към 5V. По-горе е диаграма на H-моста и кои щифтове правят какво в нашия пример. Включена в диаграмата е таблица на истината, показваща как двигателят ще функционира според състоянието на логическите щифтове (които са зададени от нашия Arduino).
В този проект щифтът за активиране се свързва с цифров щифт на вашия Arduino, така че можете да го изпратите или НА ВИСОК, или НА НИСКО и да включите или изключите двигателя. Логическите щифтове на двигателя също са свързани към определени цифрови щифтове на вашия Arduino, така че можете да го изпращате ВИСОКО и НИСКО, за да завъртите двигателя в една посока, или НИСКО и ВИСОКО, за да го завъртите в другата посока. Захранващото напрежение на двигателя се свързва към източника на напрежение за двигателя, който обикновено е външно захранване. Ако вашият двигател може да работи на 5V и по -малко от 500mA, можете да използвате 5V изхода на Arduino. Повечето двигатели изискват по -високо напрежение и по -голям ток от този, така че ще ви трябва външно захранване.
Свържете двигателя към H-моста Свържете двигателя към H-моста, както е показано на втората снимка.
Или, ако използвате външно захранване за Arduino, можете да използвате щифта Vin.
Стъпка 4: Как работи LDR
Сега първото нещо, което може да се нуждае от допълнително обяснение, е използването на светлинно зависими резистори. Светлозависимите резистори (или LDR) са резистори, чиято стойност се променя в зависимост от количеството на околната светлина, но как можем да открием съпротивление с Arduino? Е, не можете наистина, но можете да откриете нива на напрежение с помощта на аналоговите щифтове, които могат да измерват (при основна употреба) между 0-5V. Сега може би се питате „Ами как да преобразуваме стойностите на съпротивлението в промени в напрежението?“, Просто е, правим делител на напрежение. Делителят на напрежение приема напрежение и след това извежда част от това напрежение, пропорционално на входното напрежение и съотношението на двете стойности на използваните резистори. Уравнението, за което е:
Изходно напрежение = Входно напрежение * (R2 / (R1 + R2)) Където R1 е стойността на първия резистор и R2 е стойността на втория.
Това все още поражда въпроса „Но какви стойности на съпротивлението има LDR?“, Добър въпрос. Колкото по -малко е околната светлина, толкова по -голямо е съпротивлението, повече околната светлина означава по -ниско съпротивление. Сега за конкретните LDR използвах техния диапазон на съпротивление от 200 - 10 кило ома, но това се променя за различните, така че не забравяйте да потърсите откъде сте ги купили и да се опитате да намерите лист с данни или нещо подобно. Сега в това случай R1 всъщност е нашият LDR, така че нека да върнем това уравнение и да направим малко математическа е-магия (математическа електрическа магия). Сега първо трябва да преобразуваме тези стойности на килоома в ома: 200 кило-ома = 200, 000 ома 10 кило-ома = 10, 000 ома Така че, за да разберем какво е изходното напрежение, когато сме в черно стъкло, включваме следните числа: 5 * (10000 / (200000 + 10000)) Входът е 5V, тъй като това получаваме от Arduino. Горното дава 0.24V (закръглено). Сега откриваме какво е изходното напрежение в пикова яркост, като използваме следните числа: 5 * (10000 / (10000 + 10000)) И това ни дава точно 2.5V. Това са стойностите на напрежението, които ще получим в аналоговите щифтове на Arduino, но това не са стойностите, които ще се видят в програмата „Но защо?“може да попитате. Arduino използва аналогов към цифров чип, който преобразува аналоговото напрежение в използваеми цифрови данни. За разлика от цифровите щифтове на Arduino, които могат да четат само ВИСОКО или НИСКО състояние, което е 0 и 5V, аналоговите щифтове могат да четат от 0-5V и да преобразуват това в числов диапазон от 0-1023. Сега с още малко математическа е-магия. всъщност можем да изчислим какви стойности всъщност ще прочете Arduino.
Тъй като това ще бъде линейна функция, можем да използваме следната формула: Y = mX + C Където; Y = цифрова стойност Където; m = наклон, (изкачване / движение), (цифрова стойност / аналогова стойност) Където; C = Y прихващане Y прихващането е 0, така че получаваме: Y = mXm = 1023 /5 = 204.6 Следователно: Цифрова стойност = 204,6 * Аналогова стойност Така че в черния тон цифровата стойност ще бъде: 204,6 * 0,24 Което дава приблизително 49. И в пикова яркост ще бъде: 204.6 * 2.5 Което дава приблизително 511. Сега с две от тях, настроени на два аналогови пина, можем да създадем две целочислени променливи, за да съхраняваме стойностите им две и да правим оператори за сравнение, за да видим коя от тях има най -ниската стойност, завъртане на робота в тази посока.
Препоръчано:
Как да си направим робот, избягващ Arduino Edge, 4 стъпки
Как да направим робот, избягващ ръбовете на Arduino: Нека направим напълно автономен робот, използвайки Arduino и IR сензори. Той изследва повърхността на масата, без да падне. Гледайте видео за повече
Музикален генератор, базиран на времето (ESP8266 базиран midi генератор): 4 стъпки (със снимки)
Метеорологичен генератор, базиран на времето (ESP8266 базиран Midi генератор): Здравейте, днес ще ви обясня как да направите свой собствен малък музикален генератор, базиран на времето. Той е базиран на ESP8266, който е нещо като Arduino и реагира на температура, дъжд и интензивността на светлината. Не очаквайте това да прави цели песни или акорди
Избягващ препятствия робот Minecraft Creeper: 7 стъпки
Избягване на препятствия Minecraft Creeper Robot: Този робот е създаден, за да участва в предизвикателството Minecraft, Epilog Challenge IX и за първи път авторски конкурс. Той е базиран на една от най -емблематичните тълпи от Minecraft: Creeper. Този робот използва 3D отпечатана черупка, така че трябва да имате достъп до
PIC базиран LF и избягващ робот: 16 стъпки (със снимки)
PIC базиран LF и избягващ робот: Въведение В тази инструкция ще се научите да правите лек и избягващ робот. Моето вдъхновение идва от роботи, имитиращи обичайното човешко поведение, например няма просто да влезете в стена без причина. Мозъкът ви съобщава остроумие
Как да си направите OAWR (пешеходен робот, избягващ препятствия): 7 стъпки (със снимки)
Как да си направим OAWR (пешеходен робот, избягващ препятствия): Тази инструкция показва как да направите малък ходещ робот, който избягва препятствията (подобно на много опции, предлагани в търговската мрежа). Но какво забавление има при закупуването на играчка, когато вместо това можете да започнете с мотор, лист пластмаса и купчина болтове и професионалисти