Съдържание:

EF 230: Домашна система 3000 Инструкции: 4 стъпки
EF 230: Домашна система 3000 Инструкции: 4 стъпки

Видео: EF 230: Домашна система 3000 Инструкции: 4 стъпки

Видео: EF 230: Домашна система 3000 Инструкции: 4 стъпки
Видео: 5 НАСТОЯЩИХ УЖАСНЫХ ИСТОРИЙ НА РЫНКЕ Facebook 2024, Юли
Anonim
EF 230: Домашна система 3000 с инструкции
EF 230: Домашна система 3000 с инструкции

Home System 3000 е устройство, което използва Arduino, температурен сензор, пиезо зумер, оптичен детектор/фототранзистор и серво за показване на начини за подобряване на енергийната ефективност на дома.

Стъпка 1: Температурен сензор

Температурен сензор
Температурен сензор

· Проверете захранващите и заземяващите проводници от

микро контролера отстрани на дъската за хляб

· Поставете температурния сензор в дъската за хляб и прокарайте съответните захранващи и заземяващи проводници съответно

· Забележете, че температурният сензор има три зъба, а средният зъб има проводник, който минава от порта „A0“.

· Код за температурен датчик:

answer = questdlg ('Моля, стартирайте стартовия код на arduino и servo', 'response', 'Ok', 'Ok')

prompt = 'Натиснете произволен клавиш, за да започнете'

пауза

prompt1 = 'Задаване на минимална температура'

x = вход (подкана1)

prompt2 = 'Задаване на максимална температура'

y = вход (подкана2)

prompt3 = 'натиснете произволен клавиш, за да започнете'

пауза

фигура

h = анимирана линия;

ax = gca;

ax. YGrid = 'включен';

ax. YLim = [65 85];

стоп = невярно;

startTime = datetime ('now');

while ~ стоп

% Прочетете стойността на текущото напрежение

v = readVoltage (a, 'A0');

% Изчисляване на температурата от напрежението (въз основа на информационния лист)

TempC = (v - 0.5)*100;

TempF = 9/5*TempC + 32;

% Вземете текущото време

t = datetime ('now') - startTime;

% Добавяне на точки към анимацията

добавени точки (h, datenum (t), TempF)

% Актуализиране на осите

ax. XLim = datenum ([t-секунди (15) t]);

datetick ('x', 'keeplimits')

теглене

% Проверете състоянието на спиране

stop = readDigitalPin (a, 'D12');

Стъпка 2: Звуков сигнал

Звуков сигнал
Звуков сигнал

· Кабел в зумера, който ще се използва за сигнализиране на екстремно висока или екстремна ниска температура

· Не се провежда проводник от положителната колона към положителната страна на зумера

· Вместо това проводник се провежда от положителната страна на зумера до порт, обозначен с "11"

Това ще се използва по -късно за извикване на местоположението на зумера в написания код.

· Код за зумера:

ако TempF> = y

disp ('затвори вратата е горещо')

playTone (a, 'D11', 500, 1)

иначе TempF <= x

disp ('затвори вратата, студено е')

playTone (a, 'D11', 250, 1)

край

край

Стъпка 3: Оптичен детектор/фототранзистор

Оптичен детектор/фототранзистор
Оптичен детектор/фототранзистор

· Този сензор изисква съпротивления за разлика от другите

· Уверете се, че и четирите зъба на сензора са включени в контура след включване на проводниците

· Сензорът открива промяна в светлината, представляваща движение, и я записва като вход

· Код за оптичен детектор/фототранзистор:

изчисти а

a = arduino ('/dev/tty.usbserial-DN01DVI2', 'Uno', 'Библиотеки', 'Серво');

prompt = 'Задайте праг на нивото на осветеност'

z = вход (подкана)

lightLevel = 0

докато lightLevel ~ = -1

lightLevel = readVoltage (a, 'A1')

ако lightLevel> = z

answer = questdlg ('бихте ли искали да промените AC?', 'Да', 'Не')

превключване на отговор

случай „Да“

answer2 = questdlg ('Включване на AC нагоре или надолу?', 'отговор', 'Надолу', 'Нагоре', 'Нагоре')

превключване на отговор 2

случай „надолу“

s = серво (a, 'D10');

за ъгъл = 0:.1:.5

writePosition (s, ъгъл);

current_position = readPosition (s);

текуща_позиция = текуща_позиция * 180;

% печата текущата позиция на серво мотора

fprintf ('Текущата позиция е %d / n', текуща_позиция);

% е необходимо малко забавяне, за да може серво да се позиционира на

% ъгъл, казан към него.

пауза (2);

край

% върнете двигателя в позиция 0 ъгъл

writePosition (s, 0);

ясно s

prompt = 'Натиснете произволен клавиш, за да продължите'

questdlg ('AC изключен', 'отговор', 'Добре', 'Добре')

случай "нагоре"

s = серво (a, 'D10');

за ъгъл =.5:.1: 1

writePosition (s, ъгъл);

current_position = readPosition (s);

текуща_позиция = текуща_позиция * 180;

% печата текущата позиция на серво мотора

fprintf ('Текущата позиция е %d / n', текуща_позиция);

Необходимо е % малко забавяне, за да може серво да се позиционира на

% ъгъл, казан към него.

пауза (2);

край

Стъпка 4: Серво

Серво
Серво

· Сервото представлява

климатик и е изход от входа за откриване на движение

· Изисква положителен проводник, заземен проводник и проводник от порт "D9" към серво

· Код за серво:

% върнете двигателя в позиция 0 ъгъл

writePosition (s, 0);

ясно s

prompt = 'Натиснете произволен клавиш, за да продължите'

questdlg ('AC се появи', 'отговор', 'Добре', 'Добре')

край

край

пауза

прекъсване

край

край

*Специална забележка: част от кода за серво е интегриран с кода за оптичния детектор/фототранзистор.

Препоръчано: