Სარჩევი:

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

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

ვიდეო: უდაბნოს რკინიგზის ტემპერატურის დეტექტორი და მგზავრების მრიცხველი: 5 ნაბიჯი
ვიდეო: THE BULLET TRAINS OF UZBEKISTAN 2024, ივლისი
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: შედეგები

გირჩევთ: