Текстовая анимация с помощью arduino – arduino+

Урок 5 – Управление Arduino с помощью пульта ДУ (IR). Библиотека IRremote

При создании проектов на Arduino. Часто возникает вопрос, с помощью чего управлять проектом. И желательно на расстоянии. Кнопки уже не модно.

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

Для урока я буду использовать вот такой набор и Arduino UNO.

Купить пульт с IR приемником всего за 100 руб. можно тут.

Приемники могут быть распаянные как в моем случае.

И вот такого плана.

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

Подключаем к Arduino UNO вот по такой схеме. К другим Ардуинкам подключается аналогично.

Для работы нам понадобиться библиотека IRremote. Скачать ее можно тут.

С библиотекой устанавливается ряд примеров. Нам понадобиться IrrecvDemo.

IRremote.h> int RECV_PIN = 11; IRrecv irrecv(RECV_PIN); decode_results results; void setup() { Serial.begin(9600); // In case the interrupt driver crashes on setup, give a clue // to the user what's going on. Serial.println(“Enabling IRin”); irrecv.enableIRIn(); // Start the receiver Serial.println(“Enabled IRin”); } void loop() { if (irrecv.decode(&results)) { Serial.println(results.value, HEX); irrecv.resume(); // Receive the next value } delay(100); }

После того как скетч загружен и IR приемник подключен можно проверить какой код соответствует той или иной кнопке пульта ДУ. Поднажимайте на кнопки и в мониторе последовательного порта (Ctrl+Shift+M) вы уведите следующее.

;FF18E7 FFFFFFFF FFA857 FF02FD FF18E7 FF38C7 FF4AB5 FF5AA5 FF10EF FF5AA5 FFFFFFFF FF10EF FF5AA5

У вас возник наверное вопрос что за повторяющая команда FFFFFFFF. Это команда выводиться когда вы долго удерживаете кнопку на пульте и на Ардуино приходить одинаковая команда.

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

Отпускаем и машина перестает ехать и поворачивать.

Само простое, чем можно управлять это включение и выключения встроенного светодиода на плату Arduino при помощи пульта дистанционного управления и инфракрасного приемника.

Схема подключения как и в примере выше. Коды кнопок моего пульта:

//FF10EF — стрелочка вправо //FF5AA5 — стрелочка влево

У вашего пульта команды будут другие. Код получается вот такой.

//FF10EF — стрелочка вправо //FF5AA5 — стрелочка влево #include “IRremote.h” IRrecv irrecv(11); // указываем вывод, к которому подключен приемник decode_results results; void setup() { irrecv.enableIRIn(); // запускаем прием } void loop() { if ( irrecv.decode( &results )) { // если данные пришли switch ( results.value ) { case 0xFF10EF: digitalWrite( 13, HIGH ); break; case 0xFF5AA5: digitalWrite( 13, LOW ); break; } irrecv.resume(); // принимаем следующую команду } delay(100); }

Вот так можно легко научить вашу Arduinо понимать команды с пульта.

Источник: https://portal-pk.ru/news/147-urok-4—upravlenie-arduino-s-pomoshchyu-pulta-du-ir.html

Загружаем первый скетч в Arduino

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

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

 к компьютеру, мы можем приступить к следующим действиям.

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

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

 Скетч очень простой и не требует каких либо дополнительных элементов для своей демонстрации.  

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

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

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

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

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

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

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

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

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

  Для большего понимания работы этого скетча, давайте немного отредактируем код и посмотрим что изменилось. Переходим на 34 строку кода и изменим время паузы,   delay(1000); изменим на  delay(10000); .

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

 Сейчас мы программно указали в 33 строчке включить светодиод и этот светодиод будет гореть до тех пор пока относительно него не поступит другой команды. Поэтому в 34 строчке мы ставим паузу в  10 секунд а в 35 строчке гасим светодиод.

Читайте также:  Секундомер ардуино: делаем своими руками на основе uno

Должно получится что то вроде ниже представленного изображения.

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

Чтобы комментировать войдите или зарегистрируйтесь !

Источник: http://gabs.su/arduino/37-zagruzhaem-pervyj-sketch-v-arduino

Мигание встроенным на плату Arduino светодиодом

На этом уроке Вы научитесь программировать свою плату Arduino на примере мигания встроенным светодиодом.

Для данного примера Вам понадобится плата Arduino (в данном случае – Arduino Uno R3, но Вы сможете проработать данный пример, имея в наличии и другую плату) и кабель USB (типа A (4х12 мм) – B (7х8 мм) – более подробно можно почитать на Вики).

Что такое ” L” светодиод

На Arduino Uno присутствуют ряды коннекторов типа мама по бокам платы, которые используются для подключения периферийных электронных устройств или “шилдов”.

Кроме того, на плате присутствует встроенный светодиод (англ. – LED), которым Вы можете управлять с помощью скетчей. Этот встроенный светодиод условно назовем “L” светодиод, как это принято на многих англоязычных ресурсах.

Расположение данного светодиода на плате отмечено на фото снизу.

Загрузка примера “Blink” (мигание) в Arduino IDE

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

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

Пришло время проверить Ваше подключение и запрограммировать плату.

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

Откройте пример “Blink”, который находится в пункте меню File – Examples – 01.Basics

После открытия, расширьте окно оболочки Arduino IDE, чтобы Вы могли весь скетч в одно окне.

Скетчи из примеров, включенные в Arduino IDE предусматривают режим “только чтение” (“read only”). То есть, загрузить их на плату Вы сможете, но после изменения кода, Вы не сможете их сохранить в том же файле.

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

Из меню “File” выберите опцию “Сохранить как” (“Save As..”) и сохраните скетч под подходящим Вам названием, например, “MyBlink”.

Вы сохранили копию скетча “Blink” в Вашей библиотеке. Теперь открыть этот файл Вы можете в любой момент, перейдя по вкладке File – Scetchbook.

Загрузка примера “Blink” (мигание) на плату

Подключите свою плату Arduino к компьютеру с помощью USB и проверьте тип платы (“Board type”) и серийный порт (“Serial Port”), по которому она подключена.

Текущие настройки отображаются внизу окна оболочки Arduino IDE

Кликните на кнопку “Загрузить” (“Upload”)

Во время загрузки в нижней части окна IDE появятся ползунок загрузки и сообщения. Вначале появляется фраза “Компилирование” (“Compiling scetch..”), что означает процесс конвертирования Вашего скетча в формат, подходящий для загрузки на плату Arduino.

Дальше статус сменится на “Загрузка” (“Uploading”). В этот момент светодиоды на плате начнут мигать, так как начнется перенос скетча в микропроцессор.

В конце статус сменится на ”Загрузка завершена” (“Done uploading”). В сообщении, которое появится в текстовой строке отобразится информация о том, что загруженный скетч занимает 1,084 байта из 32,256 доступных.

Иногда при компиляции у Вас может возникнуть подобная ошибка:

Причин может быть несколько: Вы не подключили плату к компьютеру; Вы не установили необходимые драйвера; Вы выбрали некорректный серийный порт.

Если же загрузка прошла корректно, плата Arduino перезагрузится и “L” светодиод начнет мигать.

Пояснения к скетчу “Blink”

Ниже представлен код скетча “Blink”.

/*

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(1000); // wait for a second

digitalWrite(led, LOW); // turn the LED off by making the voltage LOW

delay(1000); // wait for a second

}

Первое, на что стоит обратить внимание: в данном скетче множество “комментариев”. Обратите внимание, что комментарии не являются инструкцией по работе программы. Это исключительно пояснения отдельных функций и задач, которые выполняются на определенном этапе кода. Это не обязательная часть кода.

Все между символами /* и */ в верхней части скетча – это комментарии, в которых описаны задачи программы. Так же есть комментарии, которые ограничиваются одной строкой. Они начинаются с символов // и заканчиваются по умолчанию в конце строки.

Первая важная, по сути, часть данного кода это строка:

В комментариях над строкой указано, что мы присваиваем имя пину, к которому подключен светодиод. На большинстве плат Arduino это будет 13 пин. Дальше используется функция “Setup”.

Опять-таки, в комментариях указано, что функция срабатывает после нажатия кнопки “reset”. Также эта функция срабатывает, когда плата перезагрузится по каким-либо другим причинам.

Например, подача питания или после загрузки скетча.

// the setup routine runs once when you press reset:

void setup() {

// initialize the digital pin as an output.

pinMode(led, OUTPUT);

}

Каждый скетч Arduino обязан включать в себя функцию “setup” и часть, в которую вы можете добавлять собственные инструкции, заключенные между { }.

Читайте также:  Arduino gopro: как контролировать камеру через wifi

В нашем примере в функции присутствует только одна команда, в которой указано, что пин, который мы используем, настраивается на “вывод” (“Output”). Также обязательным для любого скетча является функция цикла “Loop”.

В отличие от функции “Setup ”, которая отрабатывает один раз после перезагрузки, функция “Loop” после окончания работы команд, вновь запустится.

// the loop routine runs over and over again forever:

void loop() {

digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)

delay(1000); // wait for a second

digitalWrite(led, LOW); // turn the LED off by making the voltage LOW

delay(1000); // wait for a second

}

В теле функции “Loop” светодиод включается (HIGH), данное значение задерживается на 1000 миллисекунд (1 секунда), светодиод отключается (LOW) и остается выключенным на 1 секунду, после чего цикл повторится.

Изменение частоты мигания светодиода

Для того, чтобы обеспечить более частое мигание светодиода, необходимо изменить параметр, указываемый в скобках ( ) в команде “delay”.

Как уже было указано, период задержки указывается в миллисекундах. То есть, для того, чтобы заставить светодиод мигать в два раза чаще, необходимо изменить значение с 1000 на 500. В результате, пауза между включением/выключением светодиода составит половину секунды и светодиод будет мигать быстрее.

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

Источник: http://arduino-diy.com/arduino-miganiye-vstroyennym-na-platu-svetodiodom

Что такое Arduino. Первое знакомство с Arduino

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

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

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

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

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

Проекты могут быть автономными (аппаратный уровень) или общаться с программным обеспечением, установленным на персональном компьютере разработчика (например, такие программы, как Flash , Processing , MaxMSP).

В микроконтроллере Arduino, как правило, предустановлен загрузчик (BootLoader). BootLoader предназначен для загрузки программы (скетча) пользователя во флэш память Arduino через USB порт.

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

Преимущества платформы Arduino

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

Наиболее известные платформы Arduino

Начальный уровень:

  • UNO
  • LEONARDO
  • 101
  • ROBOT
  • ESPLORA
  • MICRO
  • NANO
  • MINI

Расширенные возможности

  • MEGA
  • ZERO
  • DUE
  • MEGA ADK
  • PRO
  • M0
  • M0 PRO
  • MKRZERO
  • PRO MINI

Интернет вещей:

  • YÚN
  • ETHERNET
  • TIAN
  • INDUSTRIAL 101
  • LEONARDO ETH
  • MKRFOX 1200
  • MKR1000

Говоря техническим языком, Ардуино — схема, в которой используется микроконтроллер, имеющий ряд выводов, которые могут функционировать в наших схемах как входы или выходы. Эти входы или выходы могут управляться путем написания кода в среде программирования Arduino IDE на основе языка C/C++.

В Arduino IDE используется: пакет программ – «GNU toolchain» и версия стандартной библиотеки C – «AVR Libc» , а также консольная программа AVRDude, предназначенная для записи исполняемой программы во Flash память Arduino.

Arduino IDE

Источник: http://www.joyta.ru/10638-chto-takoe-arduino-i-s-chego-nachat-pervoe-znakomstvo-s-arduino/

Игрушка на Arduino: Саймон сказал

Хотите чем-либо занять ребёнка? Машинки и куклы надоели, хочется что-нибудь по-веселее? Предлагаю сделать простую электронную игрушку своими руками. В магазинах есть интересная игра под названием: “Саймон сказал”:

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

Для начала разберёмся с основными частями проекта:

  • 4 кнопки и 4 светодиода – это основа. Посредством светодиодов компьютер будет показывать код, а с помощью кнопок игрок будет его повторять.
  • Динамик будет озвучивать нажатие на кнопки и включение лампочек.
  • Семисегментный индикатор с драйвером 74HC595. Будет отображать текущий уровень сложности.
  • Фоторезистор. Для генератора случайных чисел. (Позже объясню).

Подключаем к Arduino по такой схеме:

  • Светодиоды подключены к 8, 6, 4, 2 выходам Arduino через резисторы по 220 Ом (номинал можно изменить от 150 до 330 Ом);
  • Кнопки к 9, 7, 5, 3 выходам со стягивающими резисторами 10 кОм (номинал не важен, важно его наличие);
  • Динамик(Я взял пассивный) подключен напрямую к 10 пину (поддерживает ШИМ);
  • Контакты семисегмента (через резистор) идут к выходам регистра.
  • Сам регистр подключен к 13-му, 12-му и 11-му контакту (такт, данные и защёлка); Подробнее в этой статье.
  • Ну, и фоторезистор к аналоговому входу 1;

Я всё сделал на Breadboard. Получилось так:

В дальнейшем планирую сделать печатную плату, добавить питание от USB и поместить в какой-либо корпус. Плату уже нарисовал (скачать можно внизу). Там 2 платы. 1-я – это верхняя(лицевая) часть с кнопками, светодиодами, индикатором и. т. д.. А 2-я (нижняя) – это микроконтроллер с обвязкой (вместо неё можно использовать Arduino);

Теперь о коде: (Скачать код полностью можно внизу по ссылке)

В первую очередь пишем глобальные переменные:

Читайте также:  Esp8266 lib h: скачать и установить библиотеку для проектов

#define CLOCK 13
#define DATA 12
#define LATCH 11

– это выходы регистра;

#define buzzer 10
const int leds[4] = {8, 6, 4, 2};
const int buttons[4] = {9, 7, 5, 3};

– выходы динамика (пищалки), светодиодов и входы кнопок.

const int notes[4] = {262, 330, 392, 523};

– а в это массиве хранятся ноты, которые будут проигрываться при нажатии кнопок. При желании их можно сделать одинаковыми. Я их брал из файла pitches.h. Откройте пример Digital > toneMelody. К нему прикреплён это файл:

В setup-е назначаем пины регистра, динамика и светодиодов выходами, а кнопки входами; ставим высокий уровень на защёлку.

pinMode(CLOCK, OUTPUT);
pinMode(DATA, OUTPUT);
pinMode(LATCH, OUTPUT);
pinMode(buzzer, OUTPUT);
for(int i=0; i

Источник: http://cxem.net/arduino/arduino167.php

Записки программиста

Осилил вывод текста на ЖК-индикаторы. Тема эта далеко не новая, в той же книжке Джереми Блума она подробнейшим образом освещена. Посему я полагаю, что многим любителям электроники она уже знакома. Так что, постараюсь осветить тему предельно коротко, чисто чтобы иметь шпаргалку у себя под рукой, и, быть может, заинтересовать пару читателей, еще не знакомых с ЖК-индикаторами.

<\p>

Для экспериментов я использовал индикатор MT-16S2H-3YLG с подсветкой, шириной 16 символов и высотой 2 строки. Бывают аналогичные индикаторы от других производителей и других размеров, например, 20×4. Все они устроены абсолютно одинаково, и описанные далее шаги должны работать и для них. У моего индикатора 16 контактов. У вашего их может быть 14, если индикатор не имеет подсветки.

Fun fact! Помимо ЖК-индикаторов еще существуют совместимые с ними OLED-индикаторы от Winstar.

Они существенно дороже, зато имеют угол обзора почти 180 градусов, более высокую скорость перерисовки и всегда поддерживают русский язык (у обычных ЖК-индикаторов это зависит от производителя).

К тому же, есть OLED-индикаторы с поддержкой графического режима. Подробности об OLED-индикаторах вы можете найти в статьях Юрия Ревича (раз и два).

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

Для использования индикатора потребуется впаять в него гребенку с шагом 2.54 миллиметра. Советую делать это, воткнув гребенку в макетную плату.

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

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

Результат будет выглядеть как-то так:

Заметьте, что у меня контакты пронумерованы не по порядку. Слева направо идут контакты с 1 по 14 в убывающем порядке, затем контакты 16 и 15. У вас контакты могут быть расположены иначе. Порядок может быть любым, главное — это номера.

Теперь соберем Arduino на макетной плате. Если вы подзабыли, как это делается, ознакомьтесь с заметкой Как собрать Arduino прямо на макетной плате. Ну или просто используйте Arduino Uno, если вам так больше нравится.

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

  • 15 — анод подсветки. Подключаем напрямую к плюсу, либо, если хотим регулировать уровень подсветки, через потенциометр на 1 кОм;
  • 16 — катод подсветки. Подключаем к земле;
  • 1 и 2 — питание самого LCD. Контакт 1 подключаем к минусу, а 2 к плюсу;
  • 3 — контрастность. Чем ниже здесь напряжение, тем контрастнее изображение. Тут также можно использовать потенциометр. Для максимально контрастности подключаем к земле;
  • 4 — register select signal (RS). Пригодиться, подключаем к микроконтроллеру. Я подключил этот контакт к 13-му пину ATmega328P, соответствующему цифровому пину Arduino под номером 7;
  • 5 — read/write select signal (R/W). Я не представляю, зачем может потребоваться читать с дисплея. Подключаем к земле, говоря тем самым «только запись»;
  • 6 — operation enable signal (E). К микроконтроллеру. Я подключил к пину 14, которому соответствует цифровой пин Arduino номер 8;
  • 7-10 — DB0-DB3. В данном посте они нам не пригодятся. Могут быть использованы для более быстрой передачи данных;
  • 11-14 — DB4-DB7. Используются для обмена данными с микроконтроллером. Их я подключил к пинам с 15 по 18, соответствующим цифровым пинам Arduino с 9 по 12;

Для контактов RS, E и DB4-DB7 вы можете использовать другие пины. Но учтите, что в этом случае вы рискуете получить вместо текста мусор. Я так понял, что это связанно с активностью бутлоадера при перезапуске микроконтроллера.

Цепь в собранном виде будет выглядеть как-то так:

Код прошивки:

#include
#include “LiquidCrystal.h”

/* RS, E, DB4-DB7 */

LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

void setup()

{
    /* number of columns and rows */
    lcd.begin(16, 2);

    /* select page 0 (selected by default) */

    lcd.command(0b101000);
    /* select page 1: */
    /* lcd.command(0b101010); */

    lcd.setCursor(0, 0);

    lcd.print(“Texbayxe6″”ee xb3pexbcxc7:”);
    /* lcd.print(“Current time:”); */
}

void loop()

{
    delay(100);    

    lcd.setCursor(0, 1);

    unsigned long tstamp = millis();
    int h = tstamp / 1000 / 60 / 60;
    int m = (tstamp / 1000 / 60) % 60;
    int s = (tstamp / 1000) % 60;/*      String line = String(h) + “h ” +                   String(m) + “m ” +                   String(s) + “s”;

*/

     String line = String(h) + “xc0 ” +

                  String(m) + “xbc ” +
                  String(s) + “c”;

    int len = line.length();

    while(len

Источник: https://eax.me/arduino-lcd-text/

Ссылка на основную публикацию
Adblock
detector