Arduino:Примеры/Dimmer
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Регулятор яркости[1]
Данный пример демонстрирует, как передать данные с персонального компьютера на плату Arduino, чтобы управлять яркостью светодиода. Данные передаются отдельными байтами, и значение каждого из которых варьируется в промежутке от 0 до 255. Arduino считывает эти байты, а затем использует для того, чтобы задать яркость светодиода. Байты можно отправлять при помощи любой программы, которая имеет доступ к последовательному порту компьютера. Ниже показаны примеры для Processing и Max/MSP version 5.
Необходимое оборудование
- Плата Arduino;
- Светодиод;
- 220-омовый резистор;
Необходимое ПО
Цепь
Светодиод подключаем к 9-ому цифровому контакту. Если нужно, используем резистор. Для большинства светодиодов будут работать резисторы на 220 и 330 Ом.
Схема
Код для Arduino
/*
Регулятор яркости
Демонстрирует передачу данных с компьютера на Arduino (в данном случае – для управления яркостью светодиода). Данные отсылаются отдельными байтами, и каждый содержит значение в диапазоне от 0 до 225. Arduino считывает эти баты и использует их, чтобы управлять яркостью светодиода.
Цепь:
* Светодиод подсоединен к 9-ому цифровому контакту и «земле».
Последовательная передача данных осуществляется с помощью Processing, Max/MSP или другой подобной программы.
Создан в 2006 Дэвидом А. Меллисом (David A. Mellis),
Модифицирован 30 августа 2011 Томом Иго (Tom Igoe)
и Скоттом Фитцджеральдом (Scott Fitzgerald).
Этот код не защищен авторским правом.
http://www.arduino.cc/en/Tutorial/Dimmer
*/
const int ledPin = 9; // контакт, к которому подключен светодиод
void setup()
{
// инициализируем последовательную передачу данных:
Serial.begin(9600);
// задаем ledPin как выходной контакт:
pinMode(ledPin, OUTPUT);
}
void loop() {
byte brightness;
// проверяем, есть ли данные от компьютера:
if (Serial.available()) {
// считываем самый последний байт
// (его значение будет варьироваться от 0 до 255):
brightness = Serial.read();
// задаем яркость на светодиоде:
analogWrite(ledPin, brightness);
}
}
Код для Processing
Этот код (см. ниже) будет отправлять байты через последовательный порт на Arduino, чтобы менять яркость светодиода.
/* Код к Processing для этого примера
// Регулятор яркости – пересылает данные через последовательный порт
// Автор – Дэвид А. Меллис
// Этот код не защищен авторским правом.
*/
import processing.serial.*;
Serial port;
void setup() {
size(256, 150);
println("Available serial ports:");
println(Serial.list());
// Воспользуемся первым портом из этого списка (под номером 0).
// Последний параметр (9600) – это скорость передачи данных.
// Он должен соответствовать значению,
// указанному в функции Serial.begin() в Arduino-скетче.
port = new Serial(this, Serial.list()[0], 9600);
// если вам известно название порта, используемого платой Arduino,
// то его можно указать сразу:
// port = new Serial(this, "COM1", 9600);
}
void draw() {
// «растягиваем» градиент от черного к белому
for (int i = 0; i < 256; i++) {
stroke(i);
line(i, 0, i, 150);
}
// передаем текущую X-позицию мыши на последовательный порт
// в виде одного байта:
port.write(mouseX);
}
Код для Max
/* Патч к Max/MSP v5 для этого примера */
----------begin_max5_patcher----------
1008.3ocuXszaiaCD9r8uhA5rqAeHIa0aAMaAVf1S6hdoYQAsDiL6JQZHQ2M
YWr+2KeX4vjnjXKKkKhhiGQ9MeyCNz+X9rnMp63sQvuB+MLa1OlOalSjUvrC
ymEUytKuh05TKJWUWyk5nE9eSyuS6jesvHu4F4MxOuUzB6X57sPKWVzBLXiP
xZtGj6q2vafaaT0.BzJfjj.p8ZPukazsQvpfcpFs8mXR3plh8BoBxURIOWyK
rxspZ0YI.eTCEh5Vqp+wGtFXZMKe6CZc3yWZwTdCmYW.BBkdiby8v0r+ST.W
sD9SdUkn8FYspPbqvnBNFtZWiUyLmleJWo0vuKzeuj2vpJLaWA7YiE7wREui
FpDFDp1KcbAFcP5sJoVxp4NB5Jq40ougIDxJt1wo3GDZHiNocKhiIExx+owv
AdOEAksDs.RRrOoww1Arc.9RvN2J9tamwjkcqknvAE0l+8WnjHqreNet8whK
z6mukIK4d+Xknv3jstvJs8EirMMhxsZIusET25jXbX8xczIl5xPVxhPcTGFu
xNDu9rXtUCg37g9Q8Yc+EuofIYmg8QdkPCrOnXsaHwYs3rWx9PGsO+pqueG2
uNQBqWFh1X7qQG+3.VHcHrfO1nyR2TlqpTM9MDsLKNCQVz6KO.+Sfc5j1Ykj
jzkn2jwNDRP7LVb3d9LtoWBAOnvB92Le6yRmZ4UF7YpQhiFi7A5Ka8zXhKdA
4r9TRGG7V4COiSbAJKdXrWNhhF0hNUh7uBa4Mba0l7JUK+omjDMwkSn95Izr
TOwkdp7W.oPRmNRQsiKeu4j3CkfVgt.NYPEYqMGvvJ48vIlPiyzrIuZskWIS
xGJPcmPiWOfLodybH3wjPbMYwlbFIMNHPHFOtLBNaLSa9sGk1TxMzCX5KTa6
WIH2ocxSdngM0QPqFRxyPHFsprrhGc9Gy9xoBjz0NWdR2yW9DUa2F85jG2v9
FgTO4Q8qiC7fzzQNpmNpsY3BrYPVJBMJQ1uVmoItRhw9NrVGO3NMNzYZ+zS7
3WTvTOnUydG5kHMKLqAOjTe7fN2bGSxOZDkMrBrGQ9J1gONBEy0k4gVo8qHc
cxmfxVihWz6a3yqY9NazzUYkua9UnynadOtogW.JfsVGRVNEbWF8I+eHtcwJ
+wLXqZeSdWLo+FQF6731Tva0BISKTx.cLwmgJsUTTvkg1YsnXmxDge.CDR7x
D6YmX6fMznaF7kdczmJXwm.XSOOrdoHhNA7GMiZYLZZR.+4lconMaJP6JOZ8
ftCs1YWHZI3o.sIXezX5ihMSuXzZtk3ai1mXRSczoCS32hAydeyXNEu5SHyS
xqZqbd3ZLdera1iPqYxOm++v7SUSz
-----------end_max5_patcher-----------
Код, указанный выше, соответствует картинке, которая изображена ниже. Скопируйте его и вставьте в новое окно Max.
См.также
- Serial
- Serial.read()
- analogRead()
- analogWrite()
- Graph
- Physical Pixel
- Virtual Color Mixer
- Serial Call Response ASCII
- SerialEvent
- Serial input (Switch (case) Statement)
Внешние ссылки
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