Sisukord:

LifeGuard 2.0: 7 sammu (piltidega)
LifeGuard 2.0: 7 sammu (piltidega)

Video: LifeGuard 2.0: 7 sammu (piltidega)

Video: LifeGuard 2.0: 7 sammu (piltidega)
Video: Strixhaven: Я открываю коробку с 30 расширениями для Magic The Gathering 2024, November
Anonim
LifeGuard 2.0
LifeGuard 2.0

Kas olete kunagi tahtnud teha matemaatilisi toiminguid, võtta andurite näitu, jälgida analoog- ja digitaalsisendeid ning juhtida analoog- ja digitaalväljundeid ilma eelneva elektroonikakogemuseta? Kui jah, siis see projekt on just teile! Kasutame mikrokontrollerit ja MATLAB -i seadme loomiseks, mida saab kasutada EF Express SMART RAIL süsteemi jälgimiseks ja täiustamiseks. Mikrokontrolleriga on sisendite ja väljundite võimalused (tahvlile sisenev signaal/teave ja tahvlist väljuv signaal) lõputud. Sisenditena kasutame paindeandurit ja potentsiomeetrit. Nende väljunditeks on teade vastavalt LCD -ekraanile ja LED -tuled koos helisignaaliga. Täiendused, mida loodame SMART RAIL süsteemi rakendada, on seotud süsteemi ohutuse parandamisega. Haara oma sülearvuti ja mikrokontroller ning alustame!

Samm: tarkvara ja materjalid

Tarkvara ja materjalid
Tarkvara ja materjalid
Tarkvara ja materjalid
Tarkvara ja materjalid
Tarkvara ja materjalid
Tarkvara ja materjalid
Tarkvara ja materjalid
Tarkvara ja materjalid

Vajalik tarkvara

1.) MATLAB

- Peate oma arvutisse alla laadima MATLABi kohaliku versiooni. Minge saidile mathworks.com ja seadistage MATHWORKSi konto, laadige alla failid ja aktiveerige oma litsents.

-Peaksite alla laadima ja installima KÕIK olemasolevad tööriistakastid uusima versiooni (R2016a või R2016b) jaoks.

-Maci kasutajad: R2015b käitamiseks peab teil olema OSX 10.9.5 või uuem, MATLABi varasema versiooni käitamiseks on OK.

2.) Arduino riistvarapakett:

-Installige Arduino riistvarapakett. Avage MATLAB. Valige vahekaardi MATLAB avalehe menüü Keskkond lisandmoodulid Riistvara toepakettide hankimine Valige "MATLABi Arduino riistvara tugipakett". Peate oma MATHWORKS kontole sisse logima

-Kui teie installimine katkeb ja teil on riistvarapaketi installimisel järjest ebaõnnestunud katseid/vigu - leidke ja kustutage kõvakettalt kaust Arduino download ja alustage algusest.

Vajalikud materjalid

1.) Sülearvuti või lauaarvuti

2.) SparkFun Arduino juhatus

3.) Flex -andur

4.) Potentsiomeeter

5.) LCD ekraan

6.) LED -tuli

7.) SparkFuni leiutaja komplekt (otsige Internetist)

8.) USB -kaabel ja mini -USB

9.) Jumper juhtmed

10.) Pietsosummer

Samm: ühendage oma Arduino ja määrake COM -port

(Teie COM -port võib iga kord lisanduda.) Ühendage Arduino USB -kaabel arvutiga ja mini -USB Arduino -plaadiga. Võimalik, et peate ootama paar minutit, kuni draiverid alla laadivad.

COM -pordi määramiseks tehke järgmist.

Arvutis

Meetod: kasutage MATLABis käsku - fopen (jada ('nada'))

-oma porti määramiseks. Võite saada sellise tõrke: Viga jada/fopen kasutamisel (rida 72) Avamine ebaõnnestus: port: NADA pole saadaval. Saadaolevad pordid: COM3. See tõrge näitab, et teie port on 3.

-Kui 1. meetod teie arvutis ebaõnnestub, avage seadmehaldur ja laiendage portide (COM ja LPT) loendit. Pange tähele USB -jadapordis olevat numbrit. nt. 'USB jadaport (COM *)' Pordi number on siin *.

-Kui ühtegi porti ei kuvata, sulgege MATLAB ja taaskäivitage arvuti. Avage MATLAB ja proovige uuesti fopen (jada ('nada')).

-Kui see ei õnnestu, peate võib -olla alla laadima SparkFuni draiverid failist CDM_v2.12.00_WHQL_Certified.exe, avage ja käivitage fail CDM_v2.12.00_WHQL_Certified.exe ning valige Väljavõte. (Võimalik, et peate faili avama Explorerist, paremklõpsake ja valige „Käivita administraatorina”).

-MATLAB käsuaknas loo Arduino objekt - a = arduino ('comx', 'uno'); % x on teie pordi number ülalt arvutite jaoks (eelnevaid nulle pole!)

Macis

Meetod: käsurealt MATLAB või Maci terminalist ja tippige: 'ls /dev/tty.*' Pange tähele pordi number, mis on loetletud dev/tty.usbmodem*või dev/tty.usbserial*. Pordi number on siin *.

-Kui 1. meetod teie MAC -il ebaõnnestub, peate võib -olla seda tegema

-Välju MATLABist

-Sulgege Arduino tarkvara ja eemaldage Arduino USB -kaabel

-installige Java 6 Runtime

-installige USB draiveri kerneli laiendus

-Taaskäivitage arvuti

-Ühendage Arduino USB -kaabel uuesti

-Käivitage käsurealt MATLAB või Maci terminalist: ls /dev/tty.*

-Pange tähele pordi numbrit, mis on loetletud dev/tty.usbmodem* või dev/tty.usbserial* jaoks. Pordi number on siin *.

-MATLAB käsuaknas loo Arduino objekt - a = arduino ('/dev/tty.usbserial*', 'uno'); % * on teie pordinumber ülalt MAC -ide jaoks või '/dev/tty.usbmodem*'

3. samm: Matlabi kood

Matlabi kood
Matlabi kood
Matlabi kood
Matlabi kood

Sisendid:

1.) Flex -andur

2.) Potentsiomeeter

Väljundid:

1.) LCD -ekraan sõnumiga "Rong tuleb"

2.) LED -tuli

3.) Pietsosummer

Selles etapis koostame koodi, mis analüüsib Arduino tahvli sisendeid ja pakub väljundeid MATLABi analüüsi tulemuste põhjal. Järgmine kood võimaldab teil täita mitmeid funktsioone: kui potentsiomeeter käivitub, väljastab piesosummer vahelduvaid sagedusi ja punane LED hakkab vilkuma. Kui rongi ei tuvastata, süttib roheline LED. Kui paindeandur käivitub, kustub ahnuse LED, punane LED süttib ja vedelkristallekraanil kuvatakse teade "Rong tuleb".

MATLAB -kood:

%remery1, shornsb1, wmurrin

Eesmärk: rongihoiatus

%IIsisend: potentsiomeeter, paindeandur

%väljund: LCD, heli, valgus

%Kui plaati pole lähtestatud või on probleeme ühenduse loomisega, käivitage

%alla käskude kommentaarides. Neid ei pea iga kord täitma

%Kustuta kõik

%sulge kõik

%clc

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

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

%Seadistage plaat, kui see on ühendatud

configurePin (a, 'D8', 'pullup');%configure D8

configurePin (a, 'D9', 'PWM');%configure D9

aeg = 50; %seadistatud ajaks 50

clearLCD (lcd) %LCD initsialiseerimine

%Start Loop

ajal> 0

%Flex -anduri pinge määrab, kas tuli on roheline või valgus

%on punane ja LCD -ekraanil kuvatakse rong

flex_status = lugemispinge (a, 'A0'); paindeanduri lugemispinge %

kui flex_status> 4 %, kui pinge on suurem kui 4, käivitage silmus

writeDigitalPin (a, 'D12', 0) %lülitub roheliselt välja

writeDigitalPin (a, 'D11', 1) %lülitub punaseks

printLCD (lcd, 'Train Coming') %kuvab LCD -l "rong tuleb"

paus (5) %Oodake 5 sekundit

clearLCD (LCD) %Kustuta teade LCD -lt

writeDigitalPin (a, 'D11', 0) %Lülitage punane LED välja

muidu

lõpp

pe_status = lugemispinge (a, 'A2'); %Lugege potentsiomeetri pinget

kui pe_status> 2 %, kui pinge on suurem kui 2, käivitage silmus

writeDigitalPin (a, 'D13', 1);%lülitab sisse punase LED -i

playTone (a, 'D9', 400,.25);% Esitus 400 Hz Piezo summeril, 0,25 s

writeDigitalPin (a, 'D13', 0)%lülitab punase LED -i välja

paus (.25)%oota.25 sekundit

writeDigitalPin (a, 'D13', 1) %Korda ülal, helisignaal 200 Hz juures

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

writeDigitalPin (a, 'D13', 0)

paus (.25)

writeDigitalPin (a, 'D13', 1);%Korda ülal

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

writeDigitalPin (a, 'D13', 0)

paus (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

paus (.25)

writeDigitalPin (a, 'D13', 1) %Korda ülal

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

writeDigitalPin (a, 'D13', 0)

paus (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

paus (.25)

writeDigitalPin (a, 'D13', 1) %Korda ülal

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

writeDigitalPin (a, 'D13', 0)

paus (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

paus (.25)

muidu

writeDigitalPin (a, 'D12', 1)%, kui pinge on alla 2, lülitage roheline LED sisse

writeDigitalPin (a, 'D13', 0)%punase LED -i pööret

lõpp

lõpp

4. samm: paindeanduri ühendamine

Flex -anduri juhtmestik
Flex -anduri juhtmestik
Flex -anduri juhtmestik
Flex -anduri juhtmestik
Flex -anduri juhtmestik
Flex -anduri juhtmestik
Flex -anduri juhtmestik
Flex -anduri juhtmestik

Vajalikud materjalid

1.) 1 paindeandur

2.) 1 10K oomi takisti

3.) 8 hüppetraati

*Vaadake vastavalt pilte.

Selles vooluringis mõõdame paindlikkust. Paindeandur kasutab plastribal olevat süsinikku, et toimida muutuva takistina, kuid selle asemel, et muuta takistust nupu keeramisega, muudate komponenti painutades. Pingejagur takistuse muutuse tuvastamiseks. Meie puhul kasutame paindeandurit rongi tuvastamiseks, et käsutada LCD -ekraani (vt pilti), et lugeda sõnumit "Rong tuleb".

*Piltidel, mis näitavad Flex -anduri ühendamise juhiseid, viidake ainult Flex -anduri juhtmestiku juhtmetele. Ignoreerige Servo juhtmestikku.

Traadi tihvtid järgmiselt:

Samm: ühendage Arduino plaadil jaotises POWER 1 juhe 5V sisendisse ja 1 juhe GND sisendisse (maandus). Ühendage 5V juhtme teine ots trükkplaadi positiivse (+) sisendiga. Ühendage GND juhtme teine ots trükkplaadi negatiivse (-) sisendiga.

Samm: ühendage Arduino tahvli jaotises ANALOG IN sisestage A0 sisend 1. Ühendage selle juhtme ots trükkplaadi j20 sisendiga.

3. samm: ühendage Arduino plaadil jaotises DIGITAL I / O 1 juhe sisendisse 9. Ühendage teine ots sisendiga a3.

Samm: ühendage trükkplaadil 1 juhe positiivse (+) sisendiga. Ühendage teine ots sisendisse h24.

Samm: ühendage trükkplaadil 1 juhe negatiivse (+) sisendiga. Ühendage teine ots sisendisse a2.

6. samm: ühendage trükkplaadil 1 juhe negatiivse (-) sisendiga. Ühendage teine ots sisendiga b1.

Samm: ühendage trükkplaadil 1 juhe negatiivse (-) sisendiga. Ühendage teine ots sisendiga i19.

8. samm: asetage trükkplaadile takisti sisenditesse i20 ja i24.

*Viimane pilt viitab reaalse maailma rakendustele.

Samm: ühendage Arduino LCD -ekraaniga

Ühendage Arduino LCD -ekraaniga
Ühendage Arduino LCD -ekraaniga
Ühendage Arduino LCD -ekraaniga
Ühendage Arduino LCD -ekraaniga
Ühendage Arduino LCD -ekraaniga
Ühendage Arduino LCD -ekraaniga

*Järgige seda linki (https://ef.engr.utk.edu/ef230-2017-08/projects/ard…) ja vaadake seejärel allpool toodud samme LCD-ekraani ühendamiseks Arduinoga:

Samm: avage zip -fail

Samm: avage ReadMe -fail ja järgige juhiseid

Vajalikud materjalid

1.) SparkFuni selle seadmega sarnane 16x2 LCD -

2.) Jumper juhtmed

*Vaadake vastavalt pilte.

See samm näitab, kuidas luua LCD-lisateek ja kuvada LCD-ekraanil "Train Coming".

Traadi tihvtid järgmiselt:

LCD Pin -> Arduino Pin

1 (VSS) -> Maa

2 (VDD) -> 5V

3 (V0) -> Flex -anduri keskmine tihvt

4 (RS) -> D7

5 (R/W) -> Maa

6 (E) -> d6

11 (DB4) - D5 (PWM)

12 (DB5) -> D4

13 (DB6) -> D3 (PWM)

14 (DB7) -> D2

15 (LED+) -> 5 V

16 (LED-) -> Maandus

6. samm: pehme potentsiomeetri ühendamine

Pehme potentsiomeetri ühendamine
Pehme potentsiomeetri ühendamine
Pehme potentsiomeetri ühendamine
Pehme potentsiomeetri ühendamine
Pehme potentsiomeetri ühendamine
Pehme potentsiomeetri ühendamine

Vajalikud materjalid

1.) 1 LED

2.) 1 pehme potentsiomeeter

3.) Jumper Traadid

4.) 3 330 oomi takisti

5.) 10K oomi takisti

*Vaadake vastavalt pilte.

Selles vooluringis kasutame teist tüüpi muutuvat takisti, pehmet potentsiomeetrit. See on õhuke ja painduv riba, mis tuvastab rõhu avaldamise koha. Riba erinevatele osadele vajutades saate muuta takistust 100 kuni 10 K oomi. Seda võimalust saate kasutada liikumise jälgimiseks potentsiomeetril või nupuna. Selles vooluringis saame pehme potentsiomeetri RGB LED -i juhtimiseks tööle.

1. samm: ühendage Arduino plaadil jaotises DIGITAL I / O 1 tihvt sisendisse 10 ja 1 tihvt sisendisse 11. Vastavalt ühendage nende tihvtide teine ots sisenditega h6 ja h7.

Samm: ühendage trükkplaadil LED sisenditesse a4, a5, a6 ja a7.

Samm: asetage trükkplaadile 3330 oomi takistid sisenditesse e4-g4, e6-g6 ja e7-g7.

4. samm: ühendage trükkplaadil 1 tihvt sisendisse e5. Ühendage selle tihvti teine ots negatiivse (-) sisendiga.

Samm: asetage trükkplaadile 10K oomi takisti sisenditesse i19-negatiivne (-).

Samm: ühendage trükkplaadil 1 tihvt j18 -ga. Ühendage selle tihvti teine ots positiivse (+) sisendiga.

Samm: ühendage trükkplaadil 1 tihvt sisendisse j20. Ühendage selle tihvti teine ots negatiivse (-) sisendiga.

Samm 7: katsetage oma täiustusi nutika raudteesüsteemi abil

Testige oma täiustusi nutika raudteesüsteemi abil
Testige oma täiustusi nutika raudteesüsteemi abil
Testige oma täiustusi nutika raudteesüsteemi abil
Testige oma täiustusi nutika raudteesüsteemi abil

Sel hetkel peaks teie MATLAB -kood olema funktsionaalne ja Arduino -plaat koos kõigi lisatud komponentidega täpselt ühendatud. Proovige seda sertifitseeritud nutika raudteesüsteemi abil ja vaadake, kas teie täiustused muudavad süsteemi turvalisemaks.

Soovitan: