Arduino подключение и использование HC-SR04

Подключение дальномера

Всем привет! В сегодняшней статье мы затронем подключение и использование ультразвукового датчика расстояния HC-SR04 совместно с Arduino Uno и то как ему удается измерять расстояние.

HC-SR04

Датчик HC-SR04 позволяет измерить дистанцию до объекта бесконтактным способом используя ультразвуковые волны, похожим способом дистанцию до объектов измеряют летучие мыши.

Continue reading

Прерывания Arduino

Прерывания Arduino

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

схема

Зайдем из далека: Arduino uno построена на базе микроконтроллера atmel atmega 328 отсюда возникают ограничения в исполнении нашей программы. В отличие от компьютера микроконтроллер не может выполнять одновременно несколько функций, то есть наша прошивка для Arduino выполняется последовательно строчка за строчкой и поэтому мы можем столкнутся с проблемой, когда обработчик какого-либо действия не застанет событие во время своего выполнения. С этой проблемой мы столкнулись при в статье о создании меню для управления светодиодами. Проблема заключалась в том, что иногда короткое нажатие на кнопку не приводило к изменениям переменных. Это происходило из-за того, что наша программа в момент нажатия на кнопку была занята чем-то другим и просто не знала, что кнопка нажата, для решения этой проблемы и были придуманы прерывания.

Continue reading

Почему многие выбирают Arduino

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

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

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

Кто использует Arduino?

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

Вся платформа Arduino как бы убирает барьеры в освоении микроэлектроники.

Применение Arduino в готовых устройствах

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

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

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

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

ArduinoMini04-240

Continue reading

простейшая отладка прошивки arduino

Отладка программ Arduino

В прошлой статье мы создали свами многоуровневое меню на Arduino используя lcd shield с 16 символьным 2 строчным дисплеем, разработали логику работы самого меню и изменения яркости светодиодов. Меню очень сильно завязано на логику и к сожалению, мы не можем посмотреть штатными средствами в внутрь Arduino для того что бы узнать какая переменная чему равна или по какой ветке пошел оператор if. Давайте исправим это!

 

Отладка прошивки

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

Continue reading

Arduino многоуровневое меню

Реализация многоуровнего меню.

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

Приступим!

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

Не долго думая появилась идея реализовать 2 уровневое меню, которое схематично можно представить так:

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

1.1)Диод1 характеристики

1.2)Диод2 характеристики

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

Давайте более подробно продумаем как это меню будет выглядеть на 2 строчном 16 значном lcd дисплее и сколько кнопок нам понадобится для удобной навигации из 5 представленных на lcd shield .

Общая информация будет выглядеть так:

Led1 On/Off 0-255

Led2 On/Off 0-255

Таким образом сразу при взгляде на монитор мы поймем какой светодиод включен и на какую яркость. Теперь нужно реализовать способ выбора настроек, для этого логично использовать все 5 кнопок, вверх, вниз и влево, право, селект. Выбранный элемент будет указываться таким символом ->

Continue reading

Arduino управление яркостью светодиодов + реализация многоуровнего меню

Как рождаются программы

 

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

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

Приступим!

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

Continue reading

Arduino + LCD шильд, первые шаги

Всем привет! Пару дней ничего не писал в блог из-за того, что заболел, сегодня температура спала и можно написать следующею статью, которая будет посвящена Lcd шильду с 5 кнопками на борту. Посмотреть на него и купить можно здесь.

display шильд

Continue reading

Ардуино, что делать дальше

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

Continue reading

Подготовка Arduino Uno к работе + первая программа

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

Приступим!

Первым делом нам нужно скачать и установить среду разработки со встроенными драйверами, это можно сделать с официального сайта Arduino.cc или по ссылке  . После чего можно подключить плату к компьютеру через usb провод которой чаще всего идет в комплекте, либо через любой подходящий. Ардуино использует USB B, в нем нет ничего особенного. Если все сделано правильно и плата исправна windows найдет новое устройство и самостоятельно установит его после чего на плате загорится светодиод помеченный как ON или PWR.

Continue reading

Arduino Uno подробное знакомство

что такое arduino 3Arduino Uno – плата для быстрого прототипирования и создания готовых устройств построенная на базе микроконтроллера ATmega328. Плата имеет имеет 14 цифровых вход/выходов (6 из которых могут использоваться как выходы с ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, разъем внешнего питания, разъем ICSP, кнопку перезагрузки и 4 светодиода (1 доступен для управления). Для работы необходимо подключить Arduino uno к компьютеру простым кабелем USB, либо подать питание через разъем от 7 до 12 вольт (рекомендованные значения). В отличие от всех предыдущих плат, использовавших usb-uart мост на базе микросхемы ft232, новая Ардуино Uno использует микроконтроллер ATmega8U2.

Характеристики

Continue reading