Резюме.
Светодиодный светильник, работающий через приложение для iPhone. Apple не позволяет создавать собственные приложения для iPhone. Единственный способ, который я нашел, чтобы управлять Bluetooth с помощью моего телефона, был с Dabble.
Вы должны скачать приложение Dabble на свой телефон.
Я использовал:
Общий анодный RGB-свет и резистор сопротивлением 100 кОм на каждом выводе.
Модуль Bluetooth: HM-10.
Ардуино Нано.
Шилд расширительной платы Nano I/O Breakout.
Щит используется для того, чтобы NANO можно было удалить для других проектов.
Bluetooth подключен с помощью небольшой печатной платы и контактных выводов - это позволяет легко извлечь Bluetooth.
Резисторы прикреплены с помощью небольшой печатной платы - это сделано для того, чтобы провода были аккуратными.
LED-ноги подключены к NANO-контактам 5, 6 и 9 - красный, зеленый, синий - нога заземления подключена к земле. Резистор 100К находится в последовательном соединении с каждой цветной ногой.
HM-10 VCC на NANO 3,3 вольта.
GND к заземлению NANO.
TXD к NANO, контакт 2.
RXD к контакту 3 NANO.
DABBLE использует контакты 2 и 3 для TXD и RXD - это умная настройка, которая позволяет загружать скетчи без отключения HM-10 (обычно Arduino использует TXD и RXD при загрузке скетчей).
Откройте Arduino IDE и включите DABBLE.
Добавьте LedControlModule.h в код (см. фото).
Код:
Определите CUSTOM_SETTINGS.
Определите модуль INCLUDE_GAMEPAD_MODULE.
Включить.
//Правый двигатель.
Инт Red=5;
Инт Грин=9;
Инт Blue=6;
//int L=0;
//int H=255;
void setup()
{
// Поместите свой код настройки здесь, чтобы запустить его один раз:
pinMode(Красный, ВЫХОД);
pinMode(Green,OUTPUT);
pinMode(Blue,OUTPUT);
AnalogWrite(Red,0);
AnalogWrite(Green, 0);
AnalogWrite(Blue,0);
Serial.begin(9600);
Dabble.begin(9600, 2, 3);
)
void loop()
{
Dabble.processInput();
если (GamePad.isUpPressed())
{
//Красный свет.
Serial.println("Вверх");
AnalogWrite(Red,255);
AnalogWrite(Green, 0);
AnalogWrite(Blue,0);
)
если (GamePad.isDownPressed())
{
//Синий свет.
Serial.println("Вниз");
AnalogWrite(Red,0);
AnalogWrite(Green, 0);
AnalogWrite(Blue, 255);
)
если (GamePad.isLeftPressed())
{
//Зеленый свет.
Serial.println("Лево");
AnalogWrite(Red,0);
AnalogWrite(Green,255);
AnalogWrite(Blue,0);
)
если (GamePad.isRightPressed())
{
//Фиолетовый свет.
Serial.println("Правильно");
AnalogWrite(Red,255);
AnalogWrite(Green, 0);
AnalogWrite(Blue, 255);
)
если (GamePad.isTrianglePressed())
{
//Низкий красный свет.
Serial.println("треугольник");
AnalogWrite(Red,50);
AnalogWrite(Green, 0);
AnalogWrite(Blue,0);
)
если (GamePad.isCrossPressed())
{
//Синий свет.
Serial.println("Крест");
AnalogWrite(Red,0);
AnalogWrite(Green,100);
AnalogWrite(Blue, 255);
)
если (GamePad.isSquarePressed())
{
// Светло-фиолетовый свет.
Serial.println("Квадрат");
AnalogWrite(Red,50);
AnalogWrite(Green, 0);
AnalogWrite(Blue,50);
)
если (GamePad.isCirclePressed())
{
//Светло-голубой свет.
Serial.println("Круг");
AnalogWrite(Red,0);
AnalogWrite(Green, 0);
AnalogWrite(Blue,50);
)
если (GamePad.isSelectPressed())
{
Serial.println("Выберите");
AnalogWrite(Red,0);
AnalogWrite(Green, 0);
AnalogWrite(Blue,0);
)
если (GamePad.isStartPressed())
{
//Белый свет.
Serial.println("Начать");
AnalogWrite(Red,222);
AnalogWrite(Green,222);
AnalogWrite(Blue,222);
)
)
标签
模型来源
