Tartalomjegyzék:

LifeGuard 2.0: 7 lépés (képekkel)
LifeGuard 2.0: 7 lépés (képekkel)

Videó: LifeGuard 2.0: 7 lépés (képekkel)

Videó: LifeGuard 2.0: 7 lépés (képekkel)
Videó: Подбор страховочно спускового устройства 2024, November
Anonim
LifeGuard 2.0
LifeGuard 2.0

Előfordult már, hogy matematikai műveleteket akart végezni, érzékelői leolvasást végezni, analóg és digitális bemeneteket figyelni, valamint analóg és digitális kimeneteket vezérelni, anélkül, hogy korábbi elektronikai tapasztalattal rendelkezne? Ha igen, ez a projekt csak neked szól! Mikrokontrollert és MATLAB -ot fogunk használni az EF Express SMART RAIL rendszer megfigyelésére és fejlesztésére használható eszköz létrehozásához. A mikrovezérlővel a bemenetek és kimenetek lehetőségei (a táblába jutó jel/információ és a tábláról kilépő jel) végtelenek. Bemenetként rugalmas érzékelőt és potenciométert fogunk használni. Kimenetük egy üzenet lesz LCD képernyőn, illetve LED -es lámpák hangjelzéssel együtt. A SMART RAIL rendszerben megvalósítani kívánt fejlesztések a rendszer biztonságának javításához kapcsolódnak. Fogja meg laptopját és mikrovezérlőjét, és kezdjük el!

1. lépés: Szoftver és anyagok

Szoftverek és anyagok
Szoftverek és anyagok
Szoftverek és anyagok
Szoftverek és anyagok
Szoftverek és anyagok
Szoftverek és anyagok
Szoftverek és anyagok
Szoftverek és anyagok

Szoftver szükséges

1.) MATLAB

- Töltse le a MATLAB helyi verzióját a számítógépére. Nyissa meg a mathworks.com webhelyet, és hozzon létre egy MATHWORKS -fiókot, töltse le a fájlokat és aktiválja a licencet.

-Töltse le és telepítse az ÖSSZES elérhető eszköztárat a legújabb kiadáshoz (R2016a vagy R2016b).

-Mac felhasználók: az R2015b futtatásához OSX 10.9.5 vagy újabb verzióval kell rendelkeznie, rendben van a MATLAB korábbi verziójának futtatása.

2.) Arduino hardvertámogató csomag:

-Telepítse az Arduino hardvertámogató csomagot. Nyissa meg a MATLAB alkalmazást. A MATLAB Kezdőlap lapján, a Környezet menüben válassza a Bővítmények hardvertámogatási csomagok beszerzése lehetőséget Válassza ki a "MATLAB támogatási csomag az Arduino hardverhez" lehetőséget. Be kell jelentkeznie MATHWORKS fiókjába

-Ha a telepítés megszakad, és a hardvercsomag telepítésekor egymás után sikertelen próbálkozások/hibák lépnek fel - keresse meg és törölje az Arduino letöltött mappát a merevlemezen, és kezdje elölről.

Szükséges anyagok

1.) Laptop vagy asztali számítógép

2.) SparkFun Arduino Board

3.) Flex érzékelő

4.) Potenciométer

5.) LCD képernyő

6.) LED fény

7.) SparkFun feltalálói készlet (online keresés)

8.) USB kábel és mini USB

9.) Jumper vezetékek

10.) Piezo hangjelző

Lépés: Csatlakozzon az Arduino -hoz, és határozza meg a COM -portot

(A COM -port minden egyes csatlakozáskor megváltozhat.) Csatlakoztassa az Arduino USB -kábelt a számítógéphez, a mini USB -t pedig az Arduino -kártyához. Lehet, hogy várnia kell néhány percet, amíg az illesztőprogramok letöltődnek.

A COM port meghatározásához:

PC -n

1. módszer: A MATLAB -ban használja a - fopen (serial ('nada')) parancsot

-a port kiválasztásához. Ilyen hibaüzenetet kaphat: Hiba a serial/fopen használatakor (72. sor) Megnyitás sikertelen: Port: A NADA nem érhető el. Elérhető portok: COM3. Ez a hiba azt jelzi, hogy a portja 3.

-Ha az 1. módszer nem sikerül a számítógépen, nyissa meg az Eszközkezelőt, és bontsa ki a Portok (COM és LPT) listát. Jegyezze fel a számot az USB soros porton. például. 'USB soros port (COM *)' A port száma itt a *.

-Ha nem jelenik meg port, zárja be a MATLAB alkalmazást, és indítsa újra a számítógépet. Nyissa meg a MATLAB alkalmazást, és próbálja meg újra a fopen (soros ('nada')) alkalmazást.

-Ha ez nem sikerül, előfordulhat, hogy le kell töltenie a SparkFun illesztőprogramjait a CDM_v2.12.00_WHQL_Certified.exe fájlból, nyissa meg és futtassa a CDM_v2.12.00_WHQL_Certified.exe fájlt, majd válassza a Kivonat lehetőséget. (Lehet, hogy meg kell nyitnia a fájlt a felfedezőből, kattintson a jobb egérgombbal, majd kattintson a "Futtatás rendszergazdaként" gombra.)

-A MATLAB parancsablakban hozzon létre egy Arduino objektumot - a = arduino ('comx', 'uno'); % x a port száma felülről a PC -khez (nincs előtte nulla!)

Mac gépen

1. módszer: A MATLAB parancssorból vagy Mac terminálon írja be: 'ls /dev/tty.*' Jegyezze fel a dev/tty.usbmodem*vagy dev/tty.usbserial*portszámot. A port száma itt a *.

-Ha az 1. módszer sikertelen a MAC -n, akkor szükség lehet rá

-Kilépés a MATLAB -ból

-Zárja be az Arduino szoftvert, és húzza ki az Arduino USB -kábelt

-telepítse a Java 6 Runtime programot

-telepítse az USB illesztőprogram -kernel kiterjesztését

-Indítsa újra a számítógépet

-Csatlakoztassa újra az Arduino USB -kábelt

-Futtatás a MATLAB parancssorból vagy a Mac terminálról: ls /dev/tty.*

-Vegye figyelembe a dev/tty.usbmodem* vagy dev/tty.usbserial* portszámot. A port száma itt a *.

-A MATLAB parancsablakban hozzon létre egy Arduino objektumot - a = arduino ('/dev/tty.usbserial*', 'uno'); % * a port száma felülről a MAC -oknál, vagy a /dev/tty.usbmodem* '

3. lépés: Matlab kód

Matlab kód
Matlab kód
Matlab kód
Matlab kód

Bemenetek:

1.) Flex érzékelő

2.) Potenciométer

Kimenetek:

1.) LCD képernyő "Train Coming" felirattal

2.) LED fény

3.) Piezo hangjelző

Ebben a lépésben elkészítjük azt a kódot, amely elemzi az Arduino tábla bemeneteit, és kimeneteket biztosít a MATLAB elemzésének eredményei alapján. A következő kód lehetővé teszi több funkció végrehajtását: amikor a potenciométer aktiválódik, a piezo zümmögő váltakozó frekvenciákat bocsát ki, és a piros LED villog. Ha vonatot nem észlel, a zöld LED kigyullad. Amikor a Flex -érzékelőt aktiválja, a kapzsiság LED kialszik, a piros LED kigyullad, és az LCD -n megjelenik a "Train Coming" felirat.

MATLAB kód:

%remery1, shornsb1, wmurrin

%Cél: vonat figyelmeztetés

%IIbemenet: potenciométer, flex érzékelő

%kimenet: lcd, hang, fény

%Ha az alaplap nincs inicializálva, vagy csatlakozási problémái vannak, hajtsa végre a

%alatt a parancsok a megjegyzésekben. Ezeket nem kell minden alkalommal végrehajtani

%mindent kitöröl

%bezár minden

%clc

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

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

%Konfigurálja az alaplapot, miután csatlakoztatta

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

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

idő = 50; %idő 50 -re állítva

clearLCD (lcd) %inicializálja az LCD -t

%Indítsa el a hurkot

míg az idő> 0

%A flex érzékelő feszültsége határozza meg, hogy a lámpa zöld vagy világít

%piros és az LCD kijelzőn "vonat jön"

flex_status = readVoltage (a, 'A0'); A flex érzékelő olvasási feszültsége %

ha flex_status> 4 %, ha a feszültség nagyobb, mint 4, indítsa el a hurkot

writeDigitalPin (a, 'D12', 0) %zölden kikapcsol

writeDigitalPin (a, 'D11', 1) %pirosra vált

printLCD (lcd, 'Train Coming') %kijelző "vonat érkezik" az LCD -n

szünet (5) %Várjon 5 másodpercet

clearLCD (lcd) %Üzenet törlése az LCD -ről

writeDigitalPin (a, 'D11', 0) %Kapcsolja ki a piros LED -et

más

vége

pe_status = readVoltage (a, 'A2'); %Olvassa le a potenciométer feszültségét

ha pe_status> 2 %, ha a feszültség 2 -nél nagyobb, indítsa el a hurkot

writeDigitalPin (a, 'D13', 1);%kapcsolja be a piros LED -et

playTone (a, 'D9', 400,.25);% Lejátszás 400 Hz -en Piezo hangjelzőn, 0,25 mp

writeDigitalPin (a, 'D13', 0)%kikapcsolja a piros LED -et

szünet (.25)%várakozás.25 másodperc

writeDigitalPin (a, 'D13', 1) %Ismétlés fent, hangjelzéssel 200 Hz -en

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

writeDigitalPin (a, 'D13', 0)

szünet (.25)

writeDigitalPin (a, 'D13', 1);%Ismételje meg fent

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

writeDigitalPin (a, 'D13', 0)

szünet (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

szünet (.25)

writeDigitalPin (a, 'D13', 1) %Ismételje meg fent

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

writeDigitalPin (a, 'D13', 0)

szünet (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

szünet (.25)

writeDigitalPin (a, 'D13', 1) %Ismételje meg fent

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

writeDigitalPin (a, 'D13', 0)

szünet (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

szünet (.25)

más

writeDigitalPin (a, 'D12', 1)%, ha a feszültség kisebb, mint 2, kapcsolja be a zöld LED -et

writeDigitalPin (a, 'D13', 0) A piros LED%-os fordulata

vége

vége

4. lépés: A flex érzékelő bekötése

A flex érzékelő bekötése
A flex érzékelő bekötése
A flex érzékelő bekötése
A flex érzékelő bekötése
A flex érzékelő bekötése
A flex érzékelő bekötése
A flex érzékelő bekötése
A flex érzékelő bekötése

Szükséges anyagok

1.) 1 Flex érzékelő

2.) 1 10K ohmos ellenállás

3.) 8 áthidaló vezeték

*Lásd a képeket, ill.

Ebben az áramkörben rugalmasságot mérünk. A flex érzékelő műanyag szalagon lévő szén segítségével változtatható ellenállásként viselkedik, de ahelyett, hogy a gomb elforgatásával változtatná az ellenállást, az alkatrész hajlításával változtat. Feszültségosztó az ellenállás változásának észlelésére. A mi esetünkben a hajlékony érzékelőt arra használjuk, hogy érzékelje a vonatot, és parancsot ad egy LCD képernyőnek (lásd a képet), hogy elolvassa a "Vonat jön" üzenetet.

*A Flex -érzékelő bekötésére vonatkozó utasításokat bemutató képeken csak a Flex -érzékelő bekötésére vonatkozó vezetékekre hivatkozzon. Figyelmen kívül hagyja a szervó vezetékeit.

Drótcsapok az alábbiak szerint:

1. lépés: Az Arduino táblán a POWER részben csatlakoztasson 1 vezetéket az 5V bemenethez és 1 vezetéket a GND (földelés) bemenethez. Csatlakoztassa az 5 V -os vezeték másik végét az áramköri lap pozitív (+) bemenetéhez. Csatlakoztassa a GND vezeték másik végét az áramköri lap negatív (-) bemenetéhez.

2. lépés: Az Arduino táblán az ANALOG IN részben dugja be az 1 -es bemenetet. Csatlakoztassa a vezeték végét az alaplap j20 bemenetéhez.

3. lépés: Az Arduino táblán a DIGITAL I / O szakaszban csatlakoztasson 1 vezetéket a 9 -es bemenethez. Csatlakoztassa a másik végét az a3 bemenethez.

4. lépés: Az áramköri lapon csatlakoztasson 1 vezetéket pozitív (+) bemenetre. Dugja be a másik végét a h24 bemenetbe.

5. lépés: Az áramköri lapon csatlakoztassa az 1 vezetéket egy negatív (+) bemenethez. Dugja be a másik végét az a2 bemenetbe.

6. lépés: Az áramköri lapon csatlakoztassa az 1 vezetéket egy negatív (-) bemenethez. Dugja be a másik végét a b1 bemenetbe.

7. lépés: Az áramköri lapon csatlakoztassa az 1 vezetéket egy negatív (-) bemenethez. Dugja be a másik végét az i19 bemenetbe.

8. lépés: Az áramköri lapon helyezze az ellenállást az i20 és i24 bemenetekbe.

*Az utolsó kép a valós alkalmazásokra vonatkozik.

Lépés: Csatlakoztassa az Arduino -t az LCD -hez

Csatlakoztassa az Arduino -t az LCD -hez
Csatlakoztassa az Arduino -t az LCD -hez
Csatlakoztassa az Arduino -t az LCD -hez
Csatlakoztassa az Arduino -t az LCD -hez
Csatlakoztassa az Arduino -t az LCD -hez
Csatlakoztassa az Arduino -t az LCD -hez

*Kövesse ezt a linket (https://ef.engr.utk.edu/ef230-2017-08/projects/ard…), majd tekintse meg az alábbi lépéseket az LCD és az Arduino csatlakoztatásához:

Lépés: Nyissa meg a zip fájlt

2. lépés: Nyissa meg a ReadMe fájlt, és kövesse az utasításokat

Szükséges anyagok

1.) A SparkFun eszközéhez hasonló 16x2 LCD kijelző -

2.) Jumper vezetékek

*Lásd a képeket, ill.

Ez a lépés bemutatja, hogyan hozhat létre egy LCD kiegészítő könyvtárat, és hogyan jelenítheti meg a "Train Coming" jelzést az LCD-n.

Drótcsapok az alábbiak szerint:

LCD Pin -> Arduino Pin

1 (VSS) -> Föld

2 (VDD) -> 5V

3 (V0) -> Középső tű a Flex érzékelőn

4 (RS) -> D7

5 (R/W) -> Földelés

6 (E) -> d6

11 (DB4) - D5 (PWM)

12 (DB5) -> D4

13 (DB6) -> D3 (PWM)

14 (DB7) -> D2

15 (LED+) -> 5 V

16 (LED-) -> Földelés

6. lépés: Puha potenciométer csatlakoztatása

Lágy potenciométer csatlakoztatása
Lágy potenciométer csatlakoztatása
Lágy potenciométer csatlakoztatása
Lágy potenciométer csatlakoztatása
Lágy potenciométer csatlakoztatása
Lágy potenciométer csatlakoztatása

Szükséges anyagok

1.) 1 LED

2.) 1 Puha potenciométer

3.) Jumper vezetékek

4.) 3 330 Ohm ellenállás

5.) 10K ohmos ellenállás

*Lásd a képeket, ill.

Ebben az áramkörben egy másik változó ellenállást, egy lágy potenciométert fogunk használni. Ez egy vékony és rugalmas szalag, amely képes érzékelni a nyomás helyét. A szalag különböző részeinek lenyomásával 100 és 10 K között változtathatja az ellenállást. Ezt a képességet használhatja a mozgás nyomon követésére a potenciométeren vagy gombként. Ebben az áramkörben elindítjuk a lágy potenciométert az RGB LED vezérléséhez.

1. lépés: Az Arduino táblán a DIGITAL I / O részben dugjon 1 tűt a 10 -es bemenetbe, és 1 tűt a 11 -es bemenetbe. Illetve csatlakoztassa a tűk másik végét a h6 és h7 bemenethez.

2. lépés: Az áramköri lapon csatlakoztassa a LED -et az a4, a5, a6 és a7 bemenetekhez.

3. lépés: Az áramköri lapon helyezze a 3 330 ohmos ellenállást az e4-g4, e6-g6 és e7-g7 bemenetbe.

4. lépés: Az áramköri lapon csatlakoztasson 1 tűt az e5 bemenethez. Csatlakoztassa a tű másik végét egy negatív (-) bemenethez.

5. lépés: Az áramköri lapon helyezze a 10K ohmos ellenállást az i19-negatív (-) bemenetekbe.

6. lépés: Az áramköri lapon dugjon be 1 tűt a j18 -ba. Csatlakoztassa a tű másik végét egy pozitív (+) bemenethez.

7. lépés: Az áramköri lapon csatlakoztasson 1 tűt a j20 bemenethez. Csatlakoztassa a tű másik végét egy negatív (-) bemenethez.

7. lépés: Tesztelje a fejlesztéseket egy intelligens vasúti rendszeren

Tesztelje fejlesztéseit egy intelligens vasúti rendszeren
Tesztelje fejlesztéseit egy intelligens vasúti rendszeren
Tesztelje fejlesztéseit egy intelligens vasúti rendszeren
Tesztelje fejlesztéseit egy intelligens vasúti rendszeren

Ezen a ponton a MATLAB kódjának működőképesnek kell lennie, és az Arduino kártyát pontosan csatlakoztatni kell az összes hozzáadott összetevővel együtt. Próbálja ki egy hitelesített Smart Rail rendszeren, és nézze meg, hogy a fejlesztések biztonságosabbá teszik -e a rendszert.

Ajánlott: