Arduino.ru. Ардуино программирование


прошивка с помощью Arduino и Arduino IDE [Амперка / Вики]

В этой статье, будет показан переход от программирования Arduino к программированию «сырого» микроконтроллера ATtiny84 с использованием привычных для Arduino скетчей.

Нам понадобится

Начинаем с простого скетча

Собирать мы будем устройство с потенциометром и светодиодом. В зависимости от угла поворота потенциометра будет изменяться яркость светодиода. Подключаем к Arduino ледующим образом: светодиод подключаем к цифровому пину №6 (поскольку на нем есть возможность генерации ШИМ-сигнала, за счет которого будет регулироваться яркость светодиода), а потенциометр — к аналоговому пину №0. Скетч содержит следующий код:

pwm-adc.ino // Номер пина для светодиода int ledPin = 6;   // Номер аналогового пина int analogPin = A0;   // В эту переменную считываем значение с аналогового входа int val = 0;   void setup() { // Настраиваем пин светодиода на выход pinMode(ledPin, OUTPUT); }       void loop() { // Считываем значение val = analogRead(analogPin);   // val содержит значение из диапазона 0..1023, а диапазон значений для analogWrite // 0..255. Для этого делим значение на 4 analogWrite(ledPin, val / 4); }

Скетчи на ATtiny84

Итак, у нас Arduino Uno. Как же нам запрограммировать нашу «тиньку»? Для этого используется такое устройство, как программатор. Он необходим для того, чтобы залить в контроллер прошивку. Мы можем превратить в него нашу Arduino. И делается это элементарно, путем заливки скетча ArduinoISP.

Делаем программатор и собираем схему

Открываем соответствующий скетч «Файл → Примеры → ArduinoISP» и заливаем его. Все, превращение завершено. Теперь необходимо правильно собрать схему, чтобы прошить «тиньку». Обратимся к коду скетча, который был только что залит. Даже не к коду, а к комментарию перед ним.

ArduinoISP.ino // This sketch turns the Arduino into a AVRISP // using the following arduino pins: // // pin name: not-mega: mega(1280 and 2560) // slave reset: 10: 53 // MOSI: 11: 51 // MISO: 12: 50 // SCK: 13: 52 // // Put an LED (with resistor) on the following pins: // 9: Heartbeat - shows the programmer is running // 8: Error - Lights up if something goes wrong (use red if that makes sense)   // 7: Programming - In communication with the slave

Сначала подключим светодиоды таким образом, как описано в комментарии, не забывая резисторы. После сборки схемы и подачи питания, светодиод, подключенный к пину 9 «Heartbeat» будет моргать, обозначая нормальное функционирование. Если этого не произошло, то ищите ошибки в подключении.

Теперь надо подключить пины 10-13 к ATtiny. Чтобы узнать распиновку последней, обратимся к даташиту, который можно скачать с сайта Atmel, производителя этих контроллеров. На второй странице расположена картинка, описывающая распиновку. Основываясь на даташите и комментарии из скетча, можем составить следующую таблицу подключения:

Arduino UNO ATtiny84 Reset MOSI MISO SCK
10 4
11 7
12 8
13 9

Теперь подключим светодиод и переменный резистор. Резистор необходимо подключить в пину №6 (PA7), поскольку этот пин может быть входом для аналого-цифрового преобразователя, а светодиод — к любому другому, например, к 10 (PA3).

О нумерации пинов

Стоит немного рассказать о различии нумерации пинов в Arduino и при использовании «чистого» С. В Arduino пины нумеруются последовательно и исключаются системные (питание, земля и т.д.), а в реальности все немного иначе. Все выводы контроллера можно охарактеризовать двумя парметрами: номер порта (порт А, порт В и т.д.) и номер вывода (1..8).

На сайте Arduino можно найти карту пинов. Она выглядит следующим образом:

Для используемой нами ATtiny84 нумерация будет аналогична. В библиотеке Arduino-tiny, о которой речь пойдёт далее, можно найти следующую таблицу соответствия:

// ATMEL ATTINY84 / ARDUINO // // +-\/-+ // VCC 1| |14 GND // (D 0) PB0 2| |13 AREF (D 10) // (D 1) PB1 3| |12 PA1 (D 9) // PB3 4| |11 PA2 (D 8) // PWM INT0 (D 2) PB2 5| |10 PA3 (D 7) // PWM (D 3) PA7 6| |9 PA4 (D 6) // PWM (D 4) PA6 7| |8 PA5 (D 5) PWM // +----+

В соответсвии с назначением каждой ножки контроллера, аналоговые пины (те, у которых есть вход АЦП) нумеруются в скетче по каналу АЦП. Напримем, пин сфизическим номером 11 может быть входом для второго канала АЦП (ADC2), поэтому в скетче он будет называться A2.

Теперь необходимо научить среду программирования Arduino понимать тот факт, что мы используем другой контроллер.

Учим среду разработки

Первым делом необходимо скачать библиотеку arduino-tiny, содержащую в себе все необходимое. Далее заходим в настройки Arduino и смотрим расположение папки со скетчами. Переходим в эту папку и создаем там новую с названием «hardware». А в ней еще одну, «tiny». Копируем содержимое скачанного ранее архива в эту папку. И последнее действие — переименовываем файл «Prospective Boards.txt» в «boards.txt». Теперь перезагружем среду разработки и идем в меню «Сервис → Плата». Можно видеть, то добавилось много новых пунктов.

Программируем ATtiny84

Выбираем в качестве нужного устройства «Сервис → Плата → ATtiny84 @ 8 MHz (internal oscillator; BOD disabled)» поскольку у нас нету внешнего кварца, который задает частоту работы контроллера. В качестве программатора выберем — «Сервис → Программатор → Arduino as ISP».

В качестве кода берем уже написанный нами код для светодиода и подстроечного резистора и изменяем там номера пинов.

attiny.ino // Номер пина для светодиода int ledPin = 2;   // Номер аналогового пина int analogPin = A2;   // В эту переменную считываем значение с аналогового входа int val = 0;   void setup() { // Настраиваем пин светодиода на выход pinMode(ledPin, OUTPUT); }   void loop() { // Считываем значение val = analogRead(analogPin);   // val содержит значение из диапазона 0..1023, а диапазон значений для analogWrite // 0..255. Для этого делим val на 4 analogWrite(ledPin, val/4); }

Результат

Мы получили устройство, аналогичное тому, что могло бы быть сделано на Arduino, но использовали для него дешёвый и компактный микроконтроллер.

Так вы можете сгрузить некоторые обязанности в вашем большом проекте на отдельные микроконтроллеры, комбинировать их, заменять и делать много интересных, компактных вещей.

wiki.amperka.ru

Начало работы с Arduino в Windows

Данный документ разъясняет, как подключить плату Arduino к компьютеру и загрузить ваш первый скетч.

  1. Необходимое железо — Arduino и USB-кабель
  2. Программа — среда разработки для Arduino
  3. Подсоедините плату
  4. Установите драйвера
  5. Запустите среду разработки Arduino
  6. Откройте готовый пример
  7. Выберите вашу плату
  8. Выберите ваш последовательный порт
  9. Загрузите скетч в Arduino
Необходимое железо — Arduino и USB-кабель

В этом руководстве предполагается, что вы используете Arduino Uno, Arduino Duemilanove, Nano или Diecimila. 

Вам потребуется также кабель стандарта USB (с разъемами типа USB-A и USB-B): такой, каким, к примеру, подключается USB-принтер. (Для Arduino Nano вам потребуется вместо этого кабель с разъемами А и мини-В).

Программа – среда разработки для Arduino

Найдите последнюю версию на странице скачивания.

После окончания загрузки распакуйте скачанный файл. Убедитесь, что не нарушена структура папок. Откройте папку двойным кликом на ней. В ней должны быть несколько файлов и подкаталогов.

Подсоедините плату

Arduino Uno, Mega, Duemilanove и Arduino Nano получают питание автоматически от любого USB-подключения к компьютеру или другому источнику питания. При использовании Arduino Diecimila убедитесь, что плата сконфигурирована для получения питания через USB-подключение. Источник питания выбирается с помощью маленького пластикового джампера, надетого на два из трех штырьков между разъемами USB и питания. Проверьте, чтобы он был установлен на два штырька, ближайших к разъему USB.

Подсоедините плату Arduino к вашему компьютеру, используя USB-кабель. Должен загореться зеленый светодиод питания, помеченный PWR.

Установите драйвера

Установка драйверов для Arduino Uno на Windows7, Vista или XP:

  • Подключите вашу плату и подождите, пока Windows начнет процесс установки драйвера. Через некоторое время, несмотря на все её попытки, процесс закончится безрезультатно.
  • Нажмите на кнопку ПУСК и откройте Панель управления.
  • В панели управления перейдите на вкладку Система и безопасность (System and Security). Затем выберите Система. Когда откроется окно Система, выберите Диспетчер устройств (Device Manager).
  • Обратите внимание на порты (COM и LPT). Вы увидите открытый порт под названием «Arduino UNO (COMxx)».
  • Щелкните на названии «Arduino UNO (COMxx)» правой кнопкой мышки и выберите опцию «Обновить драйвер» (Update Driver Software).
  • Кликните "Browse my computer for Driver software".
  • Для завершения найдите и выберите файл драйвера для Uno – «ArduinoUNO.inf», расположенный в папке Drivers программного обеспечения для Arduino (не в подкаталоге «FTDI USB Drivers»).
  • На этом Windows закончит установку драйвера.

См. также: пошаговые скриншоты для установки Uno под Windows XP.

Установка драйверов для Arduino Duemilanove, Nano или Diecimila в Windows7, Vista или XP:

Когда вы подключите плату к компьютеру, Windows запустит процесс установки драйвера (если до этого вы не подключали к компьютеру плату Arduino).

В Windows Vista драйвер скачается и установится автоматически (это действительно работает!)

В Windows XP откроется Мастер установки нового оборудования (Add New Hardware wizard).

  • На вопрос «Подключиться к узлу Windows Update для поиска программного обеспечения? (Can Windows connect to search for software?)» выберите ответ «Нет, не в этот раз (No, not this time)». Нажмите «Далее».
  • Выберите «Установить из списка или указать местонахождение (Advanced) (Install from a list or specified location (Advanced))» и нажмите «Далее».
  • Убедитесь, что выбрано «Искать наиболее подходящий драйвер в указанном месте (Search for the best driver in these locations)»; снимите флажок «Искать на съемных носителях (Search removable media)»; выберите «Добавить область поиска (Include this location in the search)» и укажите папку drivers/FTDI USB Drivers в дистрибутиве Arduino. (Последнюю версию драйвера можно найти на FTDI веб-сайте). Нажмите «Далее».
  • Мастер начнет поиск и затем сообщит вам, что обнаружен «USB Serial Converter». Нажмите «Готово (Finish)».
  • Снова появится мастер установки нового оборудования. Выполните все те же шаги с теми же опциями и указанием того же пути для поиска. На этот раз будет обнаружен «USB Serial Port».

Проверить, что драйвера действительно установлены можно, открыв Диспетчер устройств (Windows Device Mananger) (он находится во вкладке Оборудование(Hardware) панели Свойства системы(System)). Найдите «USB Serial Port» в разделе «Порты (Ports)» – это и есть плата Arduino.

Запустите среду разработки Arduino

Дважды щелкните на приложении для Arduino.

Откройте готовый пример

Откройте мгновенный пример скетча «LED» по адресу: File > Examples > 1.Basics > Blink.

Выберите вашу плату

Вам нужно выбрать пункт в меню Tools > Board menu, соответствующий вашей плате Arduino.

Выбор Arduino Uno

Для Duemilanove Arduinoплат с ATmega328 (проверьте на плате надпись на микросхеме) выберите Arduino Duemilanove или Nano с ATmega328. Вначале платы Arduino выпускались с ATmega168; для них выберите Arduino Diecimila, Duemilanove, или Nano с ATmega168. Подробно о пунктах меню платы можно прочитать на странице «Среда разработки».

Выберите ваш последовательный порт

Выберите устройство последовательной передачи платы Arduino из меню Tools | Serial Port. Вероятно, это будет COM3 или выше (COM1 и COM2 обычно резервируются для аппаратных COM-портов). Чтобы найти нужный порт, вы можете отсоединить плату Arduino и повторно открыть меню; пункт, который исчез, и будет портом платы Arduino. Вновь подсоедините плату и выберите последовательный порт.

Загрузите скетч в Arduino

Теперь просто нажмите кнопку «Upload» в программе – среде разработки. Подождите несколько секунд – вы увидите мигание светодиодов RX и TX на плате. В случае успешной загрузки в строке состояния появится сообщение «Done uploading (Загрузка выполнена)».(Замечание. Если у вас Arduino Mini, NG или другая плата, вам необходимо физически кнопкой подать команду reset непосредственно перед нажатием кнопки «Upload»).

Несколько секунд спустя после окончания загрузки вы увидите как светодиод вывода 13 (L) на плате начнет мигать оранжевым цветом. Поздравляю, если это так! Вы получили готовый к работе Arduino!

arduino.ru

Аппаратная часть платформы Arduino | Аппаратная платформа Arduino

Существует несколько версий платформ Arduino. Последняя версия Leonardo базируется на микроконтроллере ATmega32u4. Uno, как и предыдущая версия Duemilanove построены на микроконтроллере Atmel ATmega328 (техническое описание). Старые версии платформы Diecimila и первая рабочая Duemilanoves были разработаны на основе Atmel ATmega168 (техническое описание), более ранние версии использовали ATmega8 (техническое описание). Arduino Mega2560, в свою очередь, построена на микроконтроллере ATmega2560 (техническое описание).

Примечание: На всю документацию Arduino распространяется лицензия ShareAlike 3.0 Creative Commons Attribution. Обратитесь к странице «Вы хотите собрать Arduino?» (англ) за более подробной информацией по разработке собственной платформы. 

Версии платформы Arduino:

Ниже представлены основные версии плат Arduino:

  • Due  — новая плата на базе ARM микропроцессора 32bit Cortex-M3 ARM SAM3U4E. 
  • Leonardo — последняя версия платформы Arduno на ATmega32u4 микроконтроллере . Отличается разъемом microUSB, по размерам совпадает с UNO.
  • Yun (описание на англ.) - новая плата, с встроенной поддержкой WiFi на базе ATmega32u4 and the Atheros AR9331
  • Micro — новое компактное решение на базе ATmega32u4. 
  • Uno — самая популяраня версия базовой платформы Arduino USB. Uno имеет стандартный порт USB. Arduino Uno во многом схожа с Duemilanove, но имеет новый чип ATMega8U2 для последовательного подключения по USB и новую, более удобную маркировку вход/выходов. Платформа может быть дополнена платами расширения, например, пользовательскими платами с различными функциями.
  • Arduino Ethernet — контроллер со встроенной поддержкой работы по сети и с опциональной возможностью питания по сети  с помощью модуля POE (Power over Ethernet).
  • Duemilanove — является предпоследней версией базовой платформы Arduino USB. Подключение Duemilanove производится стандартным кабелем USB. После подключения она готова к использованию. Платформа может быть дополнена платами расширения, например, пользовательскими платами с различными функциями.
  • Diecimila — предыдущая версия базовой платформы Arduino USB.
  • Nano — это компактная платформа, используемая как макет. Nano подключается к компьютеру при помощи кабеля USB Mini-B.
  • Mega ADK - версия платы Mega 2560 с поддрежкой USB host интерфейса для связи с телефонами на Android и другими устройствами с USB интерфейсом.
  • Mega2560 – новая версия платы серии Mega. Построена на базе Atmega2560 и с использованием чипа ATMega8U2 для последовательного соединения по USB порту.
  • Mega – предыдущая версия серии Mega на базе Atmega1280.
  • Arduino BT платформа с модулем Bluetooth для беспроводной связи и программирования. Совместима с платами расширения Arduino.
  • LilyPad– платформа, пурпурного цвета, разработанная для переноски, может зашиваться  в ткань.
  • Fio – платформа разработана для беспроводных применений. Fio содержит разъем для радио XBee, разъем для батареи LiPo и встроенную схему подзарядки.
  • Mini – самая маленькая платформа Arduino. Прекрасно работает как макетная модель, или, в проектах, где пространство является критическим параметром. Платформа подключается к компьютеру при помощи адаптера Mini USB.
  • Адаптер Mini USB – плата, конвертирующая подключение USB в линии 5 В, GND, TX и RX для соединения с платформой Arduino Mini или другими микроконтроллерами.
  • Pro – платформа, разработанная для опытных пользователей, может являться частью большего проекта. Она дешевле, чем Diecimila и может питаться от аккумуляторной батареи, но в тоже время требует дополнительной сборки и компонентов.
  • Pro Mini – как и платформа Pro разработана для опытных пользователей, которым требуется низкая цена, меньшие размеры и дополнительная функциональность.
  • Serial – базовая платформа с интерфейсом RS232 для связи и программирования. Плата легко собирается даже начинающими пользователями. (включает схемы и файлы CAD)
  • Serial Single Sided – платформа разработана для ручной сборки. Она обладает чуть большим размером, чем Diecimila, но совместима с платами расширения Arduino.
  • USB Serial Light Адаптер - адаптер, позволяющий подключать платы Arduino к компьютеру для обмена данными и заливки скетчей. Удобен для программирования таких плат, как Arduino Mini, Arduino Ethernet и других, не имеющих своего разъема USB
Платы расширения

Платы расширения, устанавливаемыми на платформы, являются платы, расширяющие функциональность Arduino для управления различными устройствами, получения данных и т.д.

  • Плата расширения WiFi используется для соединения с беспроводными сетями стандарта 802.11 b/g.
  • Плата расширения Xbee Shield обеспечивает при помощи модуля Maxstream Xbee Zigbee беспроводную связь нескольким устройствам Arduino в радиусе до 35 метров (в помещении) и до 90 метров (вне помещения).
  • Плата расширения Motor Shield обеспечивает управление двигателями постоянного тока и чтение датчиков положения.
  • Плата расширения Ethernet Shield обеспечивает подключение к интернету.
Рекомендуемые аппаратные средства других разработчиков

Испытанные и понравившиеся устройства других разработчиков, совместимые с программой Arduino:

Платформа Boarduino от Adafruit Industries. Предназначена для использования с кабелем FTDI USB-to-TTL-Serial или другим адаптером USB-to-serial.  Доступна в виде пустой печатной платы или в комплекте.

Другие сопутствующие устройства

Проверьте список сопутствующего оборудования, составленный пользователями на площадке разработок.

arduino.ru


Видеоматериалы

24.10.2018

Опыт пилотных регионов, где соцнормы на электроэнергию уже введены, показывает: граждане платить стали меньше

Подробнее...
23.10.2018

Соответствует ли вода и воздух установленным нормативам?

Подробнее...
22.10.2018

С начала года из ветхого и аварийного жилья в республике были переселены десятки семей

Подробнее...
22.10.2018

Столичный Водоканал готовится к зиме

Подробнее...
17.10.2018

Более 10-ти миллионов рублей направлено на капитальный ремонт многоквартирных домов в Лескенском районе

Подробнее...

Актуальные темы

13.05.2018

Формирование энергосберегающего поведения граждан

 

Подробнее...
29.03.2018

ОТЧЕТ о деятельности министерства энергетики, ЖКХ и тарифной политики Кабардино-Балкарской Республики в сфере государственного регулирования и контроля цен и тарифов в 2012 году и об основных задачах на 2013 год

Подробнее...
13.03.2018

Предложения организаций, осуществляющих регулируемую деятельность о размере подлежащих государственному регулированию цен (тарифов) на 2013 год

Подробнее...
11.03.2018

НАУЧИМСЯ ЭКОНОМИТЬ В БЫТУ

 
Подробнее...

inetpriem


<< < Ноябрь 2013 > >>
Пн Вт Ср Чт Пт Сб Вс
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

calc

banner-calc

.