Turinys:

„LifeGuard 2.0“: 7 žingsniai (su nuotraukomis)
„LifeGuard 2.0“: 7 žingsniai (su nuotraukomis)

Video: „LifeGuard 2.0“: 7 žingsniai (su nuotraukomis)

Video: „LifeGuard 2.0“: 7 žingsniai (su nuotraukomis)
Video: CS50 2015 - Week 10 2024, Liepa
Anonim
„LifeGuard 2.0“
„LifeGuard 2.0“

Ar kada nors norėjote atlikti matematines operacijas, skaityti jutiklius, stebėti analoginius ir skaitmeninius įėjimus ir valdyti analoginius ir skaitmeninius išėjimus, neturėdami ankstesnės elektronikos patirties? Jei taip, šis projektas kaip tik jums! Mes naudosime mikrovaldiklį ir MATLAB, kad sukurtume įrenginį, kuriuo būtų galima stebėti ir patobulinti „EF Express SMART RAIL“sistemą. Naudojant mikrovaldiklį, įvesties ir išvesties galimybės (signalas/informacija patenka į plokštę ir signalas, išeinantis iš plokštės) yra neribotos. Kaip įvestis naudosime lankstų jutiklį ir potenciometrą. Jų išvestis bus atitinkamai pranešimas per LCD ekraną ir LED lemputes kartu su garso signalu. Patobulinimai, kuriuos tikimės įdiegti „SMART RAIL“sistemoje, yra susiję su sistemos saugumo gerinimu. Paimkite savo nešiojamąjį kompiuterį ir mikrovaldiklį ir pradėkime!

1 žingsnis: programinė įranga ir medžiagos

Programinė įranga ir medžiagos
Programinė įranga ir medžiagos
Programinė įranga ir medžiagos
Programinė įranga ir medžiagos
Programinė įranga ir medžiagos
Programinė įranga ir medžiagos
Programinė įranga ir medžiagos
Programinė įranga ir medžiagos

Reikalinga programinė įranga

1.) MATLAB

- Į savo kompiuterį turėsite atsisiųsti vietinę MATLAB versiją. Eikite į mathworks.com ir sukurkite MATHWORKS paskyrą, atsisiųskite failus ir suaktyvinkite licenciją.

-Turėtumėte atsisiųsti ir įdiegti VISAS turimas įrankių dėžes naujausiam leidimui (R2016a arba R2016b).

-Mac vartotojai: kad galėtumėte paleisti R2015b, turite turėti OSX 10.9.5 arba naujesnę versiją. Gerai paleisti ankstesnę MATLAB versiją.

2.) „Arduino“aparatinės įrangos palaikymo paketas:

-Įdiekite „Arduino“aparatinės įrangos palaikymo paketą. Atidarykite MATLAB. Skirtuko MATLAB Pagrindinis meniu Aplinka meniu pasirinkite Priedai Gauti aparatinės įrangos palaikymo paketus Pasirinkite „MATLAB palaikymo paketas„ Arduino “aparatinei įrangai“. Turėsite prisijungti prie savo MATHWORKS paskyros

-Jei jūsų diegimas nutrūksta ir diegiant aparatūros paketą pasikartoja nesėkmingi bandymai/klaidos - suraskite ir ištrinkite aplanką „Arduino download“standžiajame diske ir pradėkite nuo pradžių.

Reikalingos medžiagos

1.) Nešiojamasis ar stalinis kompiuteris

2.) „SparkFun Arduino“lenta

3.) Lankstumo jutiklis

4.) Potenciometras

5.) LCD ekranas

6.) LED lemputė

7.) „SparkFun“išradėjų rinkinys (rasti internete)

8.) USB kabelis ir mini USB

9.) Jumper laidai

10.) Pjezo garsinis signalas

2 veiksmas: prisijunkite prie „Arduino“ir nustatykite COM prievadą

(Jūsų COM prievadas gali keistis kiekvieną kartą, kai įjungiate papildinį.) Prijunkite „Arduino“USB kabelį prie kompiuterio ir mini USB prie „Arduino“plokštės. Gali tekti palaukti kelias minutes, kol tvarkyklės atsisiųs.

Norėdami nustatyti COM prievadą:

Kompiuteryje

1 metodas: MATLAB naudokite komandą - fopen (serial ('nada'))

-nustatyti savo kom portą. Galite gauti tokią klaidą: Klaida naudojant serial/fopen (72 eilutė) Atidaryti nepavyko: prievadas: NADA nėra. Galimi prievadai: COM3. Ši klaida rodo, kad jūsų prievadas yra 3.

-Jei 1 metodas nepavyksta jūsų kompiuteryje, atidarykite įrenginių tvarkytuvę ir išplėskite prievadų (COM ir LPT) sąrašą. Atkreipkite dėmesį į USB serijos prievado numerį. pvz. „USB nuoseklusis prievadas (COM *)“Prievado numeris yra * čia.

-Jei nerodomas prievadas, uždarykite MATLAB ir paleiskite kompiuterį iš naujo. Atidarykite „MATLAB“ir bandykite dar kartą „fopen“(serijos („nada“)).

-Jei nepavyks, gali tekti atsisiųsti „SparkFun“tvarkykles iš failo CDM_v2.12.00_WHQL_Certified.exe, atidaryti ir paleisti failą CDM_v2.12.00_WHQL_Certified.exe ir pasirinkti Išskleisti. (Jums gali tekti atidaryti failą iš naršyklės, dešiniuoju pelės mygtuku spustelėkite ir „Vykdyti kaip administratorius“).

-MATLAB komandų lange sukurkite Arduino objektą - a = arduino ('comx', 'uno'); % x yra jūsų prievado numeris iš viršaus asmeniniams kompiuteriams (be ankstesnių nulių!)

„Mac“

1 metodas: iš komandinės eilutės MATLAB arba „Mac“terminale įveskite „ls /dev/tty.*“. Atkreipkite dėmesį į prievado numerį, nurodytą dev/tty.usbmodem*arba dev/tty.usbserial*. Prievado numeris yra * čia.

-Jei 1 metodas nepavyks jūsų MAC, jums gali prireikti

-Išeikite iš MATLAB

-Uždarykite „Arduino“programinę įrangą ir atjunkite „Arduino“USB kabelį

-įdiekite „Java 6 Runtime“

-įdiekite USB tvarkyklės branduolio plėtinį

-Iš naujo paleiskite kompiuterį

-Iš naujo prijunkite „Arduino“USB kabelį

-Vykdyti iš MATLAB komandinės eilutės arba „Mac“terminalo: ls /dev/tty.*

-Atkreipkite dėmesį į prievado numerį, nurodytą dev/tty.usbmodem* arba dev/tty.usbserial*. Prievado numeris yra * čia.

-MATLAB komandų lange sukurkite Arduino objektą - a = arduino ('/dev/tty.usbserial*', 'uno'); % * yra jūsų MAC prievado numeris iš viršaus arba „/dev/tty.usbmodem*“

3 žingsnis: „Matlab“kodas

„Matlab“kodas
„Matlab“kodas
„Matlab“kodas
„Matlab“kodas

Įėjimai:

1.) Lankstumo jutiklis

2.) Potenciometras

Išėjimai:

1.) LCD ekranas su pranešimu „Traukinys ateina“

2.) LED lemputė

3.) Pjezo garsinis signalas

Šiame etape mes sukursime kodą, kuris išanalizuos „Arduino“plokštės įvestis ir pateiks rezultatus, pagrįstus MATLAB analizės rezultatais. Šis kodas leis atlikti keletą funkcijų: kai įjungiamas potenciometras, pjezo garsinis signalas skleidžia kintančius dažnius ir mirksi raudonas šviesos diodas. Kai traukinys neaptinkamas, užsidegs žalias šviesos diodas. Kai įjungiamas lankstumo jutiklis, godumo šviesos diodas užges, raudonas šviesos diodas užsidegs ir LCD ekrane pasirodys pranešimas „Traukinys ateina“.

MATLAB kodas:

%remery1, shornsb1, wmurrin

Tikslas: įspėjimas apie traukinį

%II įvestis: potenciometras, lankstumo jutiklis

%išvestis: LCD, garsas, šviesa

%Jei plokštė nėra inicijuota arba kyla ryšio problemų, vykdykite

%žemiau komandų komentaruose. Jų nereikia vykdyti kiekvieną kartą

%Išvalyti viską

%uždaryti visus

%clc

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

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

%Konfigūruokite plokštę, kai ji prijungta

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

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

laikas = 50; %nustatytas laikas iki 50

clearLCD (lcd) %inicijuoti LCD

%Pradėti ciklą

o laikas> 0

%„Flex“jutiklio įtampa nustato, ar lemputė žalia, ar šviečia

%yra raudona, o LCD ekranas rodo „traukinys artėja“

flex_status = readVoltage (a, 'A0'); %nuskaitymo lankstumo jutiklio įtampa

jei lanksčioji būsena> 4 %, jei įtampa yra didesnė nei 4, įjunkite kilpą

writeDigitalPin (a, 'D12', 0) %išsijungia žalia spalva

writeDigitalPin (a, 'D11', 1) %įsijungia raudonai

printLCD (LCD, 'Traukinys atvyksta') %LCD ekrane rodo "traukinys ateina"

pauzė (5) %Palaukite 5 sekundes

clearLCD (LCD) %Išvalyti pranešimą iš LCD

writeDigitalPin (a, 'D11', 0) %Išjunkite raudoną šviesos diodą

Kitas

galas

pe_status = readVoltage (a, 'A2'); %Perskaitykite potenciometro įtampą

jei pe_status> 2 %, jei įtampa yra didesnė nei 2, įjunkite kilpą

writeDigitalPin (a, 'D13', 1);%įjungia raudoną šviesos diodą

playTone (a, „D9“, 400,.25);% Paleisti 400 Hz pjezo garsiniu signalu, 0,25 sek.

writeDigitalPin (a, 'D13', 0)%išjungia raudoną šviesos diodą

pauzė (.25)%palaukite.25 sekundės

writeDigitalPin (a, 'D13', 1) %Pakartokite aukščiau, su garso signalu 200 Hz dažniu

„playTone“(a, „D9“, 200,.25);

writeDigitalPin (a, 'D13', 0)

pauzė (.25)

writeDigitalPin (a, 'D13', 1);%Pakartokite aukščiau

„playTone“(a, „D9“, 400,.25);

writeDigitalPin (a, 'D13', 0)

pauzė (.25)

writeDigitalPin (a, 'D13', 1)

„playTone“(a, „D9“, 200,.25);

writeDigitalPin (a, 'D13', 0)

pauzė (.25)

writeDigitalPin (a, 'D13', 1) %Pakartokite aukščiau

„playTone“(a, „D9“, 400,.25);

writeDigitalPin (a, 'D13', 0)

pauzė (.25)

writeDigitalPin (a, 'D13', 1)

„playTone“(a, „D9“, 200,.25);

writeDigitalPin (a, 'D13', 0)

pauzė (.25)

writeDigitalPin (a, 'D13', 1) %Pakartokite aukščiau

„playTone“(a, „D9“, 400,.25);

writeDigitalPin (a, 'D13', 0)

pauzė (.25)

writeDigitalPin (a, 'D13', 1)

„playTone“(a, „D9“, 200,.25);

writeDigitalPin (a, 'D13', 0)

pauzė (.25)

Kitas

writeDigitalPin (a, 'D12', 1)%, jei įtampa yra mažesnė nei 2, įjunkite žalią šviesos diodą

writeDigitalPin (a, 'D13', 0)%raudono šviesos diodo posūkis

galas

galas

4 žingsnis: „Flex“jutiklio prijungimas

„Flex“jutiklio prijungimas
„Flex“jutiklio prijungimas
„Flex“jutiklio prijungimas
„Flex“jutiklio prijungimas
„Flex“jutiklio prijungimas
„Flex“jutiklio prijungimas
„Flex“jutiklio prijungimas
„Flex“jutiklio prijungimas

Reikalingos medžiagos

1.) 1 lankstumo jutiklis

2.) 1 10K omų rezistorius

3.) 8 trumpikliai

*Atitinkamai žiūrėkite paveikslėlius.

Šioje grandinėje mes matuosime lankstumą. Lankstumo jutiklis naudoja anglį ant plastikinės juostelės, kad veiktų kaip kintamasis rezistorius, tačiau vietoj to, kad pakeistumėte varžą sukdami rankenėlę, jūs keičiate lankstydami komponentą. Įtampos daliklis, skirtas varžos pokyčiams aptikti. Mūsų atveju, naudojant lankstųjį jutiklį, bus galima aptikti traukinį, kuris pravažiuoja, kad įsakytų LCD ekranui (žr. Paveikslėlį) perskaityti pranešimą, kuriame sakoma „Traukinys atvyksta“.

*Nuotraukose, kuriose pateikiamos „Flex“jutiklio prijungimo instrukcijos, nurodykite tik laidus, susijusius su „Flex“jutiklio prijungimu. Nepaisykite „Servo“laidų.

Vieliniai kaiščiai:

1 žingsnis: „Arduino“plokštės MAITINIMO skyriuje prijunkite 1 laidą prie 5V įvesties ir 1 laidą prie įėjimo GND (įžeminimas). Kitą 5 V laido galą prijunkite prie teigiamos (+) įvesties plokštėje. Kitą GND laido galą prijunkite prie neigiamos (-) įvesties plokštėje.

2 veiksmas: „Arduino“plokštės skiltyje ANALOG IN įjunkite 1 į A0 įvestį. Prijunkite to laido galą prie grandinės plokštės j20 įvesties.

3 žingsnis: „Arduino“plokštės DIGITAL I / O skyriuje prijunkite 1 laidą prie įvesties 9. Kitą galą prijunkite prie įvesties a3.

4 žingsnis: Prie plokštės prijunkite 1 laidą prie teigiamo (+) įėjimo. Kitą galą prijunkite prie įėjimo h24.

5 žingsnis: Prie plokštės prijunkite 1 laidą prie neigiamo (+) įėjimo. Kitą galą prijunkite prie įvesties a2.

6 žingsnis: grandinės plokštėje prijunkite 1 laidą prie neigiamos (-) įvesties. Kitą galą prijunkite prie įvesties b1.

7 žingsnis: grandinės plokštėje prijunkite 1 laidą prie neigiamos (-) įvesties. Kitą galą įjunkite į įvestį i19.

8 veiksmas: į plokštę įkiškite rezistorių į i20 ir i24 įėjimus.

*Paskutinė nuotrauka nurodo realaus pasaulio programas.

5 veiksmas: prijunkite „Arduino“prie LCD

Prijunkite „Arduino“prie LCD
Prijunkite „Arduino“prie LCD
Prijunkite „Arduino“prie LCD
Prijunkite „Arduino“prie LCD
Prijunkite „Arduino“prie LCD
Prijunkite „Arduino“prie LCD

*Sekite šią nuorodą (https://ef.engr.utk.edu/ef230-2017-08/projects/ard…) ir atlikite toliau nurodytus veiksmus, kad prijungtumėte LCD prie „Arduino“:

1 veiksmas: atidarykite ZIP failą

2 veiksmas: atidarykite „ReadMe“failą ir vykdykite instrukcijas

Reikalingos medžiagos

1.) 16x2 LCD, panašus į šį įrenginį iš „SparkFun“-

2.) Jumper laidai

*Atitinkamai žiūrėkite paveikslėlius.

Šis žingsnis parodys, kaip sukurti LCD priedų biblioteką ir LCD ekrane rodyti „Train Coming“.

Vieliniai kaiščiai:

LCD kaištis -> „Arduino“kaištis

1 (VSS) -> Žemė

2 (VDD) -> 5V

3 (V0) -> „Flex“jutiklio vidurinis kaištis

4 (RS) -> D7

5 (R/W) -> Gruntas

6 (E) -> d6

11 (DB4) - D5 (PWM)

12 (DB5) -> D4

13 (DB6) -> D3 (PWM)

14 (DB7) -> D2

15 (LED+) -> 5 V

16 (LED-) -> Žemė

6 žingsnis: minkšto potenciometro prijungimas

Minkšto potenciometro prijungimas
Minkšto potenciometro prijungimas
Minkšto potenciometro prijungimas
Minkšto potenciometro prijungimas
Minkšto potenciometro prijungimas
Minkšto potenciometro prijungimas

Reikalingos medžiagos

1.) 1 šviesos diodas

2.) 1 minkštas potenciometras

3.) Trumpieji laidai

4.) 3 330 omų rezistorius

5.) 10K omų rezistorius

*Atitinkamai žiūrėkite paveikslėlius.

Šioje grandinėje mes naudosime kito tipo kintamą rezistorių, minkštą potenciometrą. Tai plona ir lanksti juostelė, galinti aptikti slėgio vietą. Paspaudę įvairias juostos dalis, galite pakeisti varžą nuo 100 iki 10 K omų. Galite naudoti šią galimybę sekti judesį potenciometru arba kaip mygtuką. Šioje grandinėje mes pradėsime naudoti minkštą potenciometrą, kad galėtume valdyti RGB šviesos diodą.

1 veiksmas: „Arduino“plokštės DIGITAL I / O skyriuje prijunkite 1 kaištį prie 10 įvesties ir 1 kaištį į įvestį 11. Atitinkamai, prijunkite kitą tų kaiščių galą prie įvesties h6 ir h7.

2 žingsnis: grandinės plokštėje prijunkite šviesos diodą prie įėjimų a4, a5, a6 ir a7.

3 žingsnis: į plokštę įdėkite 3330 omų rezistorius į įėjimus e4-g4, e6-g6 ir e7-g7.

4 žingsnis: grandinės plokštėje prijunkite 1 kaištį prie įvesties e5. Kitą to kaiščio galą prijunkite prie neigiamo (-) įvesties.

5 veiksmas: į plokštę įdėkite 10K omo rezistorių į įėjimus i19-neigiamas (-).

6 žingsnis: Prie plokštės prijunkite 1 kaištį prie j18. Kitą kaiščio galą įkiškite į teigiamą (+) įvestį.

7 veiksmas: į plokštę įkiškite 1 kaištį į įvestį j20. Kitą kaiščio galą prijunkite prie neigiamo (-) įvesties.

7 veiksmas: išbandykite savo patobulinimus „Smart Rail“sistemoje

Išbandykite savo patobulinimus „Smart Rail“sistemoje
Išbandykite savo patobulinimus „Smart Rail“sistemoje
Išbandykite savo patobulinimus „Smart Rail“sistemoje
Išbandykite savo patobulinimus „Smart Rail“sistemoje

Šiuo metu jūsų MATLAB kodas turėtų būti funkcionalus, o „Arduino“plokštė turi būti tiksliai prijungta kartu su visais papildomais komponentais. Išbandykite tai naudodami sertifikuotą „Smart Rail“sistemą ir pažiūrėkite, ar jūsų patobulinimai daro sistemą saugesnę.

Rekomenduojamas: