Turinys:
- 1 žingsnis: programinė įranga ir medžiagos
- 2 veiksmas: prisijunkite prie „Arduino“ir nustatykite COM prievadą
- 3 žingsnis: „Matlab“kodas
- 4 žingsnis: „Flex“jutiklio prijungimas
- 5 veiksmas: prijunkite „Arduino“prie LCD
- 6 žingsnis: minkšto potenciometro prijungimas
- 7 veiksmas: išbandykite savo patobulinimus „Smart Rail“sistemoje
Video: „LifeGuard 2.0“: 7 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:49
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
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
Įė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
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
*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
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
Š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:
„Pasidaryk pats“„Leds Arduino“ruletės žaidimas: 3 žingsniai (su nuotraukomis)
„Pasidaryk pats“37 „Leds Arduino“ruletės žaidimas: Ruletė yra kazino žaidimas, pavadintas prancūziško žodžio, reiškiančio mažą ratą, vardu
„BOSEBerry Pi“interneto radijas: 4 žingsniai (su nuotraukomis)
„BOSEBerry Pi“interneto radijas: man patinka klausytis radijo! Savo namuose naudojau DAB radiją, tačiau radimas buvo šiek tiek nevienodas, o garsas nuolat nutrūko, todėl nusprendžiau sukurti savo interneto radiją. Aplink mano namus ir skaitmeninį brolį turiu stiprų „Wi -Fi“signalą
Profesionali orų stotis naudojant „ESP8266“ir „ESP32 pasidaryk pats“: 9 žingsniai (su nuotraukomis)
Profesionali orų stotis, naudojant „pasidaryk pats“ESP8266 ir ESP32: „LineaMeteoStazione“yra visiška orų stotis, kurią galima sujungti su profesionaliais „Sensirion“jutikliais ir kai kuriais „Davis“prietaiso komponentais (lietaus matuoklis, anemometras)
„Arduino Halloween Edition“- „Zombies“iššokantis ekranas (žingsniai su nuotraukomis): 6 žingsniai
„Arduino Halloween Edition“- „Zombies“iššokantis ekranas (žingsniai su paveikslėliais): norite Helovino metu išgąsdinti savo draugus ir sukelti riksmą? O gal tiesiog norite padaryti gerą išdaigą? Šis iššokantis „Zombies“ekranas gali tai padaryti! Šioje instrukcijoje aš išmokysiu jus, kaip lengvai padaryti iššokančius zombius naudojant „Arduino“. HC-SR0
Varžtas - „pasidaryk pats“belaidis įkrovimo naktinis laikrodis (6 žingsniai): 6 žingsniai (su nuotraukomis)
Varžtas - „Pasidaryk pats“belaidis įkrovimo naktinis laikrodis (6 žingsniai): Indukcinis įkrovimas (taip pat žinomas kaip belaidis įkrovimas arba belaidis įkrovimas) yra belaidžio energijos perdavimo tipas. Jis naudoja elektromagnetinę indukciją tiekti elektros energiją nešiojamiesiems įrenginiams. Dažniausia programa yra „Qi“belaidžio įkrovimo st