Главная страница

Руководство по освоению Arduino - 2012. Руководство по освоению Arduino


Скачать 1.4 Mb.
НазваниеРуководство по освоению Arduino
АнкорРуководство по освоению Arduino - 2012.pdf
Дата28.05.2017
Размер1.4 Mb.
Формат файлаpdf
Имя файлаРуководство по освоению Arduino - 2012.pdf
ТипРуководство
#8187
страница4 из 4
1   2   3   4
К
ОД
не надо набирать вручную,
Е
СТЬ
ЕЩЕ
ВОПРОСЫ
?

28
CIRC-11
.:Большие нагрузки
(реле):.
Последние задания всегда в какой-то степени являются испытанием. Мы используем наши знания о транзисторах
(CIRC03) чтобы управлять реле. Реле - это управляемый электронно-механический переключатель. Внутри пластиковой коробочки содержится электромагнит, при подаче питания на который происходит переключение механического контакта (обычно с заметным щелчком). Различные реле очень сильно отличаются по размерам и параметрам (от совсем крошечных, до реле размером с холодильник). Обычно, чем больше размер реле — тем больший ток оно способно коммутировать. При помощи реле и Arduino Вы сможете управлять чем-то значительным.
х
2 контактный
разъем
x4
Карточка задания
CIRC-11
x1
Резистор 2.2 кOм
красный-красный
-красный
x1
Резистор 560 Oм
Зеленый-синий-
коричневый
x2
Arduino pin 2
резистор
(2.2кОм)
общий вывод
(ground) (-)
коллектор эмиттер база
+5 вольт транзистор
P2N2222AG обмотка общий закр откр диод
Диод
(1N4001)
x1
транзистор маркирован
“P2N2222AG”
(у некоторых разновидностей выходы расположены в обратном порядке)
.:скачать:.
карточку задания
.:
:.
видео сборки
http://ardx.org/BBLS11
посмотреть
http://ardx.org/VIDE11
в Интернете:
Схема
Описание задания:
Компоненты:
У
СТРОЙСТВО
:
Реле
(DPDT)
x1
Транзистор
P
x1
2N2222AG (TO92)
Зеленый
светодиод
x1
Красный
светодиод
x1

Визуализация импульсов обратного тока
Замените диод светодиодом. Вы увидите мигание каждый раз, когда реле будет отключаться.
Управление мотором
В задании CIRC03 мы управляли мотором при помощи транзистора. Однако, если вы собираетесь управлять более мощным мотором, реле будет лучшим вариантом. Для этого просто снимите красный светодиод и вместо него подключите мотор (не забудьте убрать резистор 560 Ом).
Изменение направления вращения мотора
Немного усложним устройство напоследок. Для изменения направления вращения мотора постоянного тока необходимо изменить направление протекания тока.Если это делать вручную — достаточно поменять местами провода. Для электронной коммутации необходимо использовать что-то вроде H-моста. Это можно сделать при помощи DPDT реле. Соберите следующую схему:
Нет щелчков (звуков
переключения реле)
Возможно не работает транзистор. Тщательно проверьте правильность установки.
29
CIRC-11
File > Sketchbook > 1.Basic > Blink
(
)
это пример с сайта arduino.cc, также там можно найти много отличных идей
/* Мигание
*
* Простой пример: программа включает светодиод на 1 секунду, потом выключает на 1 секунду, и тд.. Мы используем вывод 13, потому что в зависимости от того, какой у вас
Ардуино, у него есть либо встроенный светодиод, либо резистор и тогда вам нужен только светодиод.
*
* http://www.arduino.cc/en/Tutorial/Blink
*/
int ledPin = 2; // *********** CHANGE TO PIN 2 ************
void setup() // выполняется один раз, потом запускается скетч
{
pinMode(ledPin, OUTPUT); // инициализируем цифровой контакт как выход
}
void loop() // функция выполняется бесконечно
{
digitalWrite(ledPin, HIGH); // включает светодиод delay(1000); // задержка 1 сек digitalWrite(ledPin, LOW); // выключает светодиод delay(1000); // задержка 1 сек
}
Подробности, где купить детали к проекту, где задать вопросы:
http://ardx.org/CIRC11
Не совсем работает
Включенное в набор реле рассчитано на пайку, а не на установку в макетную плату.
Возможно поможет если Вы прижмете его к макетной плате с небольшим усилием.
Ничего не происходит
Программа использует порт 13, а наше реле подключено к порту 2. Не забудьте соответственно отредактировать программу.
Arduino контакт 2
резистор
(2.2кОм)
общий вывод
(ground) (-)
коллектор эмиттер база
+5 вольт транзистор
P2N2222AG обмотка общий закр откр диод
Не работает?
(3 проблемы и их решения)
Усовершенствуем устройство
К
ОД
не надо набирать вручную, он находится по адресу:
Е
СТЬ
ЕЩЕ
ВОПРОСЫ
?

Компоненты:
.:скачать:.
карточку задания
http://ardx.org/BBLS12R
в Интернете:
30
CIRC-12
.:Многоцветное
свечение
(светодиоды RGB):.
Вы можете мигать светодиодами и использовать ШИМ для управления моторами. Давайте применим эти знания и создадим светодиод, который может светиться любым цветом и с любой интенсивностью (на основе RGB светодиода).
RGB светодиод представляет собой три светодиода — R красный, G зеленый и B синий в одном корпусе. Используя различные комбинации этих трех цветов можно синтезировать практически любой цвет.
Для контроля каждого канала RGB светодиода используется обычный светодиод, таким образом смешение цветов происходит наглядно.
Описание задания:
У
СТРОЙСТВО
:
Резистор 560 Oм
Зеленый-синий-коричневый
x6
х
2 контактный
разъем
x4
Карточка задания
CIRC-RGB
x1
Провод
Светодиод
RGB 5мм
x1
Красный светодиод
x1

31
Подробности, где купить детали к проекту, где задать вопросы:
Все слишком красное
Возможно красный светодиод в RGB светодиоде светится ярче остальных. Это можно скорректировать путем увеличения резистора в канале R.
Слишком много
светодиодов?
Одноцветные светодиоды используются для индикации сигналов в каналах RGB. После того как Вы разберетесь как это работает — можете их удалить.
Светодиод не загорается,
или показывает
неправильные цвета
Проверьте внимательно подключение RGB светодиода.
Не забудьте про подключение общего вывода к «земле».
http://www.solarbotics.com
CIRC-12
Не работает?
(3 проблемы и их решения)
Усовершенствуем устройство
его можно загрузить с
(
)
http://ardx.org/CODE12R
скопируйте текст и вставьте его в новое окно Arduino Sketch
Больше цветов
Аналоговый контроль цвета
Наверное вы не очень удивлены голубым
Переключаться между фиксированными цветами цветом светодиода. Чтобы изменить его цвет достаточно интересно. Но если использовать на другой — отредактируйте программу:
аналоговый контроль, можно получить setColor(ledDigitalOne, CYAN); ---->
практически неограниченное количество цветов. setColor(ledDigitalOne, **NEW COLOR**);
Загрузите пример по адресу:
Отображение случайных цветов
http://ardx.org/MABE12R
Конечно мы можем больше, чем просто показывать постоянные цвета.
Отредактируйте программу следующим образом:
void loop(){
//setColor(ledDigitalOne, CYAN); randomColor()
}
//RGB LED pins for(int i = 0; i < 3; i++){
int ledDigitalOne[] = {9, 10, 11}; pinMode(ledDigitalOne[i], OUTPUT);
//3 цифровых вывода светодиодов
//инициализирует выводы 3х светодиодов как выходы
//9 = redPin, 10 = greenPin, 11 = bluePin
}
}
const boolean ON = LOW;
//задаем включенное состояние как LOW
void loop(){
// (потому что мы используем RGB светодиод с setColor(ledDigitalOne, CYAN);
//задает цвет светодиода
// общим анодом) общий вывод подключен к +5В
const boolean OFF = HIGH;
//randomColor()
//задаем выключенное как HIGH
}
//Заданные цвета const boolean RED[] = {ON, OFF, OFF}; void randomColor(){
const boolean GREEN[] = {OFF, ON, OFF}; int rand = random(0, sizeof(COLORS) / 2); const boolean BLUE[] = {OFF, OFF, ON};
//возвращает случайное число из диапазона цветов const boolean YELLOW[] = {ON, ON, OFF}; setColor(ledDigitalOne, COLORS[rand]); const boolean CYAN[] = {OFF, ON, ON};
//задает цвет светодиода как случайный const boolean MAGENTA[] = {ON, OFF, ON}; delay(1000);
const boolean WHITE[] = {ON, ON, ON};
}
const boolean BLACK[] = {OFF, OFF, OFF}; void setColor(int* led, boolean* color){
//массив хранящий заданные цвета for(int i = 0; i < 3; i++){
const boolean* COLORS[] = digitalWrite(led[i], color[i]);
{RED, GREEN, BLUE,YELLOW, CYAN, MAGENTA,
}
WHITE, BLACK};
}
void setup(){
К
ОД
не надо набирать вручную,
Е
СТЬ
ЕЩЕ
ВОПРОСЫ
?

32
ЗАМЕТКИ
.:Место для записей:.

33
.:Место для записей:.
ЗАМЕТКИ

Эти материалы выпущены под лицензией
Attribution-Share Alike 3.0 Unported License. Чтобы ознакомиться с лицензией, посетите: http://creativecommons.org/licenses/by- sa/3.0/ или напишите в Creative Commons по адресу:
171 Second Street, Suite 300, San Francisco, California 94105, USA.
Creative Commons
www.oomlout.com
ARDX
набор для экспериментов arduino
1   2   3   4


написать администратору сайта