Arduino:Примеры/Esplora TFT Temperature
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Отображение температуры на TFT-экране Esplora[1]
Этот пример для платы Esplora (и подключенного к ней TFT-экрана Arduino) считывает температуру со встроенного теплового датчика, а затем показывает ее на TFT-экране Arduino.
Необходимое оборудование
- Плата Arduino Esplora;
- TFT-экран Arduino;
Цепь
Подключите TFT-экран к сокету на Esplora, но так, чтобы надпись «SD Card» была вверху.
Код
Чтобы использовать экран, вначале нужно подключить к скетчу библиотеки TFT и SPI. Кроме того, поскольку для примера требуется плата Esplora, то не забывайте и о соответствующей библиотеке.
#include <Esplora.h>
#include <TFT.h>
#include <SPI.h>
Чтобы обновлять текст на экране, нам надо создать char-массив, который будет хранить динамический контент.
char tempPrintout[3];
В блоке setup() инициализируем экран и очищаем фон. В функции stroke() задаем цвет шрифта, а затем пишем на экране статическую надпись – в данном случае «Degrees in C :» (т.е. «Градусы в Цельсиях: ». Она не будет меняться на протяжении всей работы скетча и расположится в верхней части экрана. Перед тем, как перейти к loop(), задаем размер текста – так, чтобы температурная надпись была четко различимой.
void setup(void) {
EsploraTFT.begin();
EsploraTFT.background(0,0,0);
EsploraTFT.stroke(200,20,180);
EsploraTFT.setTextSize(2);
EsploraTFT.text("Degrees in C :\n ",0,0);
EsploraTFT.setTextSize(5);
}
В секции loop() при помощи функции Esplora.readTemperature(DEGREES_C) считываем данные о температуре (в Цельсиях), а затем сохраняем их в строку. Далее конвертируем содержимое строки в char-массив – глобальный массив, который вы объявили в начале скетча.
void loop() {
String temperature = String(Esplora.readTemperature(DEGREES_C));
temperature.toCharArray(tempPrintout, 3);
Задаем цвет текста (хорошая мысль – менять цвет текста в зависимости от температуры), а затем показываем его под статичной надписью.
EsploraTFT.stroke(255,255,255);
EsploraTFT.text(tempPrintout, 0, 30);
Ждем секунду, а затем стираем только что написанный текст – чтобы обновить данные при следующем проходе через loop().
delay(1000);
EsploraTFT.stroke(0,0,0);
EsploraTFT.text(tempPrintout, 0, 30);
}
Весь код полностью – ниже:
/*
Отображение на TFT-экране Esplora данных от температурного датчика
Это пример для платы Esplora и TFT-экрана Arduino.
Он считывает температуру со встроенного теплового датчика Esplora,
а затем показывает ее на подключенном к Esplora TFT-экране,
обновляя данные каждую секунду.
Этот код не защищен авторским правом.
Создан 15 апреля 2013 Скоттом Фитцджеральдом (Scott Fitzgerald).
http://www.arduino.cc/en/Tutorial/EsploraTFTTemp
*/
// Подключаем необходимые библиотеки:
#include <Esplora.h>
#include <TFT.h> // библиотека TFT-экрана Arduino
#include <SPI.h>
char tempPrintout[3]; // массив, в котором будет храниться температурная информация
void setup() {
// Эта строка кода нужна в начале каждого скетча, использующего TFT-экран:
EsploraTFT.begin();
// Очищаем экран, заливая его черным цветом:
EsploraTFT.background(0, 0, 0);
// Цвет текста делаем фиолетовым:
EsploraTFT.stroke(200, 20, 180);
// Размер текста делаем «2»:
EsploraTFT.setTextSize(2);
// Показываем текст в верхнем левом углу экрана.
// Эта надпись всю работу скетча будет оставаться неизменной:
EsploraTFT.text("Degrees in C :\n ", 0, 0); // "Градусы в Цельсиях :\n "
// Размер динамического текста будет «5»:
EsploraTFT.setTextSize(5);
}
void loop() {
// Считываем температуру в Цельсиях и сохраняем ее в строку:
String temperature = String(Esplora.readTemperature(DEGREES_C));
// Конвертируем строку в char-массив:
temperature.toCharArray(tempPrintout, 3);
// Делаем цвет текста белым:
EsploraTFT.stroke(255, 255, 255);
// Отображаем температуру строкой ниже статического текста:
EsploraTFT.text(tempPrintout, 0, 30);
delay(1000);
// Стираем текст, чтобы при следующем проходе через цикл показать новый текст:
EsploraTFT.stroke(0, 0, 0);
EsploraTFT.text(tempPrintout, 0, 30);
}
См.также
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Пример
- Примеры
- Пример программирования Arduino
- Примеры программирования Arduino