Общение с arduino

Как сделать так, чтобы некоторый void запускался в arduino только после того, как я нажму какую-то кнопку на клавиатуре? Заранее спасибо.

Где есть уроки по взаимодействию arduino с компом? не нашёл
  • -5
  • 28 июля 2012, 19:59
  • asiniy

Комментарии (17)

RSS свернуть / развернуть
Где есть уроки по взаимодействию arduino с компом? не нашёл
Вот неплохой
+1
Как сделать так, чтобы некоторый void запускался в arduino только после того, как я нажму какую-то кнопку на клавиатуре?
Повесь кнопку на вывод внешнего прерывания, настрой его в коде программы и его обработчик запустится по нажатию на кнопку. Подробнее смотри на самом портале, там есть учебный курс по AVR (если твоя arduino на нем основана).
0
Начнем с вопроса — а на какой клавиатуре ты собрался кнопку нажимать?
Если на ПК — то пишешь программу, которая следит за нажатиями кнопок и при нажатии нужной отсылает какие-то данные (команду, например) через COM-port в ардуино. В ардуино, соответсвенно, получаемые данные нужно обрабатывать и встретив в них команду — вызывать требуемую функцию.
Если клавиатура — кнопки, подключенные к ардуино, то уж по вопросу «подключить кнопку к МК» ответов в инете дохрена.
+2
  • avatar
  • Vga
  • 28 июля 2012, 20:26
Чёрт, я же забыл про кнопки не на клавиатуре… Спасибо!
0
Программировать прерывания INT0, INT1, PCINT. В программном обеспечении Arduino есть функции, с помощью которых можно это сделать в Arduino-стиле — attachInterrupt() и detachInterrupt():
arduino.cc/en/Reference/AttachInterrupt
arduino.cc/en/Reference/DetachInterrupt

«Взаимодействие Arduino с компом» во многом зависит от того, что за операционная система установлена на компе. С точки зрения операционной системы Arduino — это такое USB-устройство COM-порт, к которому подключен последовательный терминал. С точки зрения Arduino комп — это USART-устройство. В программном обеспечении Arduino класс Serial:
arduino.cc/en/Reference/Serial
0
Если кнопки на прерывания вешать — нужно озадачиваться фильтрацией дребезга и прочим. ИМХО, лучше их опрашивать.
Алсо, разве у Arduino есть PCINT? Я думал, он только у 2313 есть, а у семейства atmega8, на котором ардуино — только INT0 и INT1.
0
Ардуино не только на восьмой меге делают, еще на 168, 328, вроде 2561 и еще есть, сейчас уже и не помню. И на них есть PCINT.
На atmega8 это давно устаревшая модель ардуины.

Уроки по ардуине можна найти здесь, тут на чувак разжовывает про саму ардуину и об принципах роботы цифровой электроники.
0
Я сказал «семейство atmega8». В него входят меги 8, 48, 88, 168, 328, совместимые пин-ту-пин и по бинарному коду. Правда, х8 — расширенные по сравнению с атмега8, у них есть дополнительные возможности. Может PCINT в них и входит, не знаю, честно говоря.
0
Насчёт совместимости по бинарному коду — ATmega8 и ATmega48/88/168/328 относятся к разным линейкам. Так что совместимость между ними если существует, то на уровне программного обеспечения Arduino, так сказать на уровне API.
0
Насколько я помню — x8 обратно совместимы с atmega8 по бинарному коду. Вот код от х8 на 8 работать не будет, да — у них несколько расширены возможности.
0
Так же здесь, есть моя небольшая статейка по скрещиванию пинборда и ардуины.
Правда я оставил эту затею из ардуиной и учу Си.
Пробую повторять стандартные скетчи ардуино на avr-gcc.
0
Ардуино и использует avr-gcc. Так что по сути ты не то, чтобы их повторяешь, а заменяешь функции фреймворка arduino на свои велосипеды.
0
Касательно тегов — тема сисек не раскрыта!
+2
Эх, обратная сторона есть и у прогресса. Лет так всего 15-20 назад, пожалуй, человеку пришлось бы намутить книжку и прочитать, чтобы что-то узнать. Но нет, теперь можно зайти на какой-то сайт, пролистать пару статей, посмотреть, как круто у других, и загореться мыслью что-то сделать. И из-за доступности и удобства информации три сотни страниц теперь много и лениво. А ведь, автор, потрать ты хоть несколько дней на доступную и простую книжку по основам, и все твои текущие вопросы (да и многие другие) стали бы ясны. Так почему бы это не сделать, раз такие порывы?
+4
Посоветуй такую книжку?
0
Ревич Ю.В. «Занимательная электроника» — по моему для начала лучше не придумать. Она распространенная, найти не должно быть проблемой.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.