Скетчи для ардуино уно – Пишем скетч для arduino uno. Подключение и управление сервоприводом на Arduino. Подключение Arduino к компьютеру

Содержание

Arduino: примеры того, что можно сделать

Arduino, на самом деле, — это разработка уникальных проектов на все случаи жизни. Как я уже писал, представляет собой Arduino своеобразную плату с размещенным на ней микроконтроллером, которую можно без проблем программировать.

Невероятные проекты с Ардуино

Конечной целью данных манипуляций является обеспечение легкого управления многочисленными внешними устройствами. С внешним миром, данная плата взаимодействует посредством множества дополнений:

  • датчики,
  • светодиоды,
  • двигатели,
  • сеть Интернет
  • и т.п.

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

Для того, чтобы запросто реализовать одну из миллионов идей легко можно использовать самую актуальную информацию, которая доступна самостоятельно на многих сайтах. Ниже пример реализации одной из таких идей — рождественский колокольчик, которым можно управлять:

Как его сделать мы разберем на одном из следующих уроков.

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

Скетчи Arduino

Собственно, программа для микроконтроллера данного типа называется sketch. Состоит любая такая программа непосредственно из двух главных функций.

Setup

Setup() – предусмотрено, что внутри данной функции, пользователь сможет задавать все ключевые настройки.

К примеру, определяется, какие выводы будут в дальнейшем работать на выход или вход, определение подключения конкретных библиотек, даже инициализация переменных, все это определяется посредством использования данного функционала.

Запуск осуществляется строго один раз в течение всего скетча, когда отмечается сам старт выполнения данной программы.

Loop

Loop() – представляет собой основную функцию, которая осуществляется непосредственно после запуска (как раз в этом случае используется setup()).

Фактически, это и есть сама программа, данная функция будет выполняться в бесконечном режиме, пока пользователь не выключит питание устройства.

Примеры скетчей

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

Пример 1

Одним из интересных скетчей можно отображать само время работы контроллера, в дальнейшем принятие команды «blink», она предусмотрена для инициализации процедуры мигания светодиодных элементов.

Фактически, ничего особенно полезного в скетче нет, но в нем организована и возможность случайного вывода некоторой фразы «Data Received», она может использоваться в дальнейшем непосредственно для тестирования и анализа установленных правил работы модульного элемента.

Пример 2

Подключение специального датчика текущего уровня воды, датчика дождя. Для реализации конкретного проекта необходимо наличие:

— самого датчика воды,
— контроллера Arduino,
— комплекта соединительных проводов,
— компьютера с кабелями и программой IDE, соответствующей макетной платы.

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

Пример 3

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

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

Примеры использования Arduino

Рассматривая многочисленные примеры Ардуино, можно только удивиться творческому подходу разработчиков проектов и неординарной фантазии. Фактически, можно создать самые невероятные вещи, к примеру, тот же самый музыкальный проигрыватель с набором светодиодов.

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

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

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

Если говорить о совершенно необычных проектах, можно выделить автоматическое оснащение для цветка, который теперь сможет передавать информацию о своем текущем состоянии непосредственно в Твиттер. Делается все это посредством использования возможностей микроконтроллера Ардуино, который позволит передавать данные, непосредственно используя для этого подключение к сети Интернет. Как можно заметить, примеры могут быть самыми разными, на каждый из них я постараюсь обратить внимание в следующих статьях.

arduinoplus.ru

Знакомство с Arduino UNO на примере китайского аналога

Решился я на  Arduino UNO R3 и заказал его на AliExpress, вернее его китайский аналог.

Существенное отличие китайского аналога от оригинала это его цена. Оригинальный  Arduino UNO на данный момент на официальном сайте стоит $24.95, в то время как китайский аналог с доставкой обошёлся мне менее чем в $3 (дешевле в 8 раз). Более детальное сравнение оригинала с аналогом будет как нибудь в следующей статье, а сейчас дабы не отдалятся от основных целей, приступим.

Подключение к ПК и установка драйвера.

Ввиду того что в данном китайском аналоге Arduino для подключения к USB используется микросхема Ch440G, предоставленные драйвера не подойдут для оригинальной  Arduino и их аналогов, которые содержат в своём составе микросхему ATMEGA16U2.

Подключаем платформу  Arduino к компьютеру через USB кабель, которым подключаются принтеры. На плате загорится светодиод «ON«. В диспетчере устройств появится новое устройство «USB2.0 — Serial«. Необходимо установить драйвера, работать в примере будем на Windows.

Драйвер для Windows 98/ME/2000/XP/Server 2003/2008/2012/2016/VISTA/Win7/Win8/8.1/Win10 32/64 bit.

Скачиваем архив, распаковываем и запускаем файл SETUP.EXE. Выбираем INSTALL.

В процессе установки драйвера замигает светодиод RX, после установки появится соответствующее сообщение, нажимаем «Ок«.

В диспетчере устройств появится новое устройство «USB-Serial Ch440«. В моём случае устройство подключилось на порт COM7, у каждого может быть любой другой номер порта, главное его запомнить для будущей работы.

Первый скетч.

Программа для Arduino называется скетч. Для того что бы записать в Arduino скетч нужно установить на компьютер среду разработки Arduino. Скачиваем последнюю версию и распаковываем. Запускаем среду разработки файлом arduino.exe.

Программа по-умолчанию загрузилась у меня с русским интерфейсом.

Для выбора иного языка необходимо воспользоваться пунктом меню «Файл» — «Настройки«.

В списке «Язык редактора» можно выбрать любой другой язык, нажать «Ок» и перезапустить среду разработки. В составе имеются белорусский, украинский и другие языки.

Так же нужно проверить что бы правильно была выбрана платформа Arduino, для этого переходим  в «Инструменты» – «Плата:» У меня по-умолчанию была правильно выбрана Anduino UNO, если у Вас что то другое, выбирайте свою платформу со списка.

Так же нужно выбрать правильно порт, на который подключена наша платформа. Для этого во время установки драйвера я уделял на это внимание (нужно посмотреть порт в диспетчере устройств). В моём случае это COM7. Теперь в «Инструменты» — «Порт:» нужно правильно указать порт.

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

В данной версии среды разработки уже имеется коллекция простых скетчей, среди которых находится и наш скетч.
Для этого перейдём в «Файл» — «Образцы» — «01.Basics» – «Blink«.

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

… но могут встречаться платы, на которых нет данного светодиода, в таком случае придётся его подключить через пины на плате. Возьмём самый обычный цветной светодиод и подключим его через ограничительный резистор 220Ом — 1Ком, к пинам на плате 13 и GND (в процессе подключения светодиода к Arduino рекомендуется отключить кабель USB).

Когда всё готово, остаётся загрузить программу для мигания светодиодом в микроконтроллер. В среде разработчика жмём на кнопку «Вгрузить«, для загрузки скетча в Anduino.

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

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

На этом можно закончить первое знакомство с платформой, убедившись что всё работает исправно. Здесь можно заказать подобный аналог Arduino UNO.

radiolis.pp.ua

Библиотеки для Arduino


  • Библиотека LiquidCrystal для подключения LED символьного экрана и примеры


    ID11
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека EtherShield Enc28J60 для Arduino готовые скетчи


    ID15
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_HC_SR04 для работы с ультразвуковым датчиком расстояния


    ID17
    Размер Мб.

    ПОДРОБНЕЕ



  • Библитетка keypad для клавиатуры 4×4


    ID18
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека Ethernet


    ID19
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека RF24 для управления модулем Wireless Module 2.4G NRF24L01


    ID27
    Размер 0.176813125 Мб.

    ПОДРОБНЕЕ



  • Библиотека и примеры работы с модулем RFID-модуль RC522


    ID30
    Размер 1.984633445 Мб.

    ПОДРОБНЕЕ



  • Библиотека для датчиком атмосферного давления BMP085


    ID39
    Размер 0.003626823 Мб.

    ПОДРОБНЕЕ



  • Библиотека Adafruit GFX для графических дисплеев


    ID40
    Размер 0.010555267 Мб.

    ПОДРОБНЕЕ



  • Библиотека для дисплеев на чипе ILI9340


    ID41
    Размер 0.063065528 Мб.

    ПОДРОБНЕЕ



  • Библиотека для работы с датчиком давления BMP085


    ID42
    Размер 0.024295806 Мб.

    ПОДРОБНЕЕ



  • Библиотека Dallas Temperature


    ID43
    Размер 0.013594627 Мб.

    ПОДРОБНЕЕ



  • Библиотека DHT к arduino


    ID44
    Размер 0.002244949 Мб.

    ПОДРОБНЕЕ



  • Библиотека DS1307 модуль часов реального времени


    ID45
    Размер 0.064830780 Мб.

    ПОДРОБНЕЕ



  • Библиотека для интернет шилда на чипе 28J60


    ID46
    Размер 0.003841400 Мб.

    ПОДРОБНЕЕ



  • Библиотека arduino для подключения TFT дисплеев на чипе ILI9341


    ID47
    Размер 0.323347091 Мб.

    ПОДРОБНЕЕ



  • Библиотека для работы с пультами ДУ и инфракрасными датчиками


    ID48
    Размер 0.023898124 Мб.

    ПОДРОБНЕЕ



  • Библиотека LiquidCrystal lcd модулями 1602 через L2C


    ID49
    Размер 1.168000221 Мб.

    ПОДРОБНЕЕ



  • Библиотека MultiLCD для работи с LCD дисплеями


    ID50
    Размер 0.019461631 Мб.

    ПОДРОБНЕЕ



  • Библиотека для ардуино OneWire


    ID51
    Размер 0.012708663 Мб.

    ПОДРОБНЕЕ



  • Библиотека для работы с дисплеями от nokia 5110


    ID52
    Размер 0.006007194 Мб.

    ПОДРОБНЕЕ



  • Библиотека для работы с SD картами памяти


    ID53
    Размер 0.039353370 Мб.

    ПОДРОБНЕЕ



  • Библиотека UTFT для цветных TFT дисплеев к arduino


    ID54
    Размер 2.439230918 Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_MultiServo


    ID255
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека WolfCrystal для вывода русских букв для дисплеев без поддержки кириллицы.


    ID55
    Размер 0.012713432 Мб.

    ПОДРОБНЕЕ



  • Библиотека RTC Library для Grove — RTC


    ID56
    Размер 0.003811836 Мб.

    ПОДРОБНЕЕ



  • Библиотека Grove Temperature And Humidity Sensor


    ID57
    Размер 0.006466865 Мб.

    ПОДРОБНЕЕ



  • Библиотека и примеры Grove — Wifi Shield Wi-fi250


    ID58
    Размер 0.007129669 Мб.

    ПОДРОБНЕЕ



  • IIC without ACK библиотека


    ID70
    Размер 0.005970001 Мб.

    ПОДРОБНЕЕ



  • Библиотека arduino для подключения TFTLCD


    ID101
    Размер 0.252420425 Мб.

    ПОДРОБНЕЕ



  • Touch screen


    ID102
    Размер 0.004811286 Мб.

    ПОДРОБНЕЕ



  • TFT LCD library


    ID103
    Размер 0.138151168 Мб.

    ПОДРОБНЕЕ



  • GFX library


    ID104
    Размер 0.008376121 Мб.

    ПОДРОБНЕЕ



  • Latest SD card library


    ID105
    Размер 0.058528900 Мб.

    ПОДРОБНЕЕ



  • Библиотека pcd8544 NOKIA5110 LCD 84×48


    ID107
    Размер 0.009943962 Мб.

    ПОДРОБНЕЕ



  • LCDKeypad Библиотека


    ID108
    Размер 0.002628326 Мб.

    ПОДРОБНЕЕ



  • DFR_Key


    ID109
    Размер 0.002905845 Мб.

    ПОДРОБНЕЕ



  • GSM/GPRS Shield SIM900 Библиотека


    ID112
    Размер 0.045594215 Мб.

    ПОДРОБНЕЕ



  • GPRS_Shield library


    ID115
    Размер 0.017087936 Мб.

    ПОДРОБНЕЕ



  • Suli library


    ID116
    Размер 0.012531280 Мб.

    ПОДРОБНЕЕ



  • Arduino RFID Library for MFRC522


    ID123
    Размер 0.334323883 Мб.

    ПОДРОБНЕЕ



  • VirtualWire v1.27 Библиотека примеры и документация


    ID124
    Размер 0.023470878 Мб.

    ПОДРОБНЕЕ



  • 125 кГц RFID RDM6300 UART библиотека с примером


    ID128
    Размер 0.005901336 Мб.

    ПОДРОБНЕЕ



  • Arduino-ESP8266_libs


    ID130
    Размер 0.016787528 Мб.

    ПОДРОБНЕЕ



  • ESP8266 library


    ID131
    Размер 0.013880729 Мб.

    ПОДРОБНЕЕ



  • ESP8266-Library A library for the ESP8266 WiFi module


    ID132
    Размер 0.008929252 Мб.

    ПОДРОБНЕЕ



  • ESP8266 An Arduino library for the ESP8266EX chipset (WI07c module)


    ID133
    Размер 0.003237724 Мб.

    ПОДРОБНЕЕ



  • Библиотека LiquidCrystal_I2C_V112


    ID134
    Размер 0.019454956 Мб.

    ПОДРОБНЕЕ



  • DFPlayer Mini mp3 Arduino Library V1.3


    ID140
    Размер 0.012658119 Мб.

    ПОДРОБНЕЕ



  • Библиотека и примеры Stepper_28BYJ


    ID148
    Размер 0.009282112 Мб.

    ПОДРОБНЕЕ



  • Библиотека и примеры Диспетчера задач для Ардуино Metro


    ID150
    Размер 0.072856903 Мб.

    ПОДРОБНЕЕ



  • Adafruit-ST7735-библиотека


    ID159
    Размер 0.023925781 Мб.

    ПОДРОБНЕЕ



  • Adafruit-GFX-библиотека


    ID160
    Размер 0.009376525 Мб.

    ПОДРОБНЕЕ



  • Библиотека AFMotor Motor shield


    ID161
    Размер 0.011689186 Мб.

    ПОДРОБНЕЕ



  • Arduino RFID Library for MFRC522


    ID191
    Размер 1.029800415 Мб.

    ПОДРОБНЕЕ



  • OneWire Arduino Library


    ID198
    Размер 0.014976501 Мб.

    ПОДРОБНЕЕ



  • OLED I2C с поддержкой Русского и Украинского языка.


    ID200
    Размер 0.366801261 Мб.

    ПОДРОБНЕЕ



  • Dallas Temperature


    ID201
    Размер 0.013594627 Мб.

    ПОДРОБНЕЕ



  • Adafruit BMP085 Библиотека для работы с датчиком давления BMP085


    ID204
    Размер 0.003626823 Мб.

    ПОДРОБНЕЕ



  • Библиотека Kalman (Gy-521, mpu6050)


    ID209
    Размер 0.006229400 Мб.

    ПОДРОБНЕЕ



  • Библиотека DigitalTube, для 4-сегментного дисплей


    ID219
    Размер 0.007335662 Мб.

    ПОДРОБНЕЕ



  • Универсальная библиотека для DHT11 и DHT22, iarduino_DHT, полностью на русском языке


    ID225
    Размер 0.231005668 Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_Pressure_BMP для датчиков давления и температуры BMP180 / BMP280


    ID227
    Размер 0.353918075 Мб.

    ПОДРОБНЕЕ



  • Библиотека для LCD модуля MC1368C на базе чипа HT1621 (holtek)


    ID234
    Размер 0.364144325 Мб.

    ПОДРОБНЕЕ



  • Универсальная библиотека iarduino_RTC для RTC DS1302, DS1307, DS3231 к Arduino


    ID235
    Размер 0.915689468 Мб.

    ПОДРОБНЕЕ



  • Библиотека Adafruit_QDTech


    ID236
    Размер 0.010076522 Мб.

    ПОДРОБНЕЕ



  • Библиотека Bh2750 датчик освещенности Gy-30,Gy-302


    ID239
    Размер 0.003039360 Мб.

    ПОДРОБНЕЕ



  • Библиотека Adafruit NeoPixel


    ID240
    Размер 0.031415939 Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_I2C_connect


    ID254
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_KB для работы arduino с матричной клавиатурой


    ID256
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_IR для работы с ИК-приёмопередатчиками


    ID257
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_Hexapod для управления роботом Hexapod


    ID258
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека UTFT_tinyFAT


    ID259
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека tinyFAT


    ID260
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_SensorPulse для работы с датчиком пульса


    ID261
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека Adafruit_Fingerprint для работы со сканером отпечатков пальцев


    ID263
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_AM2320 для работы с датчиком AM2320


    ID265
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_Encoder_tmr для работы с энкодерами


    ID297
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_4LED для работы с четырёхразрядным индикатором


    ID266
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека U8glib для работы с LCD дисплеями


    ID300
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_Bluetooth_HC05 для работы с Trema Bluetooth модулем HC-05


    ID301
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_RF433 для работы с радио модулями на 433 МГц


    ID280
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_HC_SR04_int для работы с ультразвуковым датчиком расстояния


    ID283
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_NeoPixel для работы с адресными светодиодами WS2812B


    ID296
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_I2C_IO для работы с I2C модулями расширения выводов


    ID285
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека SparkFun_APDS9960


    ID308
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека APDS9930


    ID309
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека Adafruit_Thermal для работы с термопринтером


    ID317
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека URTouch для работы с TouchScreen


    ID321
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека max6675 для работы с одноимённым чипом нормализатора сигнала термопары


    ID322
    Размер Мб.

    ПОДРОБНЕЕ



  • SdFat


    ID329
    Размер Мб.

    ПОДРОБНЕЕ



  • UTFT_SdRaw


    ID330
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека SFE_MicroOLED для работы с OLED дисплеями 64×48


    ID331
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека WEMOS_Motor


    ID332
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_Position_BMX055 для работы с Trema-модулем IMU 9 DOF


    ID337
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_ACS712 для работы с Trema датчиком тока


    ID338
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека Adafruit_TCS34725 (Датчик цвета с ИК-фильтром)


    ID339
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_OLED для работы с OLED дисплеями


    ID340
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_OLED_txt для работы с OLED дисплеями


    ID341
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека Battery_Shield для работы с источником автономного питания


    ID344
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_GSM для работы с GSM/GPRS Shield A6


    ID345
    Размер Мб.

    ПОДРОБНЕЕ




  • ID346
    Размер Мб.

    ПОДРОБНЕЕ



  • Ethernet2


    ID347
    Размер Мб.

    ПОДРОБНЕЕ



  • 123


    ID348
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека Adafruit_PN532 для работы с RFID/NFC модулем PN532


    ID352
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека TinyGPS для работы с GPS-модулем GY-GPS6mv2


    ID356
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека Pixy к модулю Pixy CMUcam5


    ID370
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека Adafruit_CCS811 к датчику качества воздуха CCS811


    ID376
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека ACS712 к Датчику тока 5А/20А/30А


    ID378
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_Metro для модулей Metro


    ID489
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека iarduino_I2C_Matrix_8x8 для работы с Trema-модулем I2C LED матрица 8×8


    ID491
    Размер Мб.

    ПОДРОБНЕЕ



  • Библиотека Adafruit RGBmatrixPanel


    ID493
    Размер Мб.

    ПОДРОБНЕЕ




  • iarduino.ru

    Установка и настройка Arduino в ОС Windows [Амперка / Вики]

    Вы стали счастливым обладателем платы Arduino. Что же делать дальше? А дальше нужно подружить Arduino с компьютером.
    Мы рассмотрим начало работы с Arduino Uno в операционной системе Windows.

    1. Установка Arduino IDE

    Для начала нужно установить на компьютер интегрированную среду разработки Arduino — Arduino IDE.

    Установка Arduino IDE с помощью инсталлятора избавит вас от большинства потенциальных проблем с драйверами и программным окружением.

    2. Запуск Arduino IDE

    После того как вы загрузили и установили Arduino IDE, давайте запустим её!

    Перед нами окно Arduino IDE. Обратите внимание — мы ещё не подключали нашу плату Arduino Uno к компьютеру, а в правом нижнем углу уже красуется надпись «Arduino Uno on COM1». Таким образом Arduino IDE сообщает нам, что в данный момент она настроена на работу с целевой платой Arduino Uno. А когда придёт время, Arduino IDE будет искать Arduino Uno на порту COM1.

    Позже мы поменяем эти настройки.

    Что-то пошло не так?

    • Arduino IDE не запускается? Вероятно на компьютере некорректно установлена JRE (Java Runtime Environment). Обратитесь к пункту (1) для переустановки Arduino IDE: инсталлятор сделает всю работу по развёртыванию JRE.

    3. Подключение Arduino к компьютеру

    После установки Arduino IDE пришло время подключить Arduino Uno к компьютеру.

    Соедините Arduino Uno с компьютером через USB-кабель. Вы увидите, как на плате загорится светодиод «ON», и начнёт мигать светодиод «L». Это означает, что на плату подано питание, и микроконтроллер Arduino Uno начал выполнять прошитую на заводе программу «Blink» (мигание светодиодом).

    Чтобы настроить Arduino IDE на работу с Arduino Uno, нам необходимо узнать, какой номер COM-порта присвоил компьютер Arduino Uno.
    Для этого нужно зайти в «Диспетчер устройств» Windows и раскрыть вкладку «Порты (COM и LPT)». Мы должны увидеть следующую картину:

    Это означает, что операционная система распознала нашу плату Arduino Uno как COM-порт, подобрала для неё правильный драйвер и назначила этому COM-порту номер 7. Если мы подключим к компьютеру другую плату Arduino, то операционная система назначит ей другой номер. Поэтому, если у вас несколько плат Arduino, очень важно не запутаться в номерах COM-портов.

    Что-то пошло не так?

    4. Настройка Arduino IDE на работу с Arduino Uno

    Теперь нам необходимо сообщить Arduino IDE, что плата, с которой ей предстоит общаться, находится на COM-порту «COM7».

    Для этого переходим в меню «Сервис» → «Последовательный порт» и выбираем порт «COM7».
    Теперь Arduino IDE знает — что-то находится на порту «COM7». И с этим «чем-то» ей вскоре предстоит общаться.

    Чтобы у Arduino IDE не осталось никаких сомнений, необходимо прямо указать: «Мы будем использовать Arduino Uno!».
    Для этого переходим в меню «Сервис» → «Плата» и выбираем нашу «Arduino Uno».

    Что-то пошло не так?

    • Список последовательных портов пуст? Значит Arduino Uno некорректно подключена. Вернитесь к пункту (3), чтобы отладить соединение.

    • Arduino IDE невероятно тормозит при навигации по меню? Отключите в диспетчере устройств все внешние устройства типа «Bluetooth Serial». Например, виртуальное устройство для соединения с мобильным телефоном по Bluetooth может вызвать такое поведение.

    5. Загрузка первого скетча

    Среда настроена, плата подключена. Теперь можно переходить к загрузке скетча.

    Arduino IDE содержит очень много готовых примеров, в которых можно быстро подсмотреть решение какой-либо задачи. Есть в ней и простой пример «Blink».
    Давайте выберем его.

    Немного модифицируем код, чтобы увидеть разницу с заводским миганием светодиода.

    Вместо строчки:

      delay(1000);  

    напишем:

      delay(100);  

    Полная версия кода:

    /*
      Blink
      Turns on an LED on for one second, then off for one second, repeatedly.
     
      This example code is in the public domain.
     */
     
    // Pin 13 has an LED connected on most Arduino boards.
    // give it a name:
    int led = 13;
     
    // the setup routine runs once when you press reset:
    void setup() {                
      // initialize the digital pin as an output.
      pinMode(led, OUTPUT);     
    }
     
    // the loop routine runs over and over again forever:
    void loop() {
      digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
      delay(100);               // wait for a second
      digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
      delay(100);               // wait for a second
    }

    Теперь светодиод «L» должен загораться и гаснуть на десятую часть секунды. То есть
    в 10 раз быстрее, чем в заводской версии.

    Загрузим наш скетч в Arduino Uno и проверим, так ли это?
    После загрузки светодиод начнёт мигать быстрее. Это значит, что всё получилось. Теперь можно смело переходить к «Экспериментам»

    Что-то пошло не так?

    • В результате загрузки появляется ошибка вида avrdude: stk500_get sync(): not in sync: resp = 0x00? Это значит, что Arduino настроена некорректно. Вернитесь к предыдущим пунктам, чтобы убедиться в том, что устройство было распознано операционной системой и в Arduino IDE установлены правильные настройки для COM-порта и модели платы.

    wiki.amperka.ru

    Библиотеки для Arduino||Arduino-diy.com

    Библиотеки для Arduino — это удобное средство для распространения кода. Например, это могут быть драйвера к оборудованию или часто используемые функции.

    В этом гайде подробно рассмотрено как устанавливать библиотеки на ваш компьютер.

    Существует два основных вида библиотек Arduino: стандартные и дополнительные.

    Стандартные библиотеки

    В Arduino IDE есть набор стандартных библиотек, которые используются очень часто. Эти библиотеки поддерживают все примеры, которые включены в Arduino IDE. Стандартные библиотеки поддерживают функции для работы с наиболее распространенным периферийным оборудованием, например: серводвигатели или LCD экраны.

    Стандартные библиотеки устанавливаются в папку «Libraries» при установке Arduino IDE. Если у вас установлено несколько версий IDE, в каждой версии будет свой набор библиотек. Настоятельно не рекомендуется изменять стандартные библиотеки и устанавливать дополнительные в ту же папку.

    Дополнительные библиотеки

    В интернете выложено огромное количество дополнительных библиотек с удобным функционалом и драйверами для различного периферийного оборудования. В основном библиотеки выкладываются на Arduino Playground, Github и Google Code. Написанием библиотек для Arduino часто занимаются компании-производители сенсоров, датчиков, печатных плат и т.п. Например, Adafruit предлагает более 100 библиотек, которые поддерживают все модели плат Arduino.

    Устанавливайте дополнительные библиотеки в папку Libraries. Благодаря этому их можно использовать во всех версиях Arduino IDE. После обновления версии вам не придется их переустанавливать!

    Куда устанавливать библиотеки

    Важно установить библиотеки в правильную папку. Иначе компилятор не сможет их отыскать, когда вы будете компилировать и загружать ваш код.

    Папка, где хранятся все скетчи Arduino, создается автоматически при установке IDE.

    На Linux папка называется «Scetchbook» и обычно расположена в /home/&ltusername&gt

    На Windows и Macintosh, папка называется «Arduino» и находится она папке Documents (Мои документы).

    Обратите внимание, это важно! В папке «Мои документы» автоматически создается еще папка под названием «Arduino»!

    Дополнительные библиотеки должны располагаться в папке «Libraries», которая находится внутри «Scetchbook» или «Arduino». Именно там IDE будет искать дополнительно установленные библиотеки.

    Начиная с версии Arduino IDE 1.0.2 и позже, папка «Libraries» создается автоматически. На более ранних версиях ее надо создать перед установкой вашей первой библиотеки.

    Откройте меню и выберите «File->Preferences» в Arduino IDE.

    Найдите расположение ваших скетчей. Обычно это папка «Arduino» в папке «Мои документы».

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

    Если папка «Libraries» отсутствует, создайте новую папку.

    Переименуюте ее в «Libraries».

    Установка библиотек в Windows

    Для установки библиотеки в Windows, следуйте инструкции, приведенной ниже.

    Закройте Arduino IDE

    Убедитесь, что Arduino IDE закрыта, так как сканирование библиотек происходит только при загрузке IDE. Новая библиотека не будет работать, пока вы не перезагрузите IDE.

    Скачайте Zip Файл с Github.

    Скопируйте разархивированную папку

    Вставьте ее в вашу папку с библиотеками.

    Дайте ей корректное имя. Arduino IDE не распознает папки с тире в названии. Так что придется переименовать папку. Можно использовать нижние тире.

    Перезапустите Arduino IDE и проверьте, появилась ли библиотека в пункте меню File->Examples.

    Для проверки загрузите один из примеров.

    Перед загрузкой примера на плату, проведите проверку скетча.

    Установка библиотек на Mac OSX

    Для корректной установки дополнительных библиотек на Mac OSX, следуйте инструкции, которая приведена ниже

    Закройте Arduino IDE.

    Скачайте архив с библиотекой с Github.

    Найдите скачанный архив в папке загрузок на вашем маке.

    Разархивируйте и скопируйте библиотеку в папку с библиотеками, которая была создана при установке Arduino IDE.

    Дайте библиотеке корректное имя. Как и в случае с Windows, папки с тире не читаются.

    Перезапустите Arduino IDE. Библиотека должна появиться в меню File->Examples.

    Загрузите один из примеров.

    Проверьте корректность скетча перед его загрузкой на вашу Arduino.

    Установка библиотек на Linux

    Для установки пользовательских библиотек на Linux, следуйте инструкции, которая представлена ниже.

    Опять таки, закрываем Ardino IDE.

    Скачиваем архив с нужной нам библиотекой.

    Сохраняем архив на жесткий диск нашего ПК.

    Находим скачанный архив в папке для загрузок.

    Разархивируем библиотеку и копируем в папку Sketchbook/Libraries.

    Даем папке корректное имя. Без тире!

    Перезапускаем Arduino IDE и проверяем, появилась ли библиотека в папке File->Examples menu.

    Загружаем один из примеров.

    Проверяем, компилируется ли файл примера без ошибок.

    Распространенные ошибки при установке библиотек для Arduino

    ‘xxxx’ does not name a type

    Это самая распространенная ошибка при работе с внешними библиотеками. Причина — компилятор не может найти библиотеку. Возможные причины возникновения этой ошибки:

    • Библиотека не установлена (смотрите инструкцию по установке выше).
    • Неправильное расположение папки.
    • Неправильное имя папки.
    • Неправильное имя библиотеки.
    • Вы забыли перезагрузить Arduino IDE.

    Ниже расписаны решения возможных проблем

    Неправильное расположение папки

    IDE находит только стандартные библиотеки и дополнительные, которые установлены в папке «Libraries». Библиотеки, которые расположены в других местах, не будут инициализироваться

    Папка с библиотекой должна быть в корне папки «Libraries». Если вы создадите дополнительную подпапку, IDE не обнаружит библиотеку.

    Примечание: в некоторых хранилищах в интернете, библиотеки выложены с дополнительным уровнем вложенности папок. Проверьте этот момент. Файлы библиотеки должны находится в первой папке, без дополнительных подпапок.

    Не полная библиотека

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

    Неправильное имя папки

    IDE не обнаруживает папки с определенными символами в названии. К сожалению, IDE не поддерживает тире, которые генерируются в именах файлов на Github. Поэтому после скачивания архива, переименуйте папку. Новое имя не должно содержать тире. Можно просто заменить все символы (‘-‘) на (‘_’).

    Неправильное имя библиотеки

    Имя, которые вы указываете в директиве #include в вашем скетче, должно полностью соответствовать имени класса в библиотеке (с учетом регистра букв!). Если имя не будет совпадать, IDE не подключит нужные функции, классы и т.п. В примерах, которые прилагаются к библиотекам, имена указаны правильно. Так что для избежания случайных ошибок, можно их просто копировать и вставлять в ваш код.

    Несколько версий библиотек

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

    Зависимые библиотеки

    Некоторые библиотеки зависят от других библиотек. Например, большинство библиотек Graphic Display Libraries от Adafruit зависят от Adafruit GFX Library. То есть, для использования первой библиотеки вам надо иметь установленную вторую.

    “Базовые” библиотеки

    Некоторые библиотеки нельзя использовать напрямую. Хороший пример, библиотека GFX Library. Эта библиотека обеспечивает работу большинства дисплеев от Adafruit, но не может использоваться без библиотеки драйверов для этого дисплея.

    Забыли закрыть Arduino IDE

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

    Оставляйте Ваши комментарии, вопросы и делитесь личным опытом ниже. В дискуссии часто рождаются новые идеи и проекты!

    arduino-diy.com

    прошивка с помощью 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 10 4
    MOSI 11 7
    MISO 12 8
    SCK 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

    Arduino тыква — готовимся в Хэллоуину


    Общие сведения:
    В этом уроке мы создадим тематическое устройство, которое можно использовать как украшение стола, а именно Arduino-тыкву, реагирующую на движение в зоне видимости датчика расстояния.
    У датчика существует 2 зоны…

    Подробнее

    Ночник с управлением жестами, на базе адресных светодиодов

    Общие сведения:
    В этом уроке мы создадим ночник с управлением адресными светодиодами через датчик жестов.
    Выполнив один из жестов, которые распознаёт датчик, вы сможете управлять режимом работы ночника, его яркостью, цветом и скоростью анимации.
    Видео:

    Нам понадобится:
    1х Arduino / Piranha UNO;1х Battery Shield;1х Trema Shield;8х…

    Подробнее

    Сигнализация / удаленный мониторинг за датчиками по GSM/GPRS

    Введение:
    В этом уроке мы создадим систему удаленного мониторинга и охраны дома, используя GSM/GPRS Shield.
    При выполнении одного из заданных сценариев модуль будет отправлять СМС или звонить Вам на телефон, а в режиме ожидания по запросу сможет отправлять СМС с текущим состоянием системы.
    Видео:

    Нам…

    Подробнее

    Удаленное управление домом по GSM/GPRS

    Введение:
    В этом уроке мы создадим систему удаленного управления домом по смс, используя GSM/GPRS Shield.
    При получении смс устройство будет выполнять одну из указанных в смс функций, после чего уведомит вас об этом в ответной смс.
    Видео:

    Нам понадобится:
    1х Piranha UNO1х GSM/GPRS Shield;1х Battery Shield;2х Реле;2х Силовой…

    Подробнее

    SMS-телеграф на базе GSM/GPRS Shield и термопринтера


    В этом уроке мы создадим SMS-телеграф, по сути мы совместим две технологии, SMS и телеграф:
    SMS (Short Message Service) — служба коротких сообщений.Телеграф — теле (от греческого tēle) — далеко, граф (от греческого graphō) — пишу.
    Значит наше…

    Подробнее

    Проект 3. Детектор шума

    Устройство считывает уровень шума и показывает график изменения звука.

    Описание работы:
    Для начала работы подключите питание к Arduino. На дисплее будет показываться график уровня звука, который изменяется слева направо. Так же…

    Подробнее

    Проект 2. Кухонный таймер

    Кухонный таймер предназначен для обратного отсчета времени за интервал от заданного времени до нуля. Обратный отсчет происходит с момента запуска. Пригодится для точного измерения приготовления изысканных блюд на кухне.

    Описание…

    Подробнее

    Урок 50. Игра «Лабиринт» на Arduino

    В этом уроке мы создадим игру «Лабиринт». Это классическая игра для телефонов и планшетов на Android и Ios, суть которой заключается в том, что вам требуется провести шарик через лабиринт. Управление шариком производится посредством акселерометра,…

    Подробнее

    lesson.iarduino.ru