Електроника и Електротехника | Electronics and Electrical Engineering > Аналогово управление | Analog Control
Arduino за стрелки
pavel75:
--- Цитат на: mitko0888 link=topic=4987.msg112560#msg112560 date=1535725863 ---Не те разбрах: опитваш се да качиш нова програма, т.е. да запишеш нов проект? И компютърът ти казва че не може?
--- Край на цитат ---
Общо взето - ДА. Трябваше да кача нова програма, за да оправя грешката. Оправих се. Разкачих модула и ардуиното започна да "чува". Обаче май съм прецакал този модул. Докато дойде нов за сега спирам с тези опити.
mitko0888:
Когато защкачаш различни платки на USB порта, най-често те се виждат на различни COM портове. Т.е. като заредиш една програма на едното ардуино, след това като заредиш друга програма на другото ардуино, трябва за второто отново да си избереш ком порта. И така всеки път като сменяш платките с ардуиното.
Модул можеш да прецакаш с отверка, с чук, с поялник и т.н. Може и с грешно свързване, но обикновено като свържеш един път едни жици повече не се пипат и не може ад гръмне от програми.
pavel75:
Проблемът е, че още не мога да разбера какви ги натворих.
Като разкача модула и ардуиното се държи нормално. Закачам му модулчето и ардуиното нито работи нито приема нова програма, само му мига постоянно вградения светодиод.
Трябва да го помисля малко. Сега отивам в клуба да поработя малко физическа работа, че нещо зациклих.
svetljjjo:
Ако споделиш скрипта и схемата сигурно ще може повече да ти съдействаме евентуално :good:
pavel75:
--- Цитат на: svetljjjo link=topic=4987.msg112579#msg112579 date=1535915735 ---Ако споделиш скрипта и схемата сигурно ще може повече да ти съдействаме евентуално :good:
--- Край на цитат ---
За схемата използвам:
2 бр Ардуино Нано
1 бутон
1 серво моторче
2 бр допълнителен модул за Ардуино - НС 12
Свързани са по следния начин:
1. На първото ардуино на пинове 0 и 1 е включен модула НС 12, а на пин 4 бутона
2. На второто ардуино на пирове 0 и 1 е включен другият модул НС 12, на пин 4 е серво моторчето.
В началото направих съвсем проста програма, колкото да тествам комуникацията. /програмата е следващия пост/. При натискане на бутона от първото Ардуино, то изпраща код. Второто, когато приеме този код завърта сервото. Ето клипче как работеше:
https://www.dropbox.com/s/vqtozdnidxngv1x/VIDEO0015.mp4?dl=0
Имаше малко ядове, че понякога като натиснех копчето, второто ардуино явно приемаше две команди и завърташе два пъти сервото. Това знаех как да го оправя - с функцията millis щях да следя дали е минало някакво време от последното натискане на бутона - примерно 500 мсек и тогава да може повторно да прати код. Понеже не очаквах тук да имам затруднения с това не се хванах сега, а реших програмата малко да я развия и на второто Ардуино като завърти сервото да прати сигнал в коя посока го е врътнало. Ето тук допуснах грешка, че този код го сложих извън IF-a. Качих програмата и Ардуиното започна да излъчва постоянно сигнал. Видях си грешката, оправих кода и се опитах да го кача пак. При компилиране ми казваше, че всичко е ОК, но при качване имаше драма - тръгва да качва и стои много време. След това долу вадеше съобщение, че е направило 10 опита да се свърже с ардуиното и не е могло. Някъде четох, че тази функция е малко тегава, защото докато излъчва не може да прави нищо друго. Нещо като функцията delay. Посъветваха ме да разкача модула НС12 и да пробвам. Направих го и се получи. Върнах първоначалният вариант на програмата, но вече не работеше. Когато приема или изпраща присветват вградени диоди за RX и TX. Това вече не се случваше.
Открих и още нещо - ако НС12 е закачено за Ардуиното дава същата грешка, че не може да качи програмата. Когато го махна този модул програмата се качва без никакви проблеми.
Сега ще кача и кода.
Навигация
[0] Списък на темите
Премини на пълна версия