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 используя 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 к работе + первая программа

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

Приступим!

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

Continue reading

Знакомство с языком C#

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

И так, поехали!

Continue reading