Სარჩევი:

LifeGuard 2.0: 7 ნაბიჯი (სურათებით)
LifeGuard 2.0: 7 ნაბიჯი (სურათებით)

ვიდეო: LifeGuard 2.0: 7 ნაბიჯი (სურათებით)

ვიდეო: LifeGuard 2.0: 7 ნაბიჯი (სურათებით)
ვიდეო: CS50 2015 - Week 10 2024, ივლისი
Anonim
LifeGuard 2.0
LifeGuard 2.0

ოდესმე გსურდათ მათემატიკური ოპერაციების შესრულება, სენსორული მონაცემების წაკითხვა, ანალოგური და ციფრული საშუალებების მონიტორინგი და ანალოგური და ციფრული მონაცემების კონტროლი ელექტრონიკის წინა გამოცდილების გარეშე? თუ კი, ეს პროექტი მხოლოდ თქვენთვისაა! ჩვენ ვიყენებთ მიკროკონტროლერს და MATLAB- ს, რათა შევქმნათ მოწყობილობა, რომლის საშუალებითაც შესაძლებელი იქნება EF Express SMART RAIL სისტემის მონიტორინგი და გაძლიერება. მიკროკონტროლერის საშუალებით, შეყვანისა და გამოსვლის შესაძლებლობები (სიგნალი/ინფორმაცია, რომელიც შედის დაფაზე და სიგნალი გამოდის დაფაზე) უსასრულოა. ჩვენ ვიყენებთ მოქნილ სენსორსა და პოტენომეტრს, როგორც შეყვანის საშუალებას. მათი შედეგები იქნება შეტყობინება LCD ეკრანისა და LED ნათურების საშუალებით, შესაბამისად ზუზერთან ერთად. გაუმჯობესებები, რომელთა იმედი გვაქვს განვახორციელოთ SMART RAIL სისტემაში, ეხება სისტემის უსაფრთხოების გაუმჯობესებას. აიღეთ ლეპტოპი და მიკროკონტროლერი და დავიწყოთ!

ნაბიჯი 1: პროგრამული უზრუნველყოფა და მასალები

პროგრამული უზრუნველყოფა და მასალები
პროგრამული უზრუნველყოფა და მასალები
პროგრამული უზრუნველყოფა და მასალები
პროგრამული უზრუნველყოფა და მასალები
პროგრამული უზრუნველყოფა და მასალები
პროგრამული უზრუნველყოფა და მასალები
პროგრამული უზრუნველყოფა და მასალები
პროგრამული უზრუნველყოფა და მასალები

საჭირო პროგრამული უზრუნველყოფა

1.) MATLAB

- თქვენ უნდა გადმოწეროთ MATLAB- ის ადგილობრივი ვერსია თქვენს კომპიუტერში. გადადით mathworks.com– ზე და შექმენით MATHWORKS ანგარიში, ჩამოტვირთეთ ფაილები და გააქტიურეთ თქვენი ლიცენზია.

-უახლესი ვერსიისთვის (R2016a ან R2016b) თქვენ უნდა გადმოწეროთ და დააინსტალიროთ ყველა არსებული ხელსაწყო ყუთი.

-Mac მომხმარებლები: თქვენ უნდა გქონდეთ OSX 10.9.5 ან უფრო ახალი R2015b გასაშვებად, კარგია MATLAB– ის ადრინდელი ვერსიის გაშვება.

2.) Arduino აპარატურის მხარდაჭერის პაკეტი:

-დააინსტალირეთ Arduino აპარატურის მხარდაჭერის პაკეტი. გახსენით MATLAB. MATLAB Home ჩანართზე, გარემოს მენიუში, აირჩიეთ Add-ons Get Hardware Support Packages აირჩიეთ "MATLAB Support Package for Arduino Hardware". თქვენ უნდა შეხვიდეთ თქვენს MATHWORKS ანგარიშზე

-თუ თქვენი ინსტალაცია შეწყდება და თქვენ გაქვთ თანმიმდევრული წარუმატებელი მცდელობები/შეცდომები ტექნიკის პაკეტის დაყენებისას - იპოვეთ და წაშალეთ საქაღალდე Arduino ჩამოტვირთეთ თქვენს მყარ დისკზე და დაიწყეთ თავიდან.

საჭირო მასალები

1.) ლეპტოპი ან დესკტოპის კომპიუტერი

2.) SparkFun Arduino დაფა

3.) მოქნილი სენსორი

4.) პოტენომეტრი

5.) LCD ეკრანი

6.) LED ნათურა

7.) SparkFun გამომგონებლის ნაკრები (იპოვეთ ინტერნეტში)

8.) USB კაბელი და მინი USB

9.) ჯუმბერის მავთულები

10.) პიეზო ზუზუნი

ნაბიჯი 2: დაუკავშირდით თქვენს არდუინოს და განსაზღვრეთ COM პორტი

(თქვენი COM პორტი შეიძლება შეიცვალოს ყოველ ჯერზე როდესაც ჩართავთ) შეაერთეთ Arduino USB კაბელი თქვენს კომპიუტერს და მინი USB თქვენს Arduino დაფას. შეიძლება დაგჭირდეთ რამდენიმე წუთი დაელოდოთ დრაივერების გადმოტვირთვას.

COM პორტის დასადგენად:

კომპიუტერზე

მეთოდი 1: MATLAB- ში გამოიყენეთ ბრძანება - fopen (სერიული ('nada'))

-თქვენი პორტის დასადგენად. თქვენ შეიძლება მიიღოთ ასეთი შეცდომა: შეცდომა სერიის/გახსნისას (სტრიქონი 72) გახსნა ვერ მოხერხდა: პორტი: NADA მიუწვდომელია. ხელმისაწვდომი პორტები: COM3. ეს შეცდომა მიუთითებს იმაზე, რომ თქვენი პორტი არის 3.

-თუ მეთოდი 1 ვერ ხერხდება თქვენს კომპიუტერში, გახსენით თქვენი მოწყობილობის მენეჯერი და გააფართოვეთ პორტების (COM და LPT) სია. გაითვალისწინეთ ნომერი USB სერიულ პორტზე. მაგალითად. 'USB სერიული პორტი (COM *)' პორტის ნომერი არის * აქ.

-თუ პორტი არ არის ნაჩვენები, დახურეთ MATLAB და გადატვირთეთ კომპიუტერი. გახსენით MATLAB და სცადეთ ხელახლა გახსნა (სერიული ('nada')).

-თუ ეს ვერ მოხერხდა, შეიძლება დაგჭირდეთ SparkFun- ის დრაივერების ჩამოტვირთვა CDM_v2.12.00_WHQL_Certified.exe ფაილიდან, გახსენით და გაუშვით CDM_v2.12.00_WHQL_Certified.exe ფაილი და აირჩიეთ ამონაწერი. (შეიძლება დაგჭირდეთ ფაილის გახსნა Explorer– დან, მარჯვენა ღილაკით და „Run as Administrator“).

-MATLAB ბრძანების ფანჯარაში შექმენით Arduino ობიექტი - a = arduino ('comx', 'uno'); % x არის თქვენი პორტის ნომერი ზემოდან კომპიუტერებისთვის (წინა ნულის გარეშე!)

Mac- ზე

მეთოდი 1: MATLAB ბრძანების სტრიქონიდან ან Mac ტერმინალში და ჩაწერეთ: 'ls /dev/tty.*' გაითვალისწინეთ dev/tty.usbmodem*ან dev/tty.usbserial*ჩამოთვლილი პორტის ნომერი. პორტის ნომერი არის * აქ.

-თუ მეთოდი 1 ვერ ხერხდება თქვენს MAC– ზე, შეიძლება დაგჭირდეთ

-გამოდი MATLAB

-დახურეთ Arduino პროგრამული უზრუნველყოფა და გათიშეთ Arduino USB კაბელი

-დააინსტალირეთ Java 6 Runtime

-დააინსტალირეთ USB დრაივერის ბირთვის გაფართოება

-გადატვირთეთ კომპიუტერი

-აერთეთ Arduino USB კაბელი

-გაუშვით MATLAB ბრძანების სტრიქონიდან ან Mac ტერმინალიდან: ls /dev/tty.*

-შენიშნე dev/tty.usbmodem* ან dev/tty.usbserial* ჩამოთვლილი პორტის ნომერი. პორტის ნომერი არის * აქ.

-MATLAB ბრძანების ფანჯარაში შექმენით Arduino ობიექტი - a = arduino ('/dev/tty.usbserial*', 'uno'); % * არის თქვენი პორტის ნომერი ზემოდან MAC- ებისთვის, ან '/dev/tty.usbmodem*'

ნაბიჯი 3: Matlab კოდი

Matlab კოდი
Matlab კოდი
Matlab კოდი
Matlab კოდი

შეყვანა:

1.) მოქნილი სენსორი

2.) პოტენომეტრი

გამომავალი:

1.) LCD ეკრანი შეტყობინებით, რომელშიც ნათქვამია "მატარებელი მოდის"

2.) LED ნათურა

3.) პიეზო ზუზუნი

ამ ნაბიჯში ჩვენ შევქმნით კოდს, რომელიც გაანალიზებს არდუინოს დაფის მონაცემებს და მოგვცემს შედეგებს MATLAB- ის ანალიზის შედეგების საფუძველზე. შემდეგი კოდი საშუალებას მოგცემთ შეასრულოთ რამდენიმე ფუნქცია: როდესაც პოტენომეტრია ჩართული, პიეზო ზუზარი გამოსცემს მონაცვლე სიხშირეებს და წითელი LED აანთებს. როდესაც მატარებელი არ არის გამოვლენილი, მწვანე LED იქნება განათებული. როდესაც Flex სენსორი გააქტიურებულია, სიხარბის LED გამორთულია, წითელი LED ანათებს და LCD აჩვენებს შეტყობინებას, რომელშიც ნათქვამია "მატარებელი მოდის".

MATLAB კოდი:

%remery1, shornsb1, wmurrin

მიზანი: მატარებლის გაფრთხილება

%II შეყვანა: პოტენომეტრი, მოქნილი სენსორი

%გამომავალი: LCD, ხმა, მსუბუქი

თუ დაფა არ არის ინიციალიზებული ან აქვს კავშირის საკითხები, შეასრულოს

ქვემოთ მოცემულია ბრძანებები კომენტარებში. მათ არ სჭირდებათ შესრულება ყოველ ჯერზე

%ყველაფრის გასუფთავება

%დახურე ყველა

%clc

%a = arduino ('/dev/tty.usbserial-DN01DXOM', 'uno');

%lcd = addon (a, 'ExampleLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'});

%დააკონფიგურირეთ დაფა მას შემდეგ რაც იქნება დაკავშირებული

configurePin (a, 'D8', 'pullup');%კონფიგურაცია D8

configurePin (a, 'D9', 'PWM');%კონფიგურაცია D9

დრო = 50; %დაყენებული დრო 50 -მდე

clearLCD (lcd) %ინიციალიზაცია LCD

დაწყება მარყუჟი

ხოლო დრო> 0

Flex სენსორის ძაბვა განსაზღვრავს არის თუ არა შუქი მწვანე, თუ შუქი

%არის წითელი და LCD აჩვენებს "მატარებელი მოდის"

flex_status = readVoltage (a, 'A0'); მოქნილი სენსორის წაკითხვის ძაბვა

თუ flex_status> 4 %თუ ძაბვა 4 -ზე მეტია, გამოიწვევს მარყუჟს

writeDigitalPin (a, 'D12', 0) %გამორთულია მწვანე

writeDigitalPin (a, 'D11', 1) %ჩართავს წითელს

printLCD (lcd, 'Train Coming') %ჩვენება "მატარებელი მოდის" LCD- ზე

პაუზა (5) %დაელოდე 5 წამი

clearLCD (lcd) %მკაფიო შეტყობინება LCD– დან

writeDigitalPin (a, 'D11', 0) %გამორთეთ წითელი LED

სხვა

დასასრული

pe_status = readVoltage (a, 'A2'); %პოტენციომეტრის ძაბვის წაკითხვა

თუ pe_status> 2 %თუ ძაბვა 2 -ზე მეტია, გამოიწვევს მარყუჟს

writeDigitalPin (a, 'D13', 1);%ჩართეთ წითელი LED

playTone (a, 'D9', 400,.25);% დაკვრა 400Hz Piezo buzzer- ზე,.25 წმ

writeDigitalPin (a, 'D13', 0)%გამორთეთ წითელი LED

პაუზა (.25)%ლოდინი.25 წამი

writeDigitalPin (a, 'D13', 1) %გამეორება ზემოთ, ზუზუნთან ერთად 200Hz

playTone (a, 'D9', 200,.25);

writeDigitalPin (a, 'D13', 0)

პაუზა (.25)

writeDigitalPin (a, 'D13', 1);%გაიმეორეთ ზემოთ

playTone (a, 'D9', 400,.25);

writeDigitalPin (a, 'D13', 0)

პაუზა (.25)

writeDigitalPin (a, 'D13', 1)

playTone (a, 'D9', 200,.25);

writeDigitalPin (a, 'D13', 0)

პაუზა (.25)

writeDigitalPin (a, 'D13', 1) %გაიმეორეთ ზემოთ

playTone (a, 'D9', 400,.25);

writeDigitalPin (a, 'D13', 0)

პაუზა (.25)

writeDigitalPin (a, 'D13', 1)

playTone (a, 'D9', 200,.25);

writeDigitalPin (a, 'D13', 0)

პაუზა (.25)

writeDigitalPin (a, 'D13', 1) %გაიმეორეთ ზემოთ

playTone (a, 'D9', 400,.25);

writeDigitalPin (a, 'D13', 0)

პაუზა (.25)

writeDigitalPin (a, 'D13', 1)

playTone (a, 'D9', 200,.25);

writeDigitalPin (a, 'D13', 0)

პაუზა (.25)

სხვა

writeDigitalPin (a, 'D12', 1)%თუ ძაბვა 2 -ზე ნაკლებია, ჩართეთ მწვანე LED

writeDigitalPin (a, 'D13', 0)%წითელი წითელი LED

დასასრული

დასასრული

ნაბიჯი 4: Flex სენსორის გაყვანილობა

Flex სენსორის გაყვანილობა
Flex სენსორის გაყვანილობა
Flex სენსორის გაყვანილობა
Flex სენსორის გაყვანილობა
Flex სენსორის გაყვანილობა
Flex სენსორის გაყვანილობა
Flex სენსორის გაყვანილობა
Flex სენსორის გაყვანილობა

საჭირო მასალები

1.) 1 მოქნილი სენსორი

2.) 1 10K Ohm რეზისტორი

3.) 8 მხტუნავი მავთული

*მიმართეთ სურათებს, შესაბამისად.

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

*სურათებზე, რომლებიც აჩვენებენ Flex Sensor– ის გაყვანილობის ინსტრუქციას, მიუთითეთ მხოლოდ მავთულები Flex Sensor– ის გაყვანილობასთან შედარებით. უგულებელყოთ Servo– ს გაყვანილობა.

მავთულის ქინძისთავები შემდეგნაირად:

ნაბიჯი 1: Arduino დაფაზე POWER განყოფილებაში, შეაერთეთ 1 მავთული შეყვანის 5V- ში და 1 მავთული შეყვანის GND- ში (დამიწება). შეაერთეთ 5 ვ მავთულის მეორე ბოლო დადებით მიკროსქემის დაფაზე (+). შეაერთეთ GND მავთულის მეორე ბოლო მიკროსქემის დაფაზე უარყოფითი (-) შეყვანისას.

ნაბიჯი 2: Arduino დაფაზე ANALOG IN განყოფილებაში, შეაერთეთ 1 A0 შესასვლელში. შეაერთეთ ამ მავთულის დასასრული j20 შესასვლელში მიკროსქემის დაფაზე.

ნაბიჯი 3: Arduino დაფაზე DIGITAL I / O განყოფილებაში, შეაერთეთ 1 მავთული შეყვანის 9. შეაერთეთ მეორე ბოლო შესასვლელში a3.

ნაბიჯი 4: მიკროსქემის დაფაზე, შეაერთეთ 1 მავთული დადებით (+) შესასვლელში. შეაერთეთ მეორე ბოლო h24 შეყვანისას.

ნაბიჯი 5: მიკროსქემის დაფაზე, შეაერთეთ 1 მავთული უარყოფით (+) შეყვანისას. შეაერთეთ მეორე ბოლო შესასვლელში a2.

ნაბიჯი 6: მიკროსქემის დაფაზე, შეაერთეთ 1 მავთული უარყოფით (-) შესასვლელში. შეაერთეთ მეორე ბოლო შეყვანისას b1.

ნაბიჯი 7: მიკროსქემის დაფაზე, შეაერთეთ 1 მავთული უარყოფით (-) შესასვლელში. შეაერთეთ მეორე ბოლო შეყვანისას i19.

ნაბიჯი 8: მიკროსქემის დაფაზე, მოათავსეთ რეზისტორი i20 და i24 შესასვლელებში.

*ბოლო სურათი ეხება რეალურ სამყაროში გამოყენებულ პროგრამებს.

ნაბიჯი 5: შეაერთეთ Arduino LCD– თან

შეაერთეთ Arduino LCD– თან
შეაერთეთ Arduino LCD– თან
შეაერთეთ Arduino LCD– თან
შეაერთეთ Arduino LCD– თან
შეაერთეთ Arduino LCD– თან
შეაერთეთ Arduino LCD– თან

*მიჰყევით ამ ბმულს (https://ef.engr.utk.edu/ef230-2017-08/projects/ard…) და შემდეგ იხილეთ ქვემოთ მოყვანილი ნაბიჯები LCD არდუინოსთან დასაკავშირებლად:

ნაბიჯი 1: გახსენით zip ფაილი

ნაბიჯი 2: გახსენით ReadMe ფაილი და მიჰყევით ინსტრუქციას

საჭირო მასალები

1.) ამ მოწყობილობის მსგავსი 16x2 LCD SparkFun– დან -

2.) ჯუმბერის მავთულები

*მიმართეთ სურათებს, შესაბამისად.

ეს ნაბიჯი აჩვენებს, თუ როგორ უნდა შექმნათ LCD დამატებითი ბიბლიოთეკა და აჩვენოთ "Train Coming" LCD.

მავთულის ქინძისთავები შემდეგნაირად:

LCD პინი -> არდუინოს პინი

1 (VSS) -> გრუნტი

2 (VDD) -> 5V

3 (V0) -> შუა პინი Flex სენსორზე

4 (RS) -> D7

5 (R/W) -> გრუნტი

6 (E) -> d6

11 (DB4) - D5 (PWM)

12 (DB5) -> D4

13 (DB6) -> D3 (PWM)

14 (DB7) -> D2

15 (LED+) -> 5 ვ

16 (LED-) -> გრუნტი

ნაბიჯი 6: რბილი პოტენომეტრის დაკავშირება

რბილი პოტენომეტრის დაკავშირება
რბილი პოტენომეტრის დაკავშირება
რბილი პოტენომეტრის დაკავშირება
რბილი პოტენომეტრის დაკავშირება
რბილი პოტენომეტრის დაკავშირება
რბილი პოტენომეტრის დაკავშირება

საჭირო მასალები

1.) 1 LED

2.) 1 რბილი პოტენომეტრი

3.) Jumper Wires

4.) 3 330 Ohm რეზისტორი

5.) 10K Ohm რეზისტორი

*მიმართეთ სურათებს, შესაბამისად.

ამ წრეში ჩვენ ვაპირებთ გამოვიყენოთ სხვა სახის ცვლადი რეზისტორი, რბილი პოტენომეტრი. ეს არის თხელი და მოქნილი ზოლები, რომელსაც შეუძლია გამოავლინოს ზეწოლის ადგილი. ზოლის სხვადასხვა ნაწილზე დაჭერით, თქვენ შეგიძლიათ შეცვალოთ წინააღმდეგობა 100 -დან 10 K Ohms- მდე. თქვენ შეგიძლიათ გამოიყენოთ ეს შესაძლებლობა თვალყური ადევნოთ მოძრაობას პოტენომეტრზე ან ღილაკზე. ამ წრეში ჩვენ ვიღებთ რბილ პოტენომეტრს RGB LED- ის გასაკონტროლებლად.

ნაბიჯი 1: Arduino დაფაზე DIGITAL I / O განყოფილებაში, შეაერთეთ 1 პინი შესასვლელში 10 და 1 პინი შეყვანის 11. შესაბამისად, შეაერთეთ ქინძისთავების მეორე ბოლო h6 და h7 შესასვლელში.

ნაბიჯი 2: მიკროსქემის დაფაზე, ჩართეთ LED შესასვლელებში a4, a5, a6 და a7.

ნაბიჯი 3: მიკროსქემის დაფაზე მოათავსეთ 3 330 ოჰმეტიანი რეზისტორი e4-g4, e6-g6 და e7-g7.

ნაბიჯი 4: მიკროსქემის დაფაზე, შეაერთეთ 1 პინი შესასვლელში e5. შეაერთეთ ქინძის მეორე ბოლო უარყოფითი (-) შეყვანისას.

ნაბიჯი 5: მიკროსქემის დაფაზე, მოათავსეთ 10K ohm რეზისტორი i19- უარყოფითი (-) შეყვანისას.

ნაბიჯი 6: მიკროსქემის დაფაზე, შეაერთეთ 1 პინი j18– ში. შეაერთეთ ამ პინის მეორე ბოლო პოზიტიურ (+) შეყვანისას.

ნაბიჯი 7: მიკროსქემის დაფაზე, შეაერთეთ 1 პინი შესასვლელში j20. შეაერთეთ ქინძის მეორე ბოლო უარყოფითი (-) შეყვანისას.

ნაბიჯი 7: შეამოწმეთ თქვენი შესაძლებლობები ჭკვიანი სარკინიგზო სისტემაზე

შეამოწმეთ თქვენი შესაძლებლობები ჭკვიან სარკინიგზო სისტემაზე
შეამოწმეთ თქვენი შესაძლებლობები ჭკვიან სარკინიგზო სისტემაზე
შეამოწმეთ თქვენი შესაძლებლობები ჭკვიან სარკინიგზო სისტემაზე
შეამოწმეთ თქვენი შესაძლებლობები ჭკვიან სარკინიგზო სისტემაზე

ამ ეტაპზე, თქვენი MATLAB კოდი უნდა იყოს ფუნქციონალური და Arduino დაფა ზუსტად უნდა იყოს დაკავშირებული ყველა დამატებულ კომპონენტთან ერთად. სცადეთ სერტიფიცირებული Smart Rail System– ით და ნახეთ გახდება თუ არა თქვენი გაუმჯობესება სისტემა უფრო უსაფრთხო.

გირჩევთ: