Автор Тема: Arduino за стрелки  (Прочетена 57127 пъти)

mitko0888

  • Trade Count: (35)
  • Hero Member
  • *****
  • Публикации: 2385
  • Рейтинг: 970
  • H0, еп. I, II, III, IV, София
    • Снимките ми ...
Re: Arduino за стрелки
« Отговор #135 -: 05 Март 2018, 07:21:43 »
Цитат на: pavel75 link=topic=4987.msg110933#msg110933 date=1520198935
Направих го, но ми дава грешка на потъмнения ред:

if (EEPROM.read(0)=0)


Направи го
if (EEPROM.read(0)==0)

pavel75

  • КЖМ - България
  • Trade Count: (18)
  • Hero Member
  • *****
  • Публикации: 1812
  • Рейтинг: 264
  • HO; IV и V; BDZ, BG; София
Re: Arduino за стрелки
« Отговор #136 -: 05 Март 2018, 09:54:34 »
Митко, Светльо,

страхотни сте. Имате  :drinks: от мен. Питал съм много хора, но само тук във форума получих съдействие.

Оправих двойното равно, бях объркал посоките и като го изключа отиваше в другата посока, но смених да е ==1 и нещата заспаха.
Малко по-късно ще направя клипче и ще публикувам кода.
Прави ми впечатление, че като включих тази библиотека му трябва маааалко повечко време за инициализация. За сега не е фатално, но ще видя като станат три машинки дали няма да му трябва доста време.
Като стана въпрос за три машинки, за да им запомня и тяхното положение трябва да е така:

if (EEPROM.read(0)==0) - за първата
if (EEPROM.read(1)==0) - за втората
if (EEPROM.read(2)==0) - за третата

и за ъпдейта:

EEPROM.update(0, 1); - за първата
EEPROM.update(1, 1); - за втората
EEPROM.update(2, 1); - за третата

Нали не бъркам?

svetljjjo

  • Гост
  • Trade Count: (0)
Re: Arduino за стрелки
« Отговор #137 -: 05 Март 2018, 15:56:02 »
да ама ще трябва да се дописва целия код на програмата трябва да се добавят променливи и за втори и трети бутон
променливите свързани със положението на сервото също ще трябва да се добавят и за второто и за третото
и всичко това да се добави във целия код надолу в програмата
Защо не ползвате тая програма която изкара VladoC гледах е тя е написана професионално
и е доста по добра

А и не си споменал как ще захранваш ардуиното с кво напрежение с 5в или с нещо между 6 и 12 волта
всяко ардуино има вграден стабилизатор и два входа за захранване
за микро са VCC за 5в и RAW за между 6 и 12 волта
мисълта ми е що не си подсигуриш захранване с кондензатор един голям или няколко по малки вързани успорено
консумацията е малка и един 4700мф ще осигури поне 3 сек за да не се ресетва ардуиното от премигвания на тока





pavel75

  • КЖМ - България
  • Trade Count: (18)
  • Hero Member
  • *****
  • Публикации: 1812
  • Рейтинг: 264
  • HO; IV и V; BDZ, BG; София
Re: Arduino за стрелки
« Отговор #138 -: 05 Март 2018, 18:34:39 »
Цитат на: svetljjjo link=topic=4987.msg110943#msg110943 date=1520258162
да ама ще трябва да се дописва целия код на програмата трябва да се добавят променливи и за втори и трети бутон
променливите свързани със положението на сервото също ще трябва да се добавят и за второто и за третото
и всичко това да се добави във целия код надолу в програмата
Защо не ползвате тая програма която изкара VladoC гледах е тя е написана професионално
и е доста по добра

А и не си споменал как ще захранваш ардуиното с кво напрежение с 5в или с нещо между 6 и 12 волта
всяко ардуино има вграден стабилизатор и два входа за захранване
за микро са VCC за 5в и RAW за между 6 и 12 волта
мисълта ми е що не си подсигуриш захранване с кондензатор един голям или няколко по малки вързани успорено
консумацията е малка и един 4700мф ще осигури поне 3 сек за да не се ресетва ардуиното от премигвания на тока

Да, за второто серво, за втория бутон ще се допише. Това няма спор. Там нещата са ми ясни. Не ми беше ясно за тази библиотека, която пази данните.

Тази програма на VladoC е супер, но аз от два месеца се хванах с това и съм супер, мега хипер начинаещ. За това моя код изглежда като за първи клас. По тази причина не можах да се ориентирам добре в програмата на VladoC и не мога да я нагодя за мойта гара. При него се ползват и аналоговите входове, а аз там още не съм запознат. Ако успея да разуча и аналоговите входове на ардуиното ще мога да включвам на едно ардуно по 4 сервота, а не по 3 както е сега. Хубавото на ардуиното, е че след време ако напредна още винаги мога да променя кода.

В момента ардуиното го захранвам със зарядно за GSM. Обаче мисля да го сложа на тази платка, която май си има кондензатор:
https://www.aliexpress.com/item/Free-shipping-NANO-and-UNO-multi-purpose-expansion-board-for-arduino-nano-3-0/32503940168.html?spm=2114.search0104.3.104.27542b20AaSXg5&ws_ab_test=searchweb0_0,searchweb201602_1_10152_10151_10065_10344_10068_10342_10343_10340_10341_10084_10083_10618_10304_10307_10302_5711211_10313_10059_10534_100031_10103_10627_10626_10624_10623_10622_5722411_10621_10620_5711311,searchweb201603_25,ppcSwitch_5&algo_expid=738e151d-f923-4a58-a74b-f015d1fc2fe7-17&algo_pvid=738e151d-f923-4a58-a74b-f015d1fc2fe7&transAbTest=ae803_5&priceBeautifyAB=0

svetljjjo

  • Гост
  • Trade Count: (0)
Re: Arduino за стрелки
« Отговор #139 -: 05 Март 2018, 19:15:10 »
Off-Topic:
При него се ползват и аналоговите входове, а аз там още не съм запознат. Ако успея да разуча и аналоговите входове на ардуиното ще мога да включвам на едно ардуно по 4 сервота, а не по 3 както е сега. Хубавото на ардуиното, е че след време ако напредна още винаги мога да променя кода.

Виж сега всички пинове на кое да е ардуино са дигитални входно изходни
И почти всички пинове имат и допълнителни функций
на тези които ти смяташ само за аналогови това е допълнителна функция
Примерно А0  е дигитален пин 14 можеш да се обръщаш към него с D14
А1 е D15 и Т.н. до А5 който е D19
Обаче ако искаш да четеш аналогови величини което е само стойности на напрежението от 0 до 5 волта
можеш да го правиш само на аналогови пинове
Това са така наречените хардуерни функций тоест те са вградени в самия чип

Друга допълнителна функция е PWM тя е има само на пиновете 3-5-6-9-10-11
само на тези пинове можеш да напишеш
analogWrite (pin, 127);
и ще получиш правоъгълни импулси с коефицент на запълване от 0 до 100%  като напишеш една от стойностите от 0 до 255
примерно 127 са падат 50% ако напишеш пин различен от тея дето имат функцията PWM  няма да получиш никви импулси
за това и сервото се атачва на някой от тея пинове
има обаче библиотеки софтуерно PWM  а и софтуерно серво които карат всеки пин да стане PWM
друга важна допълнителна функция е RX и TX на пиновете 0 и 1 тs е за комуникация SPI
с тях различни платки могат да обменят информация за това и те рядко ще видиш да се ползват в туториалите
но ти ако искаш можеш да ги ползваш като се обърнеш към тях с D0 и D1

за всяко ардуино има такава картинка и по нея лесно можеш да се ориантираш за всички пинове



pavel75

  • КЖМ - България
  • Trade Count: (18)
  • Hero Member
  • *****
  • Публикации: 1812
  • Рейтинг: 264
  • HO; IV и V; BDZ, BG; София
Re: Arduino за стрелки
« Отговор #140 -: 05 Март 2018, 19:19:54 »
Демек ако напиша:

const int butonpin = 19;
pinMode (butonpin,INPUT);

Ще мога да ползвам аналогов пин №5
Правилно ли те разбирам?

svetljjjo

  • Гост
  • Trade Count: (0)
Re: Arduino за стрелки
« Отговор #141 -: 05 Март 2018, 19:22:09 »
точно така
всеки пин е дигитален входно изходен
pinMode (butonpin,INPUT);
прави точно това казва на чипа че искаш пин 19 да го ползваш за цифров вход
и той вече може да приема сигнали с ТТЛ нива и ще ги отчита като 0 и 1
« Последна редакция: 05 Март 2018, 19:26:27 от svetljjjo »

pavel75

  • КЖМ - България
  • Trade Count: (18)
  • Hero Member
  • *****
  • Публикации: 1812
  • Рейтинг: 264
  • HO; IV и V; BDZ, BG; София
Re: Arduino за стрелки
« Отговор #142 -: 05 Март 2018, 19:24:06 »
Цитат на: svetljjjo link=topic=4987.msg110947#msg110947 date=1520270529
точно така
всеки пин е дигитален входно изходен

Ще го пробвам това тези дни.
Ако се получи ще имам един въпрос към теб - какво пиеш?

Теб и Митко имам много да ви черпя
« Последна редакция: 05 Март 2018, 19:26:10 от pavel75 »

pavel75

  • КЖМ - България
  • Trade Count: (18)
  • Hero Member
  • *****
  • Публикации: 1812
  • Рейтинг: 264
  • HO; IV и V; BDZ, BG; София
Re: Arduino за стрелки
« Отговор #143 -: 05 Март 2018, 21:16:24 »
Цитат на: svetljjjo link=topic=4987.msg110943#msg110943 date=1520258162
да ама ще трябва да се дописва целия код на програмата трябва да се добавят променливи и за втори и трети бутон
променливите свързани със положението на сервото също ще трябва да се добавят и за второто и за третото
и всичко това да се добави във целия код надолу в програмата
Защо не ползвате тая програма която изкара VladoC гледах е тя е написана професионално
и е доста по добра

А и не си споменал как ще захранваш ардуиното с кво напрежение с 5в или с нещо между 6 и 12 волта
всяко ардуино има вграден стабилизатор и два входа за захранване
за микро са VCC за 5в и RAW за между 6 и 12 волта
мисълта ми е що не си подсигуриш захранване с кондензатор един голям или няколко по малки вързани успорено
консумацията е малка и един 4700мф ще осигури поне 3 сек за да не се ресетва ардуиното от премигвания на тока


Мисля си за един UPS хем да пази от токови удари, хем стабилизатор, хем ако спре тока да изключа нещата.
Тази библиотека ERRPROM нещо не ми харесва, че има живот определен брой записи.

svetljjjo

  • Гост
  • Trade Count: (0)
Re: Arduino за стрелки
« Отговор #144 -: 05 Март 2018, 21:26:47 »
е това е най доброто което може да се направи ама е малко скъпо най евтините дето съм виждал са май по 60лв

А и да кажа само може и да знаеш ама да го спомена
тея серво не са малко като консумация принципно му дават само едно да се захранва от ардуиното
ако са повече препоръчват да си ги захраниш с външни 5в и само масите да свържеш на едно

Off-Topic:
Тази библиотека ERRPROM нещо не ми харесва, че има живот определен брой записи.

това няма нищо общо с библиотеката те всички флаш са така
иначе да не е препоръчително да се ползва усърдно за това съм виждал как го правят когато се нуждае
някой проект от запазване на потребителски данни и всякви такива други величини нужни за програмата
да слагат външно флашче от сорта 24С02 -04 -08 и т.н.  те са евтинки и като умре то е на цокълче 8пиново вадиш фърлиаш и тураш друго  ;D
« Последна редакция: 05 Март 2018, 21:33:29 от svetljjjo »

mitko0888

  • Trade Count: (35)
  • Hero Member
  • *****
  • Публикации: 2385
  • Рейтинг: 970
  • H0, еп. I, II, III, IV, София
    • Снимките ми ...
Re: Arduino за стрелки
« Отговор #145 -: 05 Март 2018, 22:32:28 »
Цитат на: pavel75 link=topic=4987.msg110951#msg110951 date=1520277384
Мисля си за един UPS хем да пази от токови удари, хем стабилизатор, хем ако спре тока да изключа нещата.
Тази библиотека ERRPROM нещо не ми харесва, че има живот определен брой записи.

Колко ли врътвания ще издържи сервото, или стрелката.

pavel75

  • КЖМ - България
  • Trade Count: (18)
  • Hero Member
  • *****
  • Публикации: 1812
  • Рейтинг: 264
  • HO; IV и V; BDZ, BG; София
Re: Arduino за стрелки
« Отговор #146 -: 12 Март 2018, 16:02:50 »
Да питам някой дали е наясно.
До сега опитвах да въртя стрелката надясно от 0 градуса на +90. Това е когато стрелката е дясна.
При лява стрелка как трябва да е кода от 0 градуса към -90 или от 270 до 0?

mitko0888

  • Trade Count: (35)
  • Hero Member
  • *****
  • Публикации: 2385
  • Рейтинг: 970
  • H0, еп. I, II, III, IV, София
    • Снимките ми ...
Re: Arduino за стрелки
« Отговор #147 -: 12 Март 2018, 16:15:47 »
Може и да я оставиш от 0 до 90. Може и да я направиш от 90 до 0. Както ти харесва. А най-важното - както си вързал телчетата / тягите за местене на езика.

Цитат на: pavel75 link=topic=4987.msg111046#msg111046 date=1520863370
При лява стрелка как трябва да е кода от 0 градуса към -90 или от 270 до 0?

И двете няма да работят - стандартната servo.h приема стойности от 0 до 180 като позиция.

pavel75

  • КЖМ - България
  • Trade Count: (18)
  • Hero Member
  • *****
  • Публикации: 1812
  • Рейтинг: 264
  • HO; IV и V; BDZ, BG; София
Re: Arduino за стрелки
« Отговор #148 -: 13 Март 2018, 12:00:16 »
Последното творение - маршрутизация:
https://www.dropbox.com/s/uqweih5osrb1rtj/video-f6cce122cbfc9dfa517f15b055c8c483-V.mp4?dl=0

Понеже качеството на клипа не е добро, пък и малката много държеше да и се види ръката - в края на клипа, ще дам малко разяснения:

При натискане на горния бутон за 1-ви коловоз - обръща първата стрелка в право положение
При натискане на втория бутон за 2-ри коловоз - обръща първата в отклонение и втората в отклонение
При натиснате на третия бутон за 3-ти коловоз - обръща първата в отклонение, а втората в право положение

Жълтия светодид показва - право положение, червеният отклонение. Не съм сигурен дали се виждат добре на клипа.

pavel75

  • КЖМ - България
  • Trade Count: (18)
  • Hero Member
  • *****
  • Публикации: 1812
  • Рейтинг: 264
  • HO; IV и V; BDZ, BG; София
Re: Arduino за стрелки
« Отговор #149 -: 15 Март 2018, 10:51:59 »
Загледах се в тази картинка:


и ми направи впечатление, че аналоговите пинове стигат не до А5, ами до А7. Вечерта разгледах и моето ардуино нано - там също са означени до А7. До сега на всякъде съм чел, че аналоговите са 6, както и примера дето е дал Светльо:


Защо е това разминаване?
Както да питам - нали цифрови пинове 0 и 1 означени като TX1 и RX0 могат да си се ползват както другите?
« Последна редакция: 15 Март 2018, 10:55:46 от pavel75 »