უდაბნოს რკინიგზის ტემპერატურის დეტექტორი და მგზავრების მრიცხველი: 5 ნაბიჯი
უდაბნოს რკინიგზის ტემპერატურის დეტექტორი და მგზავრების მრიცხველი: 5 ნაბიჯი
Anonim
უდაბნოს რკინიგზის ტემპერატურის დეტექტორი და მგზავრების მრიცხველი
უდაბნოს რკინიგზის ტემპერატურის დეტექტორი და მგზავრების მრიცხველი

მიზანი:

ტემპერატურა: ეს ინსტრუქცია გასწავლით თუ როგორ უნდა შექმნათ და დაპროგრამდეთ Arduino RedBoard (MATLAB- ის გამოყენებით) რკინიგზის ტემპერატურის დასადგენად. როდესაც მგზავრებისთვის საშიში ტემპერატურა მიიღწევა, გამაფრთხილებელი შეტყობინება ისმის, ზუზუნები ჩაქრება და გამაფრთხილებელი ნიშანი ანათებს.

მგზავრების მრიცხველი: ეს ნაწილი გასწავლით თუ როგორ გამოიყენოთ ღილაკი, რათა დაითვალოთ მგზავრები და გააფრთხილოთ გაფრთხილება, როდესაც მიაღწევს მაქსიმალურ ტევადობას.

Მახასიათებლები:

  • იყენებს ღილაკს მატარებელში შესული მგზავრების დასათვლელად
  • იყენებს TMP36 (ტემპერატურის სენსორს) რკინიგზის ტემპერატურის დასადგენად
  • იყენებს წითელ LED ნათურას მატარებლის სადგურის გაფრთხილების მიზნით
  • იყენებს ზუზუნს განგაშის გასაგზავნად
  • აგზავნის გამაფრთხილებელ ელ.წერილს ტემპერატურისა და დროის ნაკვეთთან ერთად
  • ამომხტარი გამაფრთხილებელი შეტყობინებები MATLAB- ზე

ნაბიჯი 1: მასალები და მასალები

მასალები და მასალები
მასალები და მასალები
  • 1 ლეპტოპი
  • MATLAB 2017
  • ჩამოტვირთეთ Arduino Toolbox
  • Sparkfun RedBoard
  • 1 დენის კაბელი
  • პურის ბორდი
  • 14 მავთული
  • 1 პიეზო ბუზერი
  • 1 ღილაკი
  • 2 10k ohm რეზისტორი
  • 1 TMP36 სენსორი
  • წითელი LED ნათურა
  • 3D დაბეჭდილი ნიშანი (სურვილისამებრ)

ნაბიჯი 2: დაფის დაყენება

დაფის დაყენება
დაფის დაყენება

მიჰყევით ზემოთ მითითებულ პარამეტრებს

ნაბიჯი 3: კოდის წერა

სანამ მარყუჟი: იმის უზრუნველსაყოფად, რომ კოდი აგრძელებს ტემპერატურის შემოწმებას და ღილაკის სტატუსის შეგრძნებას (დაჭერილი ან დაპრესილი), ჩვენ ვათავსებთ კოდს while მარყუჟში განსაზღვრული დროის განმავლობაში.

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');%pin დამოკიდებულია იმაზე, თუ სად მოვათავსებთ მას

tempCelcius = (ძაბვა*100) -50; %მოცემულია სენსორის სახელმძღვანელოში

tempF (დრო) = (tempCelcius*1.8) +32 %ცნობილი კონვერტაციის ფორმულა

max = 120; %გრადუსი F

writeDigitalPin (a, 'D11', 1);

rem = mod (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'; ეს აყენებს ხმის ფაილს ცვლადში

[მონაცემები, სიხშირე] = audioread (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

დასასრული

elseif e> = 6

playTone (a, 'D6', 2400, 0);

დასასრული

დრო = დრო - 1;

% პაუზა (0.1);

% თუ e == 5 && max (tempF)> = 120

% დრო = 0

% დასასრული

დასასრული

ee = num2str (ე)

t = [1: 200];

tempF2 = fliplr (tempF);

ნაკვეთი (t, tempF2);

სათაური ('დრო ტემპერატურის წინააღმდეგ')

ylabel ('ტემპერატურა (F)')

xlabel ("დრო (ები)")

saveas (gcf, 'tempplot.jpg')

ფოსტა = '[email protected]'

პაროლი = 'Srsora123#'

მასპინძელი = 'smtp.gmail.com'

setpref ("ინტერნეტი", "SMTP_Server", მასპინძელი);

setpref ('ინტერნეტი', 'E_mail', ფოსტა);

setpref ("ინტერნეტი", "SMTP_Username", ფოსტა);

setpref ("ინტერნეტი", "SMTP_Password", პაროლი);

props = 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 (ფოსტა, "გამარჯობა მატარებლის სადგური! მატარებელში ამდენი მგზავრია", ე.ი., "tempplot.jpg")

ნაბიჯი 5: შედეგები

გირჩევთ: