Нужна помощь по програмированию "тупого железа"
- Войдите на сайт для отправки комментариев
Пт, 05/10/2018 - 20:47
Так я только начал изучение программирования микроконтролеров и не являюсь програмистом Нужна помощь програмированию тупого железа
Пятница же ж. Я во всеоружии:
прилагаю схему и проект для протеуса.
смысл такой: есть кнопки, которые необходимо подключать к двум разным резистивным каналам управления.
по умолчанию кнопки подключены к каналу 1 и при удержании более 2 сек. кнопки ОК, начинают работать со вторым каналом.
http://yadi.sk/d/O-ndVnFjPQUQqQ
режим 1
сопротивление на выходе
390 Ом — Menu
220 Ом — Up
300 Ом — Down
470 Ом — OK
режим 2
сопротивление на выходе
390 Ом — C
220 Ом -- Res+
300 Ом — Set-
490 Ом — Cancel
В программировании не соображаю т.к. образование у меня радиоинженер конструктор.
Помогите пожалуйста с кодом!
Ну, если Вы инженер, то какие-то понятия о программировании имеете, а остальное легко освоите. Делайте, а там если чего - поможем.
DIYMan, присоединяюсь ....к попкорну. Этот чел тоже будет говорить что на иностраных форумах благодушная атмосфера. А на русских форумах новичка собираются облить грязью.
Квон, а на аналоговые кнопки класса нет разве? Надо срочно завести ))
ну начну беседу сам с собой пока. сначало я думаю пойдет блок кода по обработке клавиатуры типа такого.
Квон, а на аналоговые кнопки класса нет разве? Надо срочно завести ))
p33000, неправильно вы начали писать программу. Надо начинать с алгоритма и структурной схемы. Да и освежить в памяти конечные автоматы.
ну начну беседу сам с собой пока. сначало я думаю пойдет блок кода по обработке клавиатуры типа такого.
В лупе кнопку обнаружили, в переменную (типа static, например) ее запомнили. Так же запомнили время нажатия через millis(). Потом крутитесь и проверяете - сменилась активная кнопка или нет. Как сменилась - из миллиса вычитаете время нажатия и смотрите - больше 2000 разница или меньше. В зависимости от этого делаете digitalWrite на нужный выход.
Спасибо всем откликнувшимся! Но я не могу пока с вами разговаривать на одном языке. Так как начал только изучать науку о програмировании "Великой Ардуины" и вчера в протеусе собрал схему со светодиодом.
Пример взял отсюда http://arduino.ru/forum/programmirovanie/rabota-s-knopkami-v-pomoshch-novichku?page=2#comment-46294
В таком случае ознакомьтесь с http://arduino.ru/tutorials/BlinkWithoutDelay - там найдете как время запомнить и сравнить.
Хорошо накачал книжек буду читать. спасибо.
В схеме сразу обнаружил херню (простите за мой франзузский) - а как будет контролироваться изменяемый параметр? Добавляйте какой нибудь HID типа табло.
В схеме сразу обнаружил херню (простите за мой франзузский) - а как будет контролироваться изменяемый параметр? Добавляйте какой нибудь HID типа табло.
это кнопки на руле автомобиля информация отображается на экране.
Добавляйте какой нибудь HID типа табло.
Табло - это не HID, тащемта.
выходы атмеги нужно перевести в z состояние и при нажатии кнопок сажать на землю. по их сопротивлению авто компьютер определяет какая кнопка нажата.
проект очень интересный. позволит задействовать дополнительные возможности бортового компьютера или магнитолы без замены или приобретения дополнительных кнопок.
это кнопки на руле автомобиля информация отображается на экране.
Извините, но не в схеме, ни в ТЗ нет никакого экрана. Ну да хер с ним. А зачем вы используете резисторы кратные 100омам? А почему не килоому? Там потребление и нагрев будет меньше. И, кстати, Вы считали токи на выходе? А суммарный ток?
вот пример на аттину по этой схеме
Замечательно! Наконец я увидел схему. А теперь вопрос - а нахера Вам нужна прокладка из контроллера, когда то же самое вы можете подать с джойстика? Помедитируйте малость, прежде чем ответить.
смысл такой: есть кнопки, которые необходимо подключать к двум разным резистивным каналам управления.
это понятно?
кнопки дополнительные стоят 4500 рублей
идея в том чтобы не покупать кнопки, а задействовать часть из существующих.
Так какой из представленных вариантов у Вас? Нарисуйте схему того , что у Вас есть, потом что Вам надо и поймите, а нужен ли Вам контроллер или просто дополнительный переключатель. Как я понимаю у Вас Киа или Хендай?
у меня такие кнопки
нужны такие
схма подключения на руле к бортовому компьютеру
в сети есть одноканальный вариант
например здесь
http://www.mariklab.ru/joystick.html
#9
прилагаю схему и проект для протеуса.
смысл такой: есть кнопки, которые необходимо подключать к двум разным резистивным каналам управления.
по умолчанию кнопки подключены к каналу 1 и при удержании более 2 сек. кнопки ОК, начинают работать со вторым каналом.
В программировании не соображаю т.к. образование у меня радиоинженер конструктор.
Помогите пожалуйста с кодом!
Если Вы инженер конструктор, то зачем Вам протеус. Соберите на макетке, сначала воткните на выхода светодиоды и смотрите все в натуре. Схема вполне рабочая. С проблемами программирования,за пару вечеров разберетесь. Главное начать.
На всякий случай измерьте ток в цепях обоих каналов при подключении минимальныхо резисторов, не превысит-ли он максимальный для выхода ардуины. Можно учесть еще сопротивление открытого ключа выхода ардуино = 20 Ом
так чтобы схема в железе заработала нужно прошить атмегу8.
погонял в протеусе одноканальную схему по ссылке выше. расчитал для analogRead показатели.
поправил в скетче по свои сопротивления, но прошивка не компилируется.
может подскажите в чем дело?
Warning: Board arduino:avr:attiny85 doesn't define a 'build.board' preference. Auto-set to: AVR_ATTINY85
Warning: Board arduino:avr:attiny13 doesn't define a 'build.board' preference. Auto-set to: AVR_ATTINY13
Warning: Board arduino:avr:atmega8A doesn't define a 'build.board' preference. Auto-set to: AVR_ATMEGA8A
Warning: Board attiny13:avr:attiny13e doesn't define a 'build.board' preference. Auto-set to: AVR_ATTINY13E
Warning: Board attiny13:avr:attiny13a doesn't define a 'build.board' preference. Auto-set to: AVR_ATTINY13A
Warning: Board attiny13:avr:attiny13f doesn't define a 'build.board' preference. Auto-set to: AVR_ATTINY13F
Warning: Board attiny13:avr:attiny13c doesn't define a 'build.board' preference. Auto-set to: AVR_ATTINY13C
Warning: Board attiny13:avr:attiny13d doesn't define a 'build.board' preference. Auto-set to: AVR_ATTINY13D
Внимание: platform.txt из ядра 'Attiny13' содержит устаревшие compiler.path={runtime.ide.path}/hardware/tools/avr/bin/, автоматически преобразовано в compiler.path={runtime.tools.avr-gcc.path}/bin/. Ожидайте обновления ядра.
Внимание: platform.txt из ядра 'Attiny13' содержит устаревшие tools.avrdude.cmd.path={runtime.ide.path}/hardware/tools/avr/bin/avrdude, автоматически преобразовано в tools.avrdude.cmd.path={path}/bin/avrdude. Ожидайте обновления ядра.
Внимание: platform.txt из ядра 'Attiny13' содержит устаревшие tools.avrdude.config.path={runtime.ide.path}/hardware/tools/avr/etc/avrdude.conf, автоматически преобразовано в tools.avrdude.config.path={path}/etc/avrdude.conf. Ожидайте обновления ядра.
Внимание: platform.txt из ядра 'Attiny13' содержит устаревшие recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/{archive_file}" "{object_file}", автоматически преобразовано в recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}". Ожидайте обновления ядра.
Файл загрузчика указан но не существует: C:\Program Files\arduino\hardware\attiny13\avr\bootloaders\empty
Скетч использует 606 байт (59%) памяти устройства. Всего доступно 1024 байт.
Глобальные переменные используют 16 байт динамической памяти.
Поставил как для атмега8 компиляция прошла нормально и даже заработало устройство в протеусе.
Этот расклад не будет работать на морозе. Так что купите готовое и не парьте мозг нам и себе.