Джереми Блум - Изучаем Arduino: инструметы и методы технического волшебства
- Название:Изучаем Arduino: инструметы и методы технического волшебства
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2015
- Город:Санкт-Петербург
- ISBN:978-5-9775-3585-4
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Джереми Блум - Изучаем Arduino: инструметы и методы технического волшебства краткое содержание
Для радиолюбителей
Изучаем Arduino: инструметы и методы технического волшебства - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
1. Загрузите программу, которая позволяет изменить цвет окна обработки с помощью потенциометра, подключенного к Arduino. Сделайте это до установки переходника ХВее на плату Arduino, чтобы избежать коллизий UART, которые обсуждались ранее в этой главе. Если на переходнике есть перемычка или переключатель для выбора режима подключения/отключения ХВее к UART, то сам переходник при программировании платы Arduino можно не извлекать. Уточните это в документации на ваш переходник ХВее. Код программы, читающий данные потенциометра и передающий их на компьютер, приведен в листинге 11.1.
Листинг 11.1. Программа Arduino для отправки данных на компьютер - pot_to_processing/arduino_read_pot
// Отправка данных потенциометра на компьютер
const int POT=0; // Аналоговый вход для подключения потенциометра
int val;
// Переменная для хранения данных потенциометра
- 238 -
void setup()
{
Serial.begin(9600); // Запуск последовательного порта
}
void loop()
{
val = map(analogRead(POT), 0, 1023, 0, 255); //
//Чтение и масштабирование данных
//Отправка данных
Serial.println(val);
delay(50); // Задержка
}
2. Отключите плату Arduino от компьютера и подсоедините к ней переходник вместе с модулем ХВее. Подключите потенциометр к аналоговому входу 0, как показано на электрической схеме, изображенной на рис. 11.16.
3. Для питания платы Arduino используйте один из методов, описанных в предыдущем разделе. Я выбрал сетевой USB-адаптер питания.
4. Подключите ХВее USB Explorer с другим запрограммированным модулем ХВее к компьютеру с помощью кабеля USB. Если модули настроены правильно, Rx светодиод на переходнике USB ХВее Explorer будет быстро мигать в момент получения данных.
5. Перед использованием приходящих данных в Processing-приложении откройте монитор последовательного порта в Arduino IDE. Выберите последовательный порт, к которому подключен ваш переходник USB ХВее Explorer, и убедитесь, что данные поступают в компьютер (рис. 11.17).
6. После того как вы убедитесь, что данные поступают, закройте монитор последовательного порта и запустите программу на Processing для регулировки цвета окна. Проверьте, что последовательный порт выбран правильно. Текст программы на Processing приведен в листинге 11.2.
Листинг 11.2. Программа на Processlng для чтения последовательных данных и установки цвета экрана - pot_to_processing/processlng_d,splay_color
// Программа на Processing для чтения переменной и изменения цвета экрана
// Подключение и инициализация библиотеки serial
import processing.serial.*;
Serial port;
float brightness = 0; // Переменная для хранения значения потенциометра
void setup()
{
// Размер окна
size(500,500);
port = new Serial(this, "COM3", 9600); // Инициализация
// последовательного порта
- 239 -
port.bufferUntil('\n');// Символ конца строки
}
void draw()
{
background(0,0,brightness);// Перерисовать окно
}
void serialEvent (Serial port)
{
brightness = float(port.readStringUntil('\n')); // Получить переменную
}

Рис. 11.16. Схема соединения платой Arduino с потенциометром и переходником ХВее
- 240 -

Рис. 11.17. Данные, переданные по беспроводному каналу в монитор последовательного порта
При запуске программы она должна работать так же, как это было при подсоединении платы Arduino непосредственно к компьютеру. Теперь вы можете ходить вокруг дома и офиса (если питаете Arduino от батареи) и менять цвет на экране компьютера.
В предыдущем примере мы убедились, что возможна беспроводная передача данных от Arduino к компьютеру. Теперь используем код из главы 6 для управления RGB-светодиодом, чтобы проверить, что можно отправлять данные без проводов от компьютера к плате Arduino. Удостоверившись в успешном обмене данными между компьютером и Arduino по беспроводному соединению, вы сможете создавать множество интересных приложений (некоторые есть на веб-странице для этой главы).
Сначала загрузим программу (листинг 11.3) на плату Arduino. Подобный пример был рассмотрен в главе 6. Принимаем строку значений RGB и устанавливаем цвет RGB-светодиода.
Листинг 11.3. Управление RGB-светодиодом через последовательный порт - processing_control)RGB/list_control
// Отправка многоразрядных значений
// Константы выводов RGB-светодиода
const int RED =11;
const int GREEN =10;
const int BLUE =9;
// Переменные значений выводов RGB
int rval=0;
int gval=0;
int bval=0;
- 241 -
void setup()
{
Serial.begin(9600);// Инициализация последовательного
// порта на скорости 9600
// Установить выводы на выход OUT
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(BLUE, OUTPUT);
}
void loop()
{
// Пока в буфере есть данные
while (Serial.available() > 0)
{
rval=Serial.parselnt(); //Первое число
gval=Serial.parselnt(); //второе число
bval=Serial.parselnt(); //Третье ЧИСЛО
if (Serial. read() == '\n') //Конец передачи
{
// Установить яркость R,G,B светодиода
analogWrite(RED, rval);
analogWrite(GREEN, gval);
analogWrite(BLUE, bval);
}
}
}
Далее соединяем элементы, как вы делали в главе 6 (рис. 11.18). К плате Arduino присоединяем переходник ХВее и модуль ХВее.
Как и в предыдущем разделе, подключаем адаптер USB ХВее Explorer к компьютеру и запускаем программу на Processing (листинг 11.4).
Убедитесь, что файл hsv.jpg находится в папке data в каталоге программы. И не забудьте установить правильное имя последовательного порта.
Листинг 11.4. Программа на Processing для установки цвета RGB-светрдиода processing_control_RGB/processing_control_RGB.pde
import processing.serial.*;
PImage img;
Serial port;
// Подключение библиотеки serial
void setup()
{
size(640,256);
// Загрузка фоновой картинки
img = loadImage("hsv.jpg");
port = new Serial(this, "СОМ9", 9600); // Открыть последовательный порт
}
- 242 -
void draw()
{
background(0);// Установка цвета фона
image(img,0,0);// Картинка
}
void mousePressed()
{
color с = get(mouseX, mouseY); // Получить RGB-цвет по позиции курсора мыши
String colors = int(red(c))+","+int(green(c))+","+int(blue(c))+"\n";
// Преобразовать в строку
// Вывод для отладки
print(colors);
port.write(colors); // Отправка переменной в Arduino
}

Рис. 11.18. Соединение Arduino и RGB-светодиода
- 243 -
При запуске программы появится экран выбора цвета как в главе 6. Выберите цвет.
Данные будут переданы по беспроводной связи на плату Arduino, и подключенный к ней светодиод должен светить выбранным цветом. Передаваемые значения можно контролировать в мониторе последовательного порта.
Теперь ясно, что с помощью модулей ХВее можно обмениваться данными с компьютером в двух направлениях. В следующем разделе мы рассмотрим беспроводной обмен между двумя платами Arduino напрямую.
11.4. Беспроводной дверной звонок
Беспроводная связь между двумя платами Arduino имеет много практических применений. На основе нескольких плат Arduino можно построить сеть датчиков, передавать команды для радиоуправляемого автомобиля или осуществлять удалеый мониторинг. В этом примере с помощью двух плат Arduino, снабженных модулями ХВее, создадим беспроводной звонок для дома, квартиры или офиса. Плата Arduino, встроенная в дверь, будет реагировать на нажатие наружной кнопки звонка. Когда кто-нибудь позвонит в дверь, другая плата Arduino включит световой или звуковой сигнал, чтобы сообщить, что к вам пришел посетитель.
Читать дальшеИнтервал:
Закладка: