Unitas.ru

Сантехника водопровод
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Делаем бесконтактный переключатель с помощью Ардуино

Схема всех соединений ниже на изображении:

Сенсор расстояния имеет 4 контакта:

  • VCC
  • TRIG
  • ECHO
  • GND (земля)
  • VCC к 5В Ардуино
  • TRIG на цифровой контакт (в нашем случае контакт 3)
  • ECHO на другой цифровой контакт (в нашем случае контакт 4)
  • GND к GND

Подключите светодиод к цифровому выходу, он должен отличаться от других контактов.

Программируемый выключатель света с дистанционным управлением

Программируемый выключатель света с дистанционным управлением

2012-07-01 в 5:36, admin , рубрики: arduino, diy или сделай сам

Продолжение ранее опубликованных статей, первая, вторая.
В этой статье речь пойдет о программируемом выключателе света с дистанционным управлением. Как и прошлых проектах для отладки и прототипирования, я использую Carduino Nano V.7

Требуемый функционал

Возможность управлять выключателем любым бытовым ИК пультом управления.
Программировать выключатель на любую кнопку бытового ИК пульта управления.
Включать/выключать свет, как от клавиши выключателя, так и с пульта, не зависимо друг от друга.

Схема и комплектующие

Описание работы выключателя

Сначала добавляем в память выключателя код кнопки пульта управления. Для этого мы берем наиболее подходящий нам пульт управления (пульт от кондиционера не подойдет) и выбираем на нем свободную кнопку, которой Вы никогда не пользуетесь (обычно это цветные кнопки телетекста). Входим в режим программирования выключателя, для этого нужно нажать на клавишу вкл/выкл и подержать 5 секунд, раздастся длинный звуковой сигнал «Бип», после этого остается нажать ранее выбранную кнопку пульта и ваш выключатель готов к работе. Теперь выключатель света будет понимать добавленную в него команду Вашего ИК пульта. Код кнопки сохраняется в энергонезависимой памяти контроллера и будет храниться в памяти даже после отключения питания схемы.

Работу прототипа выключателя смотрите на видео

Читайте так же:
Lentel lts3902 ток подсветки

Код для контроллера Arduino

После отладки устройства на arduino, нарисовал окончательную схему будущего выключателя. Так как я уже писал ранее, что Arduino это удобное средство для отладки и написания кода, но для окончательной схемы он не подойдет.

Hex фаил для прошивки контроллера Atmega168
Блок питания можно использовать от зарядного устройства для мобильного телефона.
Схемы блоков питания.

Re: Ардуино — управление освещением, жалюзи, климатом.

Ну вот мой простейший скетч по регулированию яркости:

int jarkost ; //Значение яркости света
int knopkaDOWN = 0 ; //Кнопка «Уменьшить яркость»
int knopkaUP = 1 ; //Кнопка «Увеличить яркость»
int svet = 10 ; //Выходной сигнал на 10 пине

void setup ()
<
pinMode ( knopkaDOWN , INPUT );
pinMode ( knopkaUP , INPUT );
pinMode ( svet , OUTPUT );
jarkost = 0 ; // 0-выключено 255-максимум
>
void loop ()
<
if ( analogRead ( knopkaUP ) == HIGH && jarkost < 255 )

if ( analogRead ( knopkaDOWN ) == HIGH && jarkost > 1 )
<
delay ( 15 );
jarkost —;
>

analogWrite ( svet , jarkost );
>

  • Просмотр профиля
  • Сообщения форума
  • Личное сообщение

Администратор Регистрация 08.06.2007 Возраст 52 Сообщений 13,356 Вес репутации 10

Программа автоматического светильника

Аналоговый вывод датчика дает значения в диапазоне от 0 до 1023. Причем, 0 — для максимального уровня света и 1023 для полной темноты.

Сначала нам нужно определиться при каком уровне света включать лампу, а при каком выключать. В нашей лаборатории при свете дня датчик показывает значение L = 120, а ночью около L = 700. Будем включать реле при L > 600, и выключать при L < 200. Вспомним как работать с аналоговыми входами и напишем программу.

Загружаем программу на Ардуино и проводим эксперимент. Лучше всего это делать ночью.

Пошагово узнайте, как одновременно зажигать несколько светодиодов на Arduino

В этом пошаговом руководстве мы объясним как зажечь последовательность из нескольких светодиодов , моделируя эффект падающей звезды . В этом смысле последовательно загорится набор из 12 огней.

Читайте так же:
Розетка кабельная с электроникой тип c micro

Продолжайте читать, чтобы сделать это было легко:

Материалы для использования

  • 12 светодиодных фонарей (желтый, красный и зеленый цвета).
  • Один меню Ардуино Уно-R3 или Arduino Mega 2560.
  • Компьютер .
  • Un USB-кабель для принтера.
  • Карта разделочная доска для хлеба.
  • кабели для монтажа.
  • 12 резистора электрический 220 Ом .

Монтаж

Завершение сборки схемы впервые отображается в программе TinkerCad . Но перед этим необходимо подключить каждый светодиод . Для этого нужно знать, какие у них катод и анод. Как только вы все проясните, вам нужно используйте контакты 2-13 для подключения каждого из 12 светодиодов . Анод каждого светодиода подходит к определенному контакту, и катод всегда будет идти на землю .

Имейте в виду, что вы должны использовать макет чтобы помочь установить светодиоды и схему с помощью кабелей, а также резисторов. Как только схема будет собрана в TinkerCad, это пора начать разработку программы в Arduino IDE . Следует отметить, что IDE (Интегрированная среда разработки или Интегрированная среда разработки) это платформа, через которую вводятся коды.

Arduino IDE

  • Выберите плату Arduino, с которой вы работаете с Arduino Uno-R3 или Arduino Mega 2560.
  • Коснитесь последовательного порта. Под каким USB-портом Arduino будет подключаться к компьютеру.

Пришло время кодировать:

  • Первое, что нужно сделать, это дайте ему имя, относящееся к составу кода. Это делается через символ //(можно указать название практики или программы). Точно так же его можно использовать в качестве комментария в программе.
  • Тогда вам нужно объявить переменные . Вектор int pinArray [] = <2,3…>создан. Квадратные скобки указывают, что вектор объявлен. в настоящее время чтобы выбрать конкретный векторный ввод, utilisez pinArray [1] и это приведет к 3. Векторы в диапазоне IDE от 0 до n.
  • Сейчас самое время объявить целочисленные переменные которые определяют время, необходимое для включения одного света и другого (waitStart), количество светодиодов, которые загораются одновременно (длина хвоста) и количество светодиодов (размер линии). Все три имеют тип int.
  • Тогда на отрезке, соответствующем пустая настройка, это объявляется, что каждый компонент вектора pinArray относится к типу ВЫВОД . Делается это компактно с помощью петли для который идет от 0 до тех пор, пока i не станет меньше (It), чем количество светодиодов.
  • В сегменте пустая конфигурация, il указано, что количество отображаемых светодиодов в tailLength загорается. Затем с помощью оператора if устанавливается, что из светодиода tailLength активируется следующий, но последний в хвосте гаснет. Так что до конца количество светодиодов не достигнуто.
  • После завершения разработки программы необходимо скомпилировать, чтобы проверить, есть ли ошибки в кодировании . Если его нет, пора загрузить код на плату Arduino, чтобы он запустился.

Обратите внимание, что для что Arduino IDE понимает команды , точка с запятой (;) должен быть помещен в конце каждой инструкции . Наконец, мы расскажем о его внешнем виде в коде, чтобы вы могли увидеть, как описанные выше процедуры отражены в среде Arduino IDE.

Посмотрим:

В этом примере мы соберем небольшую схему, в которой Arduino используется для управления автоматическим реле. После загрузки скетча на микроконтроллер, реле включится на две секунды и отключится на две секунды. Это будет продолжаться, пока вы не отключите питание от вашей платы Arduino.

Схема подключения соответствует той, которую мы рассмотрели выше. Ниже представлен ее более наглядный вариант.

Схема подключения транзистора, реле и источника питания к Arduino

Скопируйте, вставьте скетч в Arduino IDE и загрузите его на Arduino.

Перед загрузкой программы отключите внешний источник питания.

// Тест: TIP122 и Arduino

int nRelayDrive = 0; // пин 0 у нас для управления реле

pinMode(nRelayDrive, OUTPUT); // объявляем реле в качестве выхода

digitalWrite(nRelayDrive, HIGH); // отключаем реле

digitalWrite(nRelayDrive, LOW); // включаем реле

digitalWrite(nRelayDrive, HIGH); // отключаем реле

Сравнение BH1750 и TSL2561

Спектр видимого света колеблется от 380 нм (фиолетовый) до 780 нм (красный) (в вакууме). Короче говоря, BH1750 просто измеряет это. TSL2561, помимо видимого спектра, также измеряет инфракрасное излучение. Он имеет два диода, один для видимого, а второй для инфракрасного. На мой взгляд, BH1750 соответствует большинству требований, тогда как TSL2561 предлагает более широкий спектр, большую чувствительность и большую точность.

Для сравнения, оба датчика были размещены параллельно в макете, один рядом с другим. Таким образом, можно получить практически одинаковое излучение на оба датчика.

Более подробно о том, как работать с TSL2561 в Ардуино, можете найти в отдельной статье Подключение цифрового датчика освещенности TSL2561 к Arduino.

Схема подключения TSL2561 и BH1750 к Arduino по I2C

На следующем рисунке показана схема подключения датчиков внешней освещенности TSL2561 и BH1750 к Arduino UNO.

Схема подключения TSL2561 и BH1750 к Arduino по I2C без ADDR

Пример скетча

Результат

По результатам TSL2561 и BH1750 дают практически идентичные показатели в одинаковых условиях. Это говорит о том, что сами датчики идут откалиброванными с завода.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector