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, Novembar
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 i 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 praćenje i poboljšanje EF Express SMART RAIL sistema. 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 će biti poruka putem LCD ekrana i LED svjetla zajedno sa zujalicom. Poboljšanja koja se nadamo implementirati u sistem SMART RAIL odnose se na poboljšanje sigurnosti sistema. Uzmite svoj laptop 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 svoj računar. 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: za pokretanje R2015b morate imati OSX 10.9.5 ili noviju verziju, u redu je pokrenuti stariju verziju MATLAB -a.

2.) Arduino paket hardverske podrške:

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

-Ako se instalacija prekine i imate nekoliko uzastopnih neuspjelih pokušaja/greš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.) Laptop ili desktop računar

2.) SparkFun Arduino ploča

3.) Flex senzor

4.) Potenciometar

5.) LCD ekran

6.) LED svjetlo

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

8.) USB kabl i mini USB

9.) Premosne žice

10.) Piezo zujalica

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

(Vaš COM port se može 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 računaru

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

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

-Ako 1. metoda ne uspije na vašem računaru, otvorite Upravitelj uređaja i proširite listu portova (COM i LPT). Zabilježite broj na USB serijskom portu. npr. 'USB serijski port (COM *)' Broj porta je ovdje *.

-Ako nije prikazan port, zatvorite MATLAB i ponovo pokrenite računar. Otvorite MATLAB i pokušajte ponovo fopen (serijski ('nada')).

-Ako ovo 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 programa Explorer, desnim klikom i 'Pokreni kao administrator').

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

Na Macu

Metoda 1: Iz komandne linije MATLAB ili u Mac Terminalu upišite: 'ls /dev/tty.*' Obratite pažnju na broj porta naveden za dev/tty.usbmodem*ili dev/tty.usbserial*. Ovdje je broj porta *.

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

-Izlaz iz MATLAB -a

-Zatvorite Arduino softver i isključite Arduino USB kabel

-instalirajte Java 6 Runtime

-instalirajte proširenje jezgre USB upravljačkog programa

-Ponovo pokrenite računar

-Ponovo priključite Arduino USB kabel

-Pokrenite iz MATLAB komandne linije ili Mac terminala: ls /dev/tty.*

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

-U komandnom prozoru MATLAB kreirajte 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 Code
Matlab Code
Matlab Code
Matlab Code

Ulazi:

1.) Flex senzor

2.) Potenciometar

Izlazi:

1.) LCD ekran sa porukom koja glasi "Voz dolazi"

2.) LED svjetlo

3.) Piezo zujalica

U ovom koraku ćemo konstruirati kôd koji će analizirati ulaze sa Arduino ploče i pružati izlaze na osnovu rezultata MATLAB -ove analize. Sljedeći kôd će vam omogućiti izvršavanje nekoliko funkcija: kada se potenciometar aktivira, piezo zujalica će emitirati naizmjenične frekvencije, a crvena LED će treptati. Kada vlak nije otkriven, zelena LED dioda će svijetliti. Kada se aktivira fleksibilni senzor, LED 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 na voz

%II ulaz: potenciometar, senzor savijanja

%izlaz: LCD, zvuk, svjetlo

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

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

%obriši 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');%konfigurirati D8

configurePin (a, 'D9', 'PWM');%konfigurirati 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 svijetli

%je crveno i LCD ekrani "vlak dolazi"

flex_status = readVoltage (a, 'A0'); %očitanog napona senzora 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 "voz dolazi" na LCD -u

pauza (5) %Sačekajte 5 sekundi

clearLCD (lcd) %Brisanje poruke sa LCD -a

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

else

kraj

pe_status = readVoltage (a, 'A2'); %Očitati napon 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 sek.

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

pauza (0,25)%čekati 0,25 sekundi

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

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

writeDigitalPin (a, 'D13', 0)

pauza (.25)

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

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

writeDigitalPin (a, 'D13', 0)

pauza (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

pauza (.25)

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

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

writeDigitalPin (a, 'D13', 0)

pauza (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

pauza (.25)

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

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

writeDigitalPin (a, 'D13', 0)

pauza (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

pauza (.25)

else

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

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

kraj

kraj

Korak 4: Ožičenje Flex senzora

Ožičenje Flex senzora
Ožičenje Flex senzora
Ožičenje Flex senzora
Ožičenje Flex senzora
Ožičenje Flex senzora
Ožičenje Flex senzora
Ožičenje Flex senzora
Ožičenje Flex senzora

Potrebni materijali

1.) 1 Flex senzor

2.) 1 10K ohmski otpornik

3.) 8 Žica kratkospojnika

*Pogledajte slike, respektivno.

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

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

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

Korak 1: Na Arduino ploču u odjeljku POWER priključite 1 žicu na ulaz 5V i 1 žicu na 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 DIGITAL I / O odjeljku, priključite 1 žicu u ulaz 9. Drugi kraj priključite u 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 ploču sa spojevima 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 na Arduino:

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.) Premosne žice

*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 senzoru

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

Povezivanje mekog potenciometra
Povezivanje mekog potenciometra
Povezivanje mekog potenciometra
Povezivanje mekog potenciometra
Povezivanje mekog potenciometra
Povezivanje mekog potenciometra

Potrebni materijali

1.) 1 LED

2.) 1 Meki potenciometar

3.) Premosne žice

4.) 3 330 Ohm otpornik

5.) 10K ohmski otpornik

*Pogledajte slike, respektivno.

U ovom krugu ćemo koristiti 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 dugme. U ovom krugu ćemo pokrenuti meki potenciometar za kontrolu RGB LED diode.

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

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

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

Korak 4: Na ploči spojite 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 priključite 1 pin u ulaz j20. Drugi kraj tog pina utaknite u negativni (-) ulaz.

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

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

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 Smart Rail sistemu i provjerite čine li vaša poboljšanja sistem sigurnijim.

Preporučuje se: