Глава 10.
Arduino и сенсорная панель
143
pinMode( 16, OUTPUT ); // Аналоговый вывод 2
digitalWrite( 16, HIGH ); // Используем вывод 2 как подключение к +5 V
delay(2); // для стабилизации напряжения
x = analogRead( 1 ); // Читаем значение X
// переключить режимы выводов и сделать то же самое для оси Y.
pinMode( 14, INPUT ); // Аналоговый вывод 0
pinMode( 16, INPUT ); // Аналоговый вывод 2
pinMode( 15, OUTPUT ); // Аналоговый вывод 1
digitalWrite( 15, LOW ); // Используем вывод 1 как подключение к GND
pinMode( 17, OUTPUT ); // Аналоговый вывод 3
digitalWrite( 17, HIGH ); // Используем вывод 3 как подключение к +5 V
delay(2); // для стабилизации напряжения
y = analogRead( 0 ); // Читаем значение Y
// выводим значения в последовательный порт
Serial.print(x);
Serial.print(",");
Serial.println(y);
delay (200);
}
10.3. Библиотека Arduino TouchScreen
Предыдущий скетч — отличный способ понять, как работать с сенсорными экра-
нами и как взаимодействовать с ними. А чтобы облегчить написание программ,
можно использовать библиотеку
TouchScreen
. Эту библиотеку
можно найти в папке
libraries
сопровождающего книгу электронного архива. Скетч, читающий данные
с сенсорной панели пять раз в секунду и сообщающий эти значения на компьютер
по USB, представлен в листинге 10.2.
Листинг 10.2
#include
TouchScreen ts(3, 1, 0, 2);
void setup()
{
Serial.begin(9600);
}
void loop()
{
int coords[2];
ts.Read(coords);
Serial.print(coords[0]);
Serial.print(",");
Serial.println(coords[1]);
delay (200);
}
ГЛ А В А
11
Arduino и 1-Wire
В этой главе мы рассмотрим примеры использования Arduino в связке с устройст-
вами, использующими протокол 1-Wire.
11.1. Что такое 1-Wire?
1-Wire (англ. — один провод) — зарегистрированная торговая марка корпорации
Dallas Semiconductor для системотехники шины устройств связи Dallas Semicon-
ductor. Обеспечивает низкоскоростной интерфейс для данных (обычно 16,4 Кбит/с,
максимум 125 Кбит/с в режиме overdrive). Для связи с
устройством необходимо
лишь два провода: на данные и заземление. Для этого интегральная схема включает
конденсатор емкостью 800 пФ для питания от линии данных (так называемое пи-
тание от паразитного источника). Электропитание осуществляется за счет заряда
конденсатора, который заряжается во время наличия высокого уровня напряжения
на линии данных. Здесь следует учитывать,
что связь с устройствами, использую-
щими паразитное питание, возможна только на коротких линиях. На длинных
линиях приходится применять дополнительный провод питания.
Протокол регламентирован разработчиками для применения в четырех основных
сферах-приложениях:
приборы в специальных корпусах MicroCAN для решения проблем идентифика-
ции, переноса или преобразования информации (технология iButton);
программирование встроенной памяти
интегральных компонентов;
идентификация элементов оборудования и защита доступа к ресурсам электрон-
ной аппаратуры;
системы автоматизации (технология сетей 1-Wire).
Первое из этих направлений широко известно на мировом рынке и уже давно поль-
зуется заслуженной популярностью. Второе с успехом обеспечивает возможность
легкой перестройки функций полупроводниковых компонентов, производимых
фирмой Dallas Semiconductor и имеющих малое количество внешних выводов.
Третье
позволяет обеспечить недорогую, но достаточно эффективную идентифика-
цию и надежную защиту самого разнообразного оборудования. Что касается чет-