Sadržaj:

LifeGuard 2.0: 7 koraka (sa slikama)
LifeGuard 2.0: 7 koraka (sa slikama)

Video: LifeGuard 2.0: 7 koraka (sa slikama)

Video: LifeGuard 2.0: 7 koraka (sa slikama)
Video: Je ne vous ai pas tout dit... 2024, Lipanj
Anonim
LifeGuard 2.0
LifeGuard 2.0

Jeste li ikada poželjeli izvesti matematičke operacije, uzeti očitanja senzora, nadzirati analogne i digitalne ulaze te upravljati analognim i digitalnim izlazima bez prethodnog iskustva u elektronici? Ako da, ovaj projekt je samo za vas! Koristit ćemo mikrokontroler i MATLAB za stvaranje uređaja koji se može koristiti za nadzor i poboljšanje EF Express SMART RAIL sustava. S mikrokontrolerom mogućnosti za ulaze i izlaze (signal/informacija koje ulaze u ploču i signal koji izlazi iz ploče) su beskrajne. Kao ulaz ćemo koristiti fleksibilni senzor i potenciometar. Njihovi izlazi bit će poruka putem LCD zaslona i LED svjetla zajedno sa zujalicom. Poboljšanja koja se nadamo implementirati u sustav SMART RAIL odnose se na poboljšanje sigurnosti sustava. Uzmite prijenosno računalo i mikrokontroler i počnimo!

Korak 1: Softver i materijali

Softver i materijali
Softver i materijali
Softver i materijali
Softver i materijali
Softver i materijali
Softver i materijali
Softver i materijali
Softver i materijali

Potreban softver

1.) MATLAB

- Morat ćete preuzeti lokalnu verziju MATLAB -a na svoje računalo. Idite na mathworks.com i postavite MATHWORKS račun, preuzmite datoteke i aktivirajte licencu.

-Trebate preuzeti i instalirati SVE dostupne alate za najnovije izdanje (R2016a ili R2016b).

-Mac korisnici: morate imati OSX 10.9.5 ili noviji za pokretanje R2015b, u redu je pokrenuti stariju verziju MATLAB -a.

2.) Arduino paket hardverske podrške:

-Instalirajte Arduino paket hardverske podrške. Otvorite MATLAB. Na kartici Početna stranica MATLAB-a u izborniku Okolina odaberite Dodaci Nabavite pakete podrške za hardver Odaberite "Paket podrške MATLAB-a za Arduino hardver". Morat ćete se prijaviti na svoj MATHWORKS račun

-Ako se instalacija prekine i imate nekoliko uzastopnih neuspjelih pokušaja/pogrešaka prilikom instaliranja hardverskog paketa - pronađite i izbrišite mapu Arduino preuzmite na svom tvrdom disku i počnite od početka.

Potrebni materijali

1.) Prijenosno ili stolno računalo

2.) SparkFun Arduino ploča

3.) Savitljivi senzor

4.) Potenciometar

5.) LCD zaslon

6.) LED svjetlo

7.) SparkFun Inventor's Kit (pronađite na mreži)

8.) USB kabel i mini USB

9.) Premosne žice

10.) Piezo zujalica

Korak 2: Povežite se sa svojim Arduinom i odredite COM port

(Vaš COM priključak može se promijeniti svaki put kada se priključite) Priključite Arduino USB kabel na računalo, a mini USB na Arduino ploču. Možda ćete morati pričekati nekoliko minuta da se upravljački programi preuzmu.

Da biste odredili COM port:

Na PC -u

Metoda 1: U MATLAB -u koristite naredbu - fopen (serijski ('nada'))

-da biste odredili svoj com port. Možda ćete dobiti sljedeću pogrešku: Greška pri korištenju serijskog/fopen (redak 72) Otvaranje nije uspjelo: Port: NADA nije dostupna. Dostupni priključci: COM3. Ova pogreška ukazuje na to da je vaš port 3.

-Ako 1. metoda ne uspije na vašem računalu, otvorite upravitelj uređaja i proširite popis portova (COM i LPT). Zabilježite broj na USB serijskom priključku. npr. 'USB serijski port (COM *)' Ovdje je broj porta *.

-Ako se ne prikazuje port, zatvorite MATLAB i ponovno pokrenite računalo. Otvorite MATLAB i pokušajte ponovo fopen (serijski ('nada')).

-Ako to ne uspije, možda ćete morati preuzeti upravljačke programe SparkFuna iz datoteke CDM_v2.12.00_WHQL_Certified.exe, otvoriti i pokrenuti datoteku CDM_v2.12.00_WHQL_Certified.exe, a zatim odabrati Izdvojiti. (Možda ćete morati otvoriti datoteku iz Explorera, desnom tipkom miša kliknite "Pokreni kao administrator").

-U naredbenom prozoru MATLAB stvorite Arduino objekt - a = arduino ('comx', 'uno'); % x je vaš broj porta odozgo za računala (bez prethodnih nula!)

Na Macu

Metoda 1: Iz naredbenog retka MATLAB -a ili u Mac terminalu upišite: 'ls /dev/tty.*' Zabilježite broj porta naveden za dev/tty.usbmodem*ili dev/tty.usbserial*. Ovdje je broj porta *.

-Ako 1. metoda ne uspije na vašem MAC -u, možda ćete morati

-Izlazite iz MATLAB -a

-Zatvorite softver Arduino i odspojite Arduino USB kabel

-instalirajte Java 6 Runtime

-instalirajte proširenje jezgre USB upravljačkog programa

-Ponovo pokrenite računalo

-Ponovo priključite Arduino USB kabel

-Pokrenite iz naredbenog retka MATLAB -a ili Mac terminala: ls /dev/tty.*

-Zabilježite broj porta naveden za dev/tty.usbmodem* ili dev/tty.usbserial*. Ovdje je broj porta *.

-U naredbenom prozoru MATLAB stvorite Arduino objekt - a = arduino ('/dev/tty.usbserial*', 'uno'); % * je vaš broj porta odozgo za MAC -ove ili '/dev/tty.usbmodem*'

Korak 3: Matlab kod

Matlab kod
Matlab kod
Matlab kod
Matlab kod

Ulazi:

1.) Savitljivi senzor

2.) Potenciometar

Izlazi:

1.) LCD zaslon sa porukom "Vlak dolazi"

2.) LED svjetlo

3.) Piezo zujalica

U ovom koraku ćemo konstruirati kôd koji će analizirati ulaze s Arduino ploče i pružati izlaze na temelju rezultata MATLAB -ove analize. Sljedeći kôd omogućit će vam obavljanje nekoliko funkcija: kada se aktivira potenciometar, piezo zujalica emitirat će izmjenične frekvencije, a crvena LED lampica će treptati. Kad vlak nije otkriven, zelena LED dioda će svijetliti. Kad se aktivira Flex osjetnik, pohlepa će se isključiti, crvena LED će zasvijetliti, a na LCD -u će se prikazati poruka koja glasi "Vlak dolazi".

MATLAB kod:

%remery1, shornsb1, wmurrin

%Svrha: Upozorenje vlaka

%II ulaz: potenciometar, senzor savijanja

%izlaz: LCD, zvuk, svjetlo

%Ako ploča nije inicijalizirana ili ima problema s povezivanjem, izvedite datoteku

%ispod naredbi u komentarima. Ne moraju se izvršavati svaki put

%očistiti sve

%zatvori sve

%clc

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

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

%Konfigurirajte ploču nakon što je spojena

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

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

vrijeme = 50; %postavljeno vrijeme na 50

clearLCD (lcd) %inicijalizacija LCD -a

%Start Loop

dok je vrijeme> 0

%Napon senzora Flex određuje je li svjetlo zeleno ili svjetlo

%je crveno i LCD zasloni "vlak dolazi"

flex_status = readVoltage (a, 'A0'); %očitanog napona osjetnika savijanja

ako je flex_status> 4 %ako je napon veći od 4, okidačka petlja

writeDigitalPin (a, 'D12', 0) %isključi zeleno

writeDigitalPin (a, 'D11', 1) %uključi crveno

printLCD (lcd, 'Train Coming') %prikaz "vlak dolazi" na LCD -u

pauza (5) %Pričekajte 5 sekundi

clearLCD (lcd) %Brisanje poruke s LCD -a

writeDigitalPin (a, 'D11', 0) %Isključite crvenu LED diodu

drugo

kraj

pe_status = readVoltage (a, 'A2'); %Očitavanje napona potenciometra

ako je pe_status> 2 %ako je napon veći od 2, okidačka petlja

writeDigitalPin (a, 'D13', 1);%uključivanja crvene LED diode

playTone (a, 'D9', 400,, 25);% Reproduciraj 400Hz na Piezo zujalici, 0,25 s

writeDigitalPin (a, 'D13', 0)%isključuje crvenu LED

pauza (.25)%čekanje.25 sekundi

writeDigitalPin (a, 'D13', 1) %Ponovite gore, sa zujalicom na 200Hz

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

writeDigitalPin (a, 'D13', 0)

stanka (0,25)

writeDigitalPin (a, 'D13', 1);%Ponovite gore

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

writeDigitalPin (a, 'D13', 0)

stanka (0,25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

stanka (0,25)

writeDigitalPin (a, 'D13', 1) %Ponovite gore

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

writeDigitalPin (a, 'D13', 0)

stanka (0,25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

stanka (0,25)

writeDigitalPin (a, 'D13', 1) %Ponovite gore

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

writeDigitalPin (a, 'D13', 0)

stanka (0,25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

stanka (0,25)

drugo

writeDigitalPin (a, 'D12', 1)%ako je napon manji od 2, uključite zelenu LED

writeDigitalPin (a, 'D13', 0)%skretanja crvene LED diode

kraj

kraj

Korak 4: Ožičenje Flex osjetnika

Ožičenje Flex osjetnika
Ožičenje Flex osjetnika
Ožičenje Flex osjetnika
Ožičenje Flex osjetnika
Ožičenje Flex osjetnika
Ožičenje Flex osjetnika
Ožičenje Flex osjetnika
Ožičenje Flex osjetnika

Potrebni materijali

1.) 1 Flex senzor

2.) 1 10K ohmski otpornik

3.) 8 Žica kratkospojnika

*Pogledajte slike, respektivno.

U ovom krugu mjerit ćemo flex. Flex senzor koristi ugljik na plastičnoj traci da djeluje kao promjenjivi otpornik, ali umjesto da promijenite otpor okretanjem gumba, mijenjate se savijanjem komponente. Razdjelnik napona za otkrivanje promjene otpora. U našem slučaju, upotrijebit ćemo fleks senzor za otkrivanje vlaka koji prolazi kako bi naredio LCD zaslon (vidi sliku) kako bi pročitao poruku koja kaže "Vlak dolazi".

*Na slikama koje prikazuju upute za ožičenje Flex osjetnika, odnosi se samo na žice koje se odnose na ožičenje Flex osjetnika. Zanemarite ožičenje za servo.

Žičane igle na sljedeći način:

Korak 1: Na Arduino ploču u odjeljku POWER, uključite 1 žicu u ulaz 5V i 1 žicu u ulaz GND (uzemljenje). Drugi kraj 5V žice uključite u pozitivan (+) ulaz na ploči. Drugi kraj žice GND priključite u negativni (-) ulaz na ploči.

Korak 2: Na Arduino ploči u odjeljku ANALOG IN, priključite 1 na ulaz A0. Priključite kraj te žice u ulaz j20 na ploči.

Korak 3: Na Arduino ploči u odjeljku DIGITALNI I / O priključite 1 žicu na ulaz 9. Drugi kraj priključite na ulaz a3.

Korak 4: Na ploči spojite 1 žicu u pozitivni (+) ulaz. Drugi kraj priključite na ulaz h24.

Korak 5: Na ploči spojite 1 žicu u negativni (+) ulaz. Drugi kraj priključite na ulaz a2.

Korak 6: Na ploči spojite 1 žicu u negativni (-) ulaz. Drugi kraj priključite na ulaz b1.

Korak 7: Na ploči spojite 1 žicu u negativni (-) ulaz. Drugi kraj priključite na ulaz i19.

Korak 8: Postavite otpornik na ulaznu ploču na ulazima i20 i i24.

*Posljednja slika odnosi se na aplikacije u stvarnom svijetu.

Korak 5: Spojite Arduino na LCD

Spojite Arduino na LCD
Spojite Arduino na LCD
Spojite Arduino na LCD
Spojite Arduino na LCD
Spojite Arduino na LCD
Spojite Arduino na LCD

*Slijedite ovu vezu (https://ef.engr.utk.edu/ef230-2017-08/projects/ard…), a zatim pogledajte dolje navedene korake za povezivanje LCD-a s Arduinom:

Korak 1: Otvorite zip datoteku

Korak 2: otvorite datoteku ReadMe i slijedite upute

Potrebni materijali

1.) 16x2 LCD sličan ovom uređaju iz SparkFuna -

2.) Žice za kratkospojnike

*Pogledajte slike, respektivno.

Ovaj korak će pokazati kako stvoriti biblioteku dodataka za LCD i prikazati "Train Coming" na LCD-u.

Žičane igle na sljedeći način:

LCD pin -> Arduino pin

1 (VSS) -> Uzemljenje

2 (VDD) -> 5V

3 (V0) -> Srednji pin na savitljivom osjetniku

4 (RS) -> D7

5 (R/W) -> Uzemljenje

6 (E) -> d6

11 (DB4) - D5 (PWM)

12 (DB5) -> D4

13 (DB6) -> D3 (PWM)

14 (DB7) -> D2

15 (LED+) -> 5 V

16 (LED-) -> Uzemljenje

Korak 6: Spajanje mekog potenciometra

Spajanje mekog potenciometra
Spajanje mekog potenciometra
Spajanje mekog potenciometra
Spajanje mekog potenciometra
Spajanje mekog potenciometra
Spajanje mekog potenciometra

Potrebni materijali

1.) 1 LED

2.) 1 Meki potenciometar

3.) Žice kratkospojnika

4.) 3 330 Ohm otpornik

5.) 10K ohmski otpornik

*Pogledajte slike, respektivno.

U ovom krugu koristit ćemo drugu vrstu promjenjivog otpornika, meki potenciometar. Ovo je tanka i fleksibilna traka koja može otkriti gdje se vrši pritisak. Pritiskom na različite dijelove trake možete promijeniti otpor od 100 do 10 K ohma. Ovu mogućnost možete koristiti za praćenje kretanja na potenciometru ili kao gumb. U ovom krugu ćemo pokrenuti meki potenciometar za upravljanje RGB LED diodom.

Korak 1: Na Arduino ploči u DIGITAL I / O odjeljku, priključite 1 pin na ulaz 10 i 1 pin na ulaz 11. Odnosno, drugi kraj tih pinova priključite na ulaz h6 i h7.

Korak 2: Uključite LED na utičnicu na ulaze a4, a5, a6 i a7.

Korak 3: Na ploču postavite 3 330 ohmska otpornika na ulaze e4-g4, e6-g6 i e7-g7.

Korak 4: Na ploči umetnite 1 pin u ulaz e5. Drugi kraj tog pina utaknite u negativni (-) ulaz.

Korak 5: Na ploči postavite otpornik od 10K ohma u ulaze i19-negativne (-).

Korak 6: Na ploči spojite 1 pin u j18. Drugi kraj tog pina utaknite u pozitivan (+) ulaz.

Korak 7: Na ploči spojite 1 priključak na ulaz j20. Drugi kraj tog pina utaknite u negativni (-) ulaz.

Korak 7: Testirajte svoja poboljšanja na pametnom željezničkom sustavu

Testirajte svoja poboljšanja na pametnom željezničkom sustavu
Testirajte svoja poboljšanja na pametnom željezničkom sustavu
Testirajte svoja poboljšanja na pametnom željezničkom sustavu
Testirajte svoja poboljšanja na pametnom željezničkom sustavu

U ovom trenutku vaš MATLAB kôd trebao bi biti funkcionalan, a Arduino ploča treba biti točno povezana zajedno sa svim dodatnim komponentama. Isprobajte ga na certificiranom sustavu Smart Rail i provjerite čine li vaša poboljšanja sustav sigurnijim.

Preporučeni: