Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.01.2018, 21:43   #1
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Стробоскоп на arduino с регулировкой частоты

Стробоскоп из светодиодной лампы, был сделан для того, что бы показать ребенку как работает камера, телевизор и пр.
В прошлом видео я показывал ему как сделать левитацию воды, при помощи стробоскопа


А теперь собственно о самом стробоскопе:
Стробоскоп собран на arduino nano и из старой, неисправной led лампы.
Частота стробоскопа регулируется энкодером.
При обычном вращении вперед или назад, частота стробоскопа изменяется с шагом 1 Гц.
Если нажать и крутить энкодер, то частота изменяется с шагом 10 Гц.
Начальная частота при включении ардуино 25 Гц.
В скетче все эти параметры можно поменять, они подписаны
Стробоскоп подойдет как для дискотеки, так и для домашних экспериментов.

Схема стробоскопа:
Нажмите на изображение для увеличения
Название: энкодер.jpg
Просмотров: 975
Размер:	54.8 Кб
ID:	4761

Комплектующие:
Arduino - 1 шт.
Энкодер - 1 шт.
Старая Led лампа -1 шт.
Транзистор КТ972, эмиттер транзистора на GND ардуины. Можно использовать модуль MOSFET
Конденсаторы керамические 0,1 мкФ - 3 шт.

Скетч для ардуино:
PHP код:
// https://duino.ru
#define encoder0PinA 2 // подключен пин А энкодера
#define encoder0PinB 3 // подключен пин В энкодера
#define encoder0Button 4 // подключена кнопка энкодера
#define led_pin 12        // подключен светодиод
#define step_freq 1     // шаг изменения частоты плавно в Гц
#define step_freq_rough 10     // шаг изменения частоты грубо в Гц
#define time_light 2    // время экспозиции или время свечения светодиода в мс
volatile int freq 25// частота в Гц

void setup() 
{   
  
pinMode(led_pinOUTPUT);
  
pinMode(encoder0PinAINPUT_PULLUP);
  
pinMode(encoder0PinBINPUT_PULLUP);
  
pinMode(encoder0ButtonINPUT_PULLUP);
  
attachInterrupt(0EncoderAFALLING);  // настроить прерывание interrupt 0
  
attachInterrupt(1EncoderBFALLING);  // настроить прерывание interrupt 1


void loop()

    
digitalWrite(led_pin1);
    
delay(time_light);                   
    
digitalWrite(led_pin0);
    if(
freq 1freq=1
    
delay(1000/freq-time_light);
}

void EncoderA() // обработка прерывания
{
  if(!
digitalRead(encoder0Button) && digitalRead(encoder0PinA)) { freq+=step_freq*step_freq_rough; } //грубая настройка частоты
  
else
  if(
digitalRead(encoder0PinB)) {freq+=step_freq;}  //плавная настройка частоты
}  

void EncoderB() // обработка прерывания
{
  if(!
digitalRead(encoder0Button) && digitalRead(encoder0PinA)) { freq-=step_freq*step_freq_rough; } //грубая настройка частоты
  
else
  if( 
digitalRead(encoder0PinA)) { freq-=step_freq; }   //плавная настройка частоты

Видео тестирования стробоскопа

Не забывайте подписываться на канал

Будут вопросы задавайте в этой теме, в личке спрашивать не нужно.
Admin вне форума   Ответить с цитированием
 


Здесь присутствуют: 5 (пользователей: 0 , гостей: 5)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 21:35. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика