Arduino — различия между версиями

Материал из CADR
Перейти к: навигация, поиск
(Добавил раздел "Подключение оборудования")
(Общая информация)
(не показано 9 промежуточных версий этого же участника)
Строка 1: Строка 1:
 +
= Общая информация =
 +
* Методичка/Книга [https://docs.google.com/document/d/1bDCyNURCL4vtBt96BZDe56C4fJJWLA7_b3P4lXrUvzY/edit "Разработка микропроцессорных систем"]
 +
* [http://forum.arduino.cc/index.php?topic=73748.0 Loop-Back Test] -- описание одного из методов тестирования МК.
 +
* [https://cdn.solarbotics.com/products/documentation/ardx-eg-sola-russian.pdf Руководство по освоению Arduino] (на русском языке)
 +
* Brian W. Evans, [http://playground.arduino.cc/uploads/Main/arduino_notebook_v1-1.pdf arduino programming notebook] (на анлийском языке)
 +
 
= Прерывания =
 
= Прерывания =
Допустим, мы сделали "бегущий огонь" и теперь хотим прикрутить кнопку для управления режимом светодиодов. Самым прямолинейным решением, на первый взгляд, является считвание значение кнопки в начале <code>loop</code>. Собираем схему, добавляем считывание значения с цифрового порта и логику переключения режимов. Всё бы хорошо, но наше кратковременное нажатие на кнопку обычно приводит к многократному считыванию значения; как следствие, логика не работает, как должна.
+
* [http://www.engblaze.com/we-interrupt-this-program-to-bring-you-a-tutorial-on-arduino-interrupts/ We interrupt this program to bring you an Arduino interrupt tutorial] (англ.)
 +
* [http://www.engblaze.com/microcontroller-tutorial-avr-and-arduino-timer-interrupts/ Microcontroller tutorial series: AVR and Arduino timer interrupts] (англ.)
  
Плюс, добавляя кнопку в наш проект, мы добавляем в наш проект неопределённость -- нажатие на кнопку может возникнуть в любой момент, и (если всё делать по-нормальному) мы должны обрабатывать это событие в тот момент, как оно возникла.  В таких случаях говорят, что событие возникает асинхронно (по отношению к нашей программе.)
+
= Работа с программатором =
 +
* Vcc2GND, [http://www.instructables.com/id/Uploading-Sketch-to-Arduino-Pro-Mini-using-usbASP/ "Uploading Sketch to Arduino Pro Mini using usbASP"]
  
Для правильного решения данной задачи необходимо использовать прерывания.
+
= Подключение оборудования =
 
+
* [[Arduino/MT-16S2H|ЖК-дисплей МЭЛТ MT-16S2H]]
== Реакция на внешние события ==
+
* [[Arduino/RotaryDial|Дисковый номеронабиратель]]
Для обработки внешнего асинхнонного события нам потребуются как минимум две вещи:
 
* Написать обработчик события
 
* Связать обработчик с внешним событием
 
 
 
TODO
 
  
== Прерывания по таймеру ==
+
= Arduino Nano 168p =
TODO
+
Специфика работы с Arduino Nano на базе микроконтроллера MEGA 168PA.
 +
* http://playground.arduino.cc/Bootloader/ArduinoBootloader168P
  
== См. также ==
+
Судя по отзывам на AliExpress, некоторые Arduino на базе МК 168pa поставляются без загрузчика. Необходимо прошить сначала загрузчик через USBasp, потом уже использовать обычное подключение по USB (встроенный USB-UART).
* [http://www.engblaze.com/we-interrupt-this-program-to-bring-you-a-tutorial-on-arduino-interrupts/ We interrupt this program to bring you an Arduino interrupt tutorial] (англ.)
 
* [http://www.engblaze.com/microcontroller-tutorial-avr-and-arduino-timer-interrupts/ Microcontroller tutorial series: AVR and Arduino timer interrupts] (англ.)
 
 
 
= Подключение оборудования =
 
* [[Arduino/МТ–16S2H|ЖК-дисплей МЭЛТ MT–16S2H]]
 
  
 
[[Категория:База знаний]]
 
[[Категория:База знаний]]

Версия 10:52, 20 марта 2019

Общая информация

Прерывания

Работа с программатором

Подключение оборудования

Arduino Nano 168p

Специфика работы с Arduino Nano на базе микроконтроллера MEGA 168PA.

Судя по отзывам на AliExpress, некоторые Arduino на базе МК 168pa поставляются без загрузчика. Необходимо прошить сначала загрузчик через USBasp, потом уже использовать обычное подключение по USB (встроенный USB-UART).