← Пантограф | Оглавление | Светильник, управляемый по USB →
В этом эксперименте мы выводим на жидкокристаллический дисплей данные о напряжении, измеренном на батарейке.
// Подключаем библиотеку для работы с жидкокристаллическим // экраном (англ. Liquid Crystal Display или просто LCD) #include <LiquidCrystal.h> // на диоде, защищающем от неверной полярности, падает доля // напряжения (англ. voltage drop). Необходимо это учитывать #define DIODE_DROP 0.7 // Объявляем объект, для управления дисплеем. Для его создания // необходимо указать номера пинов, к которым он подключен в // порядке: RS E DB4 DB5 DB6 DB7 LiquidCrystal lcd(13, 12, 11, 10, 9, 8); void setup() { // начинаем работу с экраном. Сообщаем объекту количество // строк и столбцов. Опять же, вызывать pinMode не требуется: // функция begin сделает всё за нас lcd.begin(16, 2); // печатаем сообщение на первой строке lcd.print("Battery voltage:"); } void loop() { // высчитываем напряжение подключенной батарейки float voltage = analogRead(A0) / 1024.0 * 10.0; // если напряжение на делителе напряжения было зафиксировано, // нужно прибавить напряжение на диоде, т.к. оно было съедено if (voltage > 0.1) voltage += DIODE_DROP; // устанавливаем курсор, колонку 0, строку 1. На деле — это // левый квадрат 2-й строки, т.к. нумерация начинается с нуля lcd.setCursor(0, 1); // печатаем напряжение в батарейке с точностью до сотых долей lcd.print(voltage, 2); // следом печатаем единицы измерения lcd.print(" Volts"); }
DIODE_DROP
.<LiquidCrystal.h>
для создания объекта lcd
и использования его методовlcd.begin(cols,rows)
с помощью которого мы задаем количество колонок и строк нашего дисплеяlcd.print(data)
для вывода данных. У него есть второй необязательный параметр BASE
, передав который, можно выбрать систему счисления, так же, как в примере с Serial.print()
.lcd.setCursor(col,row)
устанавливает курсор в переданную колонку и строку. Последующий вывод будет осуществляться с этого места.lcd
мы передали параметрами пины, к которым подключены выводы дисплея, через которые мы будем им управлять и передавать данные.
Возможно, вы захотите воспользоваться еще одним методом вашего объекта lcd
— clear()
: он очищает экран и устанавливает курсор в левую колонку верхней строчки.
Теперь вы можете выводить без компьютера и проводов любые данные, с которыми работаете, и использовать это как в режиме эксплуатации вашего устройства, так и во время отладки!