/** * (C) jarduino.ru * * Эксперимент № 14. ИК пульт дистанционного управления * * Эксперименты с ардуино. * Управление arduino с помощью ИК пульта ДУ */ #include <IRremote.h> // подключаем библиотеку для ИК приемника // Константы программы const int irPin = A0; // аналоговый порт для ИК приемника const int ledPin = 13; // порт для светодиода // Глобальные переменные bool ledState = false; IRrecv irRec(irPin); // Инициализируем объект ИК приемника decode_results irData; // переменная для получения данных от ИК приемника void setup() { Serial.begin(9600); // Иницилизация последовательного порта, для вывода отладочной информации irRec.enableIRIn(); // запускаем прием инфракрасного сигнала pinMode(ledPin, OUTPUT); } void loop() { if (irRec.decode(&irData)) // Получение данных с ИК приемник { // Данные пришли - анализируем, выполняем команды с пульта: Serial.println(irData.value); // выводим полученные данные на порт if (irData.value == 16738455) // соответветствует цифре 1 на пульте { ledState = !ledState; // переключить состояние светодиода digitalWrite(ledPin, ledState); // обновить состояние светодиода } irRec.resume(); // принимаем следующий сигнал на ИК приемнике } delay(100); // небольшая пауза, 0,1 сек. }
Рубрика: Скетчи Ардуино
Готовые скетчи ардуино помогут вам быстро собрать собственный проект. Даже если они вам не подойдут как есть, они послужат хорошим примером и началом для вашего изделия.

Скетч. Эксперимент №13. Сенсор вибраций
/** * (C) jarduino.ru * Эксперимент № 13. Сенсор вибраций. Title switch sensor. * * Эксперименты с ардуино. */ const int tiltPin = 5; const int ledPin = 8; void setup() { pinMode(ledPin, OUTPUT); } void loop() { if (analogRead(tiltPin) > 512) // Если напряжение на пине сенсора больше чем 512 единиц(т.е. 2,5V) ... { digitalWrite(ledPin, LOW); // включить светодиод } else // Иначе ... { digitalWrite(ledPin, HIGH); // вылючить светодиод } }

Скетч. Эксперимент №12. Датчик температуры LM35
/** * Эксперимент № 12. Датчик температуры LM35 * Простейший цифровой термометр. * Изучение ардуино через опыты. */ void setup() { Serial.begin(9600); // Инициализация последовательно порта } void loop() { const int val = analogRead(0); // Прочесть текущее значение температуры const int dat = (125 * val) >> 8; // Перевести полученное значение в градусы // Вывести температуру в последовательный порт: Serial.print("Tep:"); Serial.print(dat); Serial.println("C"); delay(500); // Задержка в 0,5 секунды }