Мазмұны:
- 1 -қадам: материалдар мен материалдар
- 2 -қадам: тақтаны орнату
- 3 -қадам: кодты жазу
- 4 -қадам: кодты көшіріңіз
- 5 -қадам: Нәтижелер
Бейне: Шөлдегі темір жолдың температура детекторы мен жолаушыларды есептегіш: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Мақсаты:
Температура: Бұл нұсқаулық сізге теміржолдың температурасын анықтау үшін Arduino RedBoard тақтасын (MATLAB көмегімен) орнатуды және бағдарламалауды үйретеді. Жолаушыларға қауіпті температураға жеткенде, ескерту хабары шығады, дыбыстық сигналдар сөнеді және ескерту белгісі жанады.
Жолаушылар есептегіші: Бұл бөлім жолаушыларды санау және максималды сыйымдылыққа жеткенде ескертуді беру үшін түймені қолдануға үйретеді.
Ерекше өзгешеліктері:
- Пойызға кіретін жолаушыларды санау үшін батырманы қолданады
- Темір жолдың температурасын анықтау үшін TMP36 (температура сенсоры) қолданады
- Теміржол вокзалына ескерту үшін қызыл жарықдиодты шамды қолданады
- Дабыл беру үшін дыбыстық сигналдарды қолданады
- Уақыт пен температураның графигі бар ескерту электрондық поштаны жібереді
- MATLAB-те қалқымалы ескерту хабарламалары
1 -қадам: материалдар мен материалдар
- 1 ноутбук
- MATLAB 2017
- Arduino құралдар тақтасын жүктеңіз
- Sparkfun RedBoard
- 1 Қуат кабелі
- Breadbord
- 14 сым
- 1 Piezo Buzzer
- 1 Басу түймесі
- 2 10км резистор
- 1 TMP36 датчигі
- Қызыл жарықдиодты шам
- 3D басып шығарылған белгі (міндетті емес)
2 -қадам: тақтаны орнату
Жоғарыдағы орнатуды орындаңыз
3 -қадам: кодты жазу
Цикл кезінде: код температураны тексеруді жалғастырады және түйменің күйін сезеді (басылған немесе басылмаған), біз кодты уақытша циклге белгіленген уақыт кезеңіне орналастырамыз.
TMP36 пайдалану: Біз температураны кернеуді оқу және оны Фаренгейт градусына түрлендіру арқылы түрлендіру коэффициенттерін қолдана отырып анықтаймыз. Содан кейін, егер біз температура белгіленген максималды температурадан жоғары немесе оған тең болса, дыбысты және дыбысты ойнату/ескерту жіберу үшін if операторын қолданамыз.
Түймені қолдану: if операторының көмегімен біз батырманың readDigitalPin көмегімен басылғанын тексере аламыз. Бұл команда логикалық мәнді қайтарады (1 немесе 0). Егер жауап 0 болса, онда түйме басылды және жолаушылар санағышы ұлғайып, сәлемдесу хабарламасын көрсетеді. Содан кейін, максималды сыйымдылыққа жеткенде, ескерту хабары шығады.
4 -қадам: кодты көшіріңіз
%Кірістер: түймені басу, температура сенсоры
%Шығу: шамдар, дыбыстық сигналдар, дыбыстық ескерту, электрондық пошталар, графиктер
%Мақсаты: Бұл өнім пойызбен шөл арқылы саяхаттайтын жолаушылардың қауіпсіздігі мен жайлылығын қамтамасыз етуге көмектесуге арналған.
Пайдалану: жолаушылар санын батырманың көмегімен анықтау, %температура сенсоры арқылы жылуды анықтау және оны графикпен салу, %жолаушы нөмірін де, температура кестесін де вокзалға жібереді.
configurePin (a, 'D2', 'pullup'); %болашақ шығарылымдарда configurePin пайдаланады
уақыт = 200;
e = 0;
x = 0
уақыт> 0
button_status = readDigitalPin (a, 'D2'); Түйме басылғанда % нөлге тең, әйтпесе 1 -ге тең
кернеу = readVoltage (a, 'A0');%түйреуіш оны қайда орналастыратындығымызға байланысты
tempCelcius = (кернеу*100) -50; %сенсорлық нұсқаулықта берілген
tempF (уақыт) = (tempCelcius*1.8) +32 %белгілі түрлендіру формуласы
максимум = 120; %градус F
writeDigitalPin (a, 'D11', 1);
rem = мод (e, 2);
егер tempF (уақыт)> = макс
writeDigitalPin (a, 'D11', 0);
writeDigitalPin (a, 'D9', 1);
playTone (a, 'D9', 2400,.5)
кідірту (.5)
writeDigitalPin (a, 'D6', 1)
playTone (a, 'D6', 1000,.5)
кідірту (.5)
writeDigitalPin (a, 'D9', 1);
playTone (a, 'D9', 2400,.5)
кідірту (.5)
writeDigitalPin (a, 'D6', 1)
playTone (a, 'D6', 1000,.5) %«сиренаны» ойнайды
z = 'Қызып кету.m4a'; %Бұл дыбыстық файлды айнымалыға қояды
[деректер, жиілік] = аудио оқу (z); %Дыбыстық файлдан деректерді жүктейді
o = аудиоплейер (деректер, жиілік); %Аудио файлды ойнатуды басқару үшін объект жасайды
o.play () %Аудио файлды ойнатады
o.playblocking () %Файлды ойнатады және оның аяқталуын күтеді
Соңы
егер button_status == 0 && rem == 0
e = e+1
msgbox ('Бортқа қош келдіңіз!');
elseif button_status == 0 && rem == 1
e = e+1
msgbox ('Bienvenido a bordo!');
Соңы
егер e == 5
writeDigitalPin (a, 'D11', 0);
егер x == 0 болса
playTone (a, 'D6', 600, 1);
s = 'Warning_EF.m4a'; %Бұл дыбыстық файлды айнымалыға қояды
[деректер, жиілік] = аудио оқу (лар); %Дыбыстық файлдан деректерді жүктейді
o = аудиоплейер (деректер, жиілік); %Аудио файлды ойнатуды басқару үшін объект жасайды
% o.play () % Аудио файлды ойнатады
o.playblocking () %Файлды ойнатады және оның аяқталуын күтеді
msgbox ('Максималды сыйымдылық')
x = x+1
Соңы
басқаша e> = 6
playTone (a, 'D6', 2400, 0);
Соңы
уақыт = уақыт - 1;
% кідіріс (0,1);
% егер e == 5 && max (tempF)> = 120 болса
% уақыт = 0
% Соңы
Соңы
ee = num2str (e)
t = [1: 200];
tempF2 = fliplr (tempF);
сюжет (t, tempF2);
тақырып ('Уақыт температураға қарсы')
ylabel ('Температура (F)')
xlabel ('Time (s)')
сақтау (gcf, 'tempplot.jpg')
пошта = '[email protected]'
пароль = 'Srsora123#'
хост = 'smtp.gmail.com'
setpref ('Интернет', 'SMTP_Server', хост);
setpref ('Интернет', 'E_mail', пошта);
setpref ('Интернет', 'SMTP_Username', пошта);
setpref ('Интернет', 'SMTP_Password', құпия сөз);
реквизиттер = java.lang. System.getProperties;
props.setProperty ('mail.smtp.auth', 'true');
props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory');
props.setProperty ('mail.smtp.socketFactory.port', '465');
sendmail (пошта, 'Сәлем теміржол вокзалы! Пойызда көптеген жолаушылар бар', ee, 'tempplot.jpg')
5 -қадам: Нәтижелер
Ұсынылған:
Темір жолдың автоматты туннельдік шамдары: 5 қадам
Темір жолдың автоматты туннельдік шамдары: Бұл менің сүйікті тақта. Менің модельдік темір жол схемасында (әлі де жүріп жатыр) бірнеше туннельдер бар, бірақ, мүмкін, прототиптік емес, мен туннель шамдарының болуын қаладым, олар пойыз туннельге жақындағанда қосылады. Менің бірінші импульсім болды
DHT11 температура сенсорын Arduino мен басып шығару температурасы мен жылу мен ылғалдылықта қалай қолдануға болады: 5 қадам
DHT11 температура сенсоры Arduino мен басып шығару температурасы бар жылу мен ылғалдылықта қалай қолданылады: DHT11 сенсоры температура мен ылғалдылықты өлшеу үшін қолданылады. DHT11 ылғалдылық пен температура сенсоры электрониканың өте танымал әуесқойлары, DIY электроникасының жобаларына ылғалдылық пен температура туралы мәліметтерді қосуды жеңілдетеді. Бұл әр
Темір жолдарды қорғау үшін Arduino -да температура, жаңбыр суы және діріл сенсорларын қолдану: 8 қадам (суреттермен)
Темір жолдарды қорғау үшін Arduino-дағы температура, жаңбыр суы және діріл датчиктерін қолдану: Қазіргі қоғамда теміржол жолаушыларының көбеюі темір жол компаниялары сұранысты қанағаттандыру үшін желілерді оңтайландыру үшін көп жұмыс жасауы керек дегенді білдіреді. Бұл жобада біз температура, жаңбыр суы мен діріл сенсорларының қалай болатынын шағын көлемде көрсететін боламыз
Найзағай детекторы мен есептегіш: 8 қадам (суреттермен)
Найзағай детекторы мен есептегіш: Мен әрқашан жарық детекторын жасағым келді, бірақ схемалар менің мүмкіндіктерімнен сәл асып кетті. Жақында мен торда серуендеп жүргенде найзағайдың түсуін есептейтін өте керемет схеманы кездестірдім! Қарағаннан кейін
$ 10ish DIY айнымалы температура дәнекерлеу темір контроллері: 3 қадам (суреттермен)
10 долларлық DIY айнымалы температуралық дәнекерлеуші контроллері: Бұл нұсқаулық сізге Radioshack «өрт сөндіргішін» дәнекерлеу үтігін бөлшектері шамамен 10 доллар болатын температураның ауыспалы нұсқасына қалай айналдыру керектігін көрсетеді. Бұл идея маған 30 Вт қолданатындықтан, тақтадағы іздерді көтере бастағаннан кейін келді