Самоделки своими руками

Самые лучшие полезные самоделки рунета! Как сделать самому, мастер-классы, фото, чертежи, инструкции, книги, видео.


Строительные калькуляторы Расчеты онлайн
5 новых самоделок!
04.12.2017
Как сделать самому кухонный диванчик. Приведена конструкция каркаса мягкого углового диванчика с нишей.
04.12.2017
Строительство хозяйственного блока на даче своими руками. Отличный отчет на 21 фото с описанием автора.
04.12.2017
Небольшой мастер-класс по изготовлению основательного водоема на дачном участке, как элемента ландшафтного дизайна
04.12.2017
Как самому сделать отличную лавочку со столом на даче. Сделай себе и своей семье это классное место для отдыха!
04.12.2017
Как сделать очень простой винтажный поднос с кожаными ручками. Женский мастер-класс для Вас!
Следи за новыми самоделками!

Самоделки добавить в закладки

   Добавить в Закладки!


Добавить виджет Евросамоделки на Яндекс


Новые видео-самоделки
12.11.2017
Сделай себе такой нужный столярный инструмент для своей домашней мастерской! Изготовление скобеля своими руками. Пошаговый мастер-класс с фото и видео!
02.09.2017
Видео мастер-класс по самостоятельному изготовлению симпатичной и удобной стойки из фанеры для болгарки
18.06.2017
Представляем Вашему вниманию очень крутую видеоподборку по самоделкам к мотоблоку:
1. Картофелесажалка для мотоблока своими руками
2. Самодельные культиваторы для мотоблока
3. Самодельные плоскорезы для мотоблока
4. Самодельный окучник для мотоблока
5. Самодельные косилки для мотоблока
6. Самодельные грунтозацепы для мотоблока
7. Самодельная картофелекопалка для мотоблока
8. Самодельный дровокол для мотоблока
9. Самодельный снегоуборщик к мотоблоку
10. Самодельная сеялка для мотоблока
11. Самодельный прицеп к мотоблоку


Автоматическая подсветка лестницы с помощью Arduino




Автоматическая подсветка лестницы с помощью Arduino

(чертежи, схемы, руководство, видео)

 

Автоматическая подсветка лестницы с помощью Arduino  (чертежи, схемы, руководство, видео)

 

Добрый день! В этом посте хочу поделится с хабро сообществом о том, как мне довелось сделать автоматическое освещение лестницы в своем двухэтажном коттедже. Начну с небольшого грустного отступления.
 
Около четырех месяцев назад, возвращаясь с работы в полной темноте, я не удачно подскользнулся и сломал две плюсниевых кости (пальца) на левой ступне. Целый месяц пришлось провалятся в постели, так как наступать на ногу было невероятно больно. Потом еще пол месяца хромал без гипса (у кого были переломы меня сразу поймут). После этой печальной истории я начал задумываться об автоматизации освещения ступенек лестницы. Немного поиграв с поисковыми запросами, нашел для себя очень простое решение в этом блоге, как раз на основе моего любимого микроконтроллера Arduino. Схема не вызвала каких то трудностей, но отпугивало количество и длина проводов, которые мне предстояло смонтировать. До этого ничего подобного не делал. Покупать готовые решения или нанимать кого-то — накладно. В течении месяца заказал нужные комплектующие и не торопясь смонтировал за несколько дней на свою лестницу. Всем кому интересно, что из этого получилось, добро пожаловать!

 
Компоненты:
 
Приведу примерную стоимость всех компонентов, которые были использованы в работе. Большинство комплектующих куплены в магазинах моего города поэтому все в рублях.Arduino Pro Mini  300 р

Ultrasonic Module HC-SR04 Distance Sensor — 2 шт          230 р

Драйвер светодиодов M5450         88 р

Регулятор напряжения L78M05CV            26 р

Фоторезистор ФР-764         16 р

Кабель-канал 20x10 мм — 10 М     100 р

Провод 2x0,12 — 100 М (с запасом для лент)      190 р

Провод 4x0,12 — 20 М (для сенсоров)      60 р

Светодиодная лента LSP0603W15 White — 17 шт по 30 см       1020 р

Мелочевка: текстолит 15x15 см, хлорное железо, сверло 0,9 мм,

 штыревые соединители типа PLS, разъемы на плату BLS, термоусадочная трубка,

 конденсаторы и резисторы            200 р

Блок питания 12В (он же корпус) от сигнализации «Парус 4»  Бесплатно

 

 

Программный код:

 

#include "lightuino3.h"

#include "Ultrasonic.h"

 

//Устанавливаем контакты для первого датчика

#define  TRIG_PIN  12

#define  ECHO_PIN  13

//Устанавливаем контакты для второго датчика

#define  TRIG2_PIN  10

#define  ECHO2_PIN  11

//Определяем первый датчик

Ultrasonic OurModuleUp(TRIG_PIN, ECHO_PIN);

//Определяем второй датчик

Ultrasonic OurModuleDown(TRIG2_PIN, ECHO2_PIN);

// pins 0, 1 used by Serial

const unsigned char DataPin = 6;

const unsigned char clockPin = 7;

 

// задержка между ступеньками

const long lightSpacing = 280;

//задержка свечения всей лестницы

const long lightHold = 10000;

//задержка выстрела сенсоров

const long pingReadDelay = 50;

 

// Диапазон при котором сработает сенсор

const float minBottomIn = 33.0f;

const float minTopIn = minBottomIn;

 

LightuinoSink sinks(clockPin, DataPin, 100, 4);

 

boolean bClimbStarted = false;

boolean bDescentStarted = false;

 

int val;

void setup() {

  Serial.begin(9600);       

  pinMode(DataPin, OUTPUT);

  pinMode(clockPin, OUTPUT);     

  delay(1000);  

  sinks.set(0,0,0);

}

 

void loop() {

   val = analogRead(0);

   //Проверяем освещенность в помещении

   if (val>=1020){

 

 UltrasonicDownFire();//Выстрел нижнего датчика 

  if(bClimbStarted) {

    bClimbStarted = false;

    bDescentStarted = false;

    climbLightSequence();

  }

  else {

    // Выстрел верхнего датчика

    UltrasonicUpFire();   

    if(bDescentStarted) {

      bClimbStarted = false;

      bDescentStarted = false;

      descentLightSequence();

    }

  }

  delay(pingReadDelay); 

  }

}

 

//Обработка верхнего датчика

void UltrasonicUpFire() {

 

if((OurModuleUp.Ranging(INC) < minTopIn) && (OurModuleUp.Ranging(INC) > 0))

{

// Serial.println("Top sensor tripped.");

bDescentStarted = true;

}

}

 

//Обработка нижнего датчика]

void UltrasonicDownFire() {

 

    if((OurModuleDown.Ranging(INC) < minTopIn) && (OurModuleDown.Ranging(INC) > 0)) {

   //   Serial.println("Bottom sensor tripped.");

      bClimbStarted = true;

    }

}

 

void climbLightSequence(){

LedsOnDown();

}

void LedsOnDown(){

  //Обнуляем

   byte ledState[9];

  for (int j=0;j<9;j++) {

    ledState[j] = B00000000;

  }

  //Зажигаем

  for (int k=1;k>=0;k--)

  {

  for (int j=8;j>=1;j--)   

  {

   ledState[k] = (ledState[k] >> 1) + 128;

    sinks.set(ledState);

    delay(lightSpacing);

  }

     }

//Задержка

  delay(lightHold);

//Гасим  

  for (int k=1;k>=0;k--)

  {

  for (int j=8;j>=1;j--)   

    {

    ledState[k] = (ledState[k] >> 1);

    sinks.set(ledState);

    delay(lightSpacing);

    }

  }

 delay(pingReadDelay); 

}

 

void descentLightSequence(){

  LedsOnUp();

}

 

void LedsOnUp(){

 //Обнуляем

  byte ledState[9];

  for (int j=0;j<9;j++) {

    ledState[j] = B00000000;

  }

 //Зажигаем

  for (int k=0;k<=1;k++)

  {

  for (int j=0;j<9;j++)   

  {

    ledState[k]=(ledState[k] << 1) + 1;

    sinks.set(ledState);         

     delay(lightSpacing);

  }    }

  delay(lightHold);

  for (int k=0;k<=1;k++)

  {

  for (int j=0;j<9;j++)   

  {

    ledState[k]=(ledState[k] << 1);

    sinks.set(ledState);         

     delay(lightSpacing);

  }   

}

 delay(pingReadDelay); 

}

 

 

Пример страниц:

 

Автоматическая подсветка лестницы с помощью Arduino  (чертежи, схемы, руководство, видео)

Скачать:

Автоматическая подсветка лестницы.pdf (327 кБ)

 

Видео:


 

 




Рекомендуемые статьи для Вас






Оценить самоделку, мастер-класс, идею. Комментарии




Вверх
Вниз
Лучшие самоделки месяца