CraftDuino v2.0
  • - это CraftDuino - наш вариант полностью Arduino-совместимой платы.
  • CraftDuino - настоящий конструктор, для очень быстрого прототипирования и реализации идей.
  • Любая возможность автоматизировать что-то с лёгкостью реализуется с CraftDuino!
Просто добавьте CraftDuino!
  
 

Не дай себе засохнуть (продолжение) ... или о том, как программист создавал первое в своей жизни устройство на базе Arduino

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

Часть 4. Либретто.

Начнём исследовать код от простого к сложному.
Для начала рассмотрим работу «внешнего» модуля.

Как я уже говорил, «внешнему» модулю отводится работа по получению и обработки команды от «домашнего» модуля. Каждая команда состоит из двух частей: её адреса(номера пина на Ардуино, который замыкает или размыкает определённое реле), и непосредственно команды на этот пин. На данный момент обрабатываются пока лишь три команды: «0» — выключить реле, «1» — включить реле, «2» — проверить состояние реле. Т.е. если «внешний модуль получил команду например „81“ — это означает то, что мы надлежаще просим подать ток на пин номер 8 контролера Ардуино, что собственно и делаем после анализа поступившей команды.


( Читать дальше )

Программирование Arduino - библиотека Wire - для работы с I2C

Микроконтроллеры Atmega имеют хардварную поддержку интерфейса I2C(TWI). Линии интерфейса SDA и SCL у МК Atmega8/168/328, сидят на ножках c номерами 27 (PC4) и 28 (PC5), соответственно.
На платах Arduino, линия данных — SDA (data line) выведена на аналоговый пин 4, а линия тактирования — SCL (clock line) выведена на аналоговый пин 5.
На Arduino Mega, SDA — это цифровой пин 20, а SCL — цифровой пин 21.

На нашей CraftDuino, i2c, помимо стандартных пинов, удобно выведен на отдельный разъём (4 обычных пина с шагом 2.54), а так же добавлены два джампера, которыми можно подключить подтягивающие резисторы.


Для работы с протоколом I2C, у Arduino есть штатная библиотека Wire, которая позволяет взаимодействовать с I2C/TWI-устройствами, как в режиме мастера, так и в режиме слейва.

( Читать дальше )
  • +3
  • 24 февраля 2012, 12:21
  • admin
  • 1

Как адаптировать библиотеки для Arduino 1.0


В Arduino IDE версии 1.0, разработчики переименовали файл WProgram.h в Arduino.h, поэтому, чтобы старые библиотеки заработали в новой IDE — нужно просто открыть файлы библиотеки (.h и .cpp) и если в них встречается строчка
#include "WProgram.h"
, то заменить её на:

( Читать дальше )
  • 0
  • 2 февраля 2012, 07:23
  • admin
  • 1

Arduino и 1-Wire - эмуляция ведомого устройства с помощью библиотеки OneWireSlave

Arduino и 1-Wire - эмуляция ведомого устройства

Библиотека OneWireSlave позволяет использовать ардуину на линии 1-Wire в качестве ведомого устройства. Подробнее о OneWire можно прочитать здесь. Теоретически на линии может быть до 2^48 или 281 триллионов ведомых устройств.
С помощью этой библиотеки на одну линию совместно с датчиками температуры и прочими устройствами, использующими протокол 1-Wire, можно подключить несколько ардуин.

( Читать дальше )
  • +2
  • 4 сентября 2010, 09:55
  • admin
  • 12

Программирование Arduino - библиотека Firmata

Firmata library – библиотека, реализующая протокол Firmata
Firmata
Библиотека Firmata реализует протокол Firmata, что позволяет простым образом общаться с программами на компьютере.
Данная библиотека входит в состав Arduino IDE.

( Читать дальше )
  • +1
  • 1 августа 2010, 13:54
  • noonv
  • 11

Программирование Arduino - библиотека Servo

Servo library – библиотека для работы с сервомашинками

Как мы помним – сервомашинка – это мотор-редуктор, с обратной связью, благодаря которой можно повернуть выходной вал на строго определённый угол.
Стандартные рулевые машинки, вертятся от 0 до 180 градусов (также есть сервы постоянного вращения – т.н. Continuous Rotation Servo, чуть позже покажем, как обычную серву можно переделать до такого состояния).

Примечание:
В Arduino IDE 0017 библиотека Servo поддерживает до 12 серв (до 48 на Mega), а в IDE 0016 и ранее работает только на 9 и 10 пинах!

! Обратите внимание:
На платах, отличных от Mega, использование библиотеки отключает возможность использования analogWrite() (PWM) на пинах 9 и 10 (вне зависимости подключены к этим пинам сервы или нет). На платах Mega, до 12 серв могут использоваться без влияния на функциональность PWM, но использование от 12 до 23 сервомашинок отключит PWM на пинах 11 и 12.

Подключение
Схема включения сервомашики очень простая — у неё есть три провода:

— земля (коричневый/черный),
— питание +5 вольт (красный),
— сигнальный (оранжевый/желтый/белый).


( Читать дальше )

Программирование Arduino - библиотека Ethernet

Ethernet library – библиотека для работы с Ethernet-шилдом

Ethernet-шилд – это дополнительная плата, которая подключается к ардуино и позволяет этой замечательной плате посылать и получать данные через локальную сеть и даже работать с Интернетом.

Работа с протоколами TCP/IP в шилде реализована аппаратно на микросхеме W5100.

Для работы с данным шилдом ничего дополнительно скачивать не нужно, т.к. в составе Arduino IDE уже есть удобная библиотека (\libraries\Ethernet\).

Библиотека содержит три класса: EthernetClass ,Client и Server.

( Читать дальше )
  • +2
  • 28 марта 2010, 10:41
  • noonv
  • 5

Часы на 30 светодиодах из CraftDuino!

Время на этих необычных часах высвечивается всего 30-ю светодиодами. Есть узнаваемый часовой круг и после предварительной тренировки можно понять сколько времени :))
Сейчас на часах 5 часов 46 минут.
Круг показывает часы, верхний экран — десятки минут, а нижний — минуты.

( Читать дальше )

Практическое программирование Arduino/CraftDuino - драйвер двигателей L293D

Настала пора Arduino поуправлять моторчиками :)

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

L293D содержит два драйвера для управления электродвигателями небольшой мощности. Имеет две пары входов для управляющих сигналов и две пары выходов для подключения электромоторов. Кроме того, у L293D есть два входа для включения каждого из драйверов. Эти входы используются для управления скоростью вращения электромоторов с помощью ШИМ (PWM).

( Читать дальше )
  • +1
  • 17 февраля 2010, 15:00
  • noonv
  • 49

Практическое программирование Arduino/CraftDuino - протокол 1-Wire и iButton

Сегодня мы познакомимся с интересным протоколом 1-Wire и даже сразу попробуем поработать с устройством, использующим этот протокол. «Как?» — спросите Вы – «мне не нужно будет покупать детали в радиомагазине?»
«Нет» — отвечу я :) С большой долей вероятности, Вы пользуетесь устройством 1-Wire и, возможно, даже не догадываетесь об этом :) Это всего-навсего – ключ-таблетка от домофона (iButton)!
iButton

( Читать дальше )
  • +4
  • 6 декабря 2009, 16:10
  • admin
  • 22