Spisu treści:

LifeGuard 2.0: 7 kroków (ze zdjęciami)
LifeGuard 2.0: 7 kroków (ze zdjęciami)

Wideo: LifeGuard 2.0: 7 kroków (ze zdjęciami)

Wideo: LifeGuard 2.0: 7 kroków (ze zdjęciami)
Wideo: Ups. 2024, Listopad
Anonim
LifeGuard 2.0
LifeGuard 2.0

Czy kiedykolwiek chciałeś wykonywać operacje matematyczne, odczytywać czujniki, monitorować wejścia analogowe i cyfrowe oraz sterować wyjściami analogowymi i cyfrowymi bez wcześniejszego doświadczenia w elektronice? Jeśli tak, ten projekt jest właśnie dla Ciebie! Wykorzystamy mikrokontroler i MATLAB do stworzenia urządzenia, które może służyć do monitorowania i ulepszania systemu EF Express SMART RAIL. Dzięki mikrokontrolerowi możliwości wejść i wyjść (sygnał/informacja wchodzący do płytki i sygnał wychodzący z płytki) są nieograniczone. Jako wejścia będziemy używać czujnika flex i potencjometru. Ich wyjściami będą komunikaty odpowiednio na ekranie LCD i diodach LED wraz z brzęczykiem. Udoskonalenia, które mamy nadzieję wprowadzić w systemie SMART RAIL, są związane z poprawą bezpieczeństwa systemu. Chwyć laptopa i mikrokontroler i zacznijmy!

Krok 1: Oprogramowanie i materiały

Oprogramowanie i materiały
Oprogramowanie i materiały
Oprogramowanie i materiały
Oprogramowanie i materiały
Oprogramowanie i materiały
Oprogramowanie i materiały
Oprogramowanie i materiały
Oprogramowanie i materiały

Potrzebne oprogramowanie

1.) MATLAB

- Musisz pobrać lokalną wersję MATLAB na swój komputer. Wejdź na mathworks.com i załóż konto MATHWORKS, pobierz pliki i aktywuj licencję.

-Należy pobrać i zainstalować WSZYSTKIE dostępne zestawy narzędzi dla najnowszej wersji (R2016a lub R2016b).

-Użytkownicy Mac: musisz mieć OSX 10.9.5 lub nowszy, aby uruchomić R2015b, można uruchomić wcześniejszą wersję MATLAB.

2.) Pakiet wsparcia sprzętowego Arduino:

-Zainstaluj pakiet wsparcia sprzętowego Arduino. Otwórz MATLAB. W zakładce MATLAB Home, w menu Environment, wybierz Add-Ons Get Hardware Support Packages Wybierz "MATLAB Support Package for Arduino Hardware". Musisz zalogować się na swoje konto MATHWORKS

-Jeśli Twoja instalacja zostanie przerwana i będziesz mieć kolejne nieudane próby/błędy podczas instalacji pakietu sprzętowego - znajdź i usuń folder Arduino download na dysku twardym i zacznij od początku.

Potrzebne materiały

1.) Laptop lub komputer stacjonarny

2.) Płytka Arduino SparkFun

3.) Czujnik Flex

4.) Potencjometr

5.) Ekran LCD

6.) światło LED

7.) Zestaw wynalazcy SparkFun (znajdź online)

8.) Kabel USB i mini USB

9.) Przewody połączeniowe

10.) Brzęczyk piezoelektryczny

Krok 2: Połącz się z Arduino i określ port COM

(Port COM może się zmieniać po każdym podłączeniu) Podłącz kabel Arduino USB do komputera i mini USB do płyty Arduino. Pobranie sterowników może wymagać kilku minut.

Aby określić port COM:

Na PC

Metoda 1: W MATLAB użyj polecenia - fopen(serial('nada'))

-określenie portu komunikacyjnego. Możesz otrzymać następujący błąd: Błąd przy użyciu portu szeregowego/fopen (linia 72) Nieudane otwarcie: Port: NADA jest niedostępny. Dostępne porty: COM3. Ten błąd wskazuje, że twój port to 3.

-Jeśli metoda 1 nie powiedzie się na twoim komputerze, otwórz Menedżera urządzeń i rozwiń listę Porty (COM i LPT). Zanotuj numer portu szeregowego USB. np. 'USB Serial Port(COM*)' Numer portu to * tutaj.

- Jeśli nie jest wyświetlany żaden port, zamknij MATLAB i uruchom ponownie komputer. Otwórz MATLAB i spróbuj ponownie fopen(serial('nada')).

-Jeśli to się nie powiedzie, może być konieczne pobranie sterowników SparkFun z pliku CDM_v2.12.00_WHQL_Certified.exe, otwarcie i uruchomienie pliku CDM_v2.12.00_WHQL_Certified.exe, a następnie wybranie opcji Wyodrębnij. (Być może trzeba będzie otworzyć plik z eksploratora, kliknąć prawym przyciskiem myszy i „Uruchom jako administrator”).

-W oknie poleceń MATLAB utwórz obiekt Arduino - a=arduino('comx', 'uno'); % x to numer portu podany powyżej dla komputerów PC (bez poprzedzających zer!)

Na Macu

Metoda 1: Z wiersza poleceń MATLAB lub z terminala Mac i wpisz: 'ls /dev/tty.*' Zanotuj numer portu podany dla dev/tty.usbmodem* lub dev/tty.usbserial*. Numer portu to * tutaj.

-Jeśli metoda 1 nie powiedzie się na twoim MAC, może być konieczne

-Wyjdź z MATLAB

-Zamknij oprogramowanie Arduino i odłącz kabel Arduino USB

- zainstaluj środowisko wykonawcze Java 6

- zainstaluj rozszerzenie jądra sterownika USB

-Zrestartuj swój komputer

-Podłącz ponownie kabel Arduino USB

-Uruchom z wiersza poleceń MATLAB lub terminala Mac: ls /dev/tty.*

-Zanotuj numer portu podany dla dev/tty.usbmodem* lub dev/tty.usbserial*. Numer portu to * tutaj.

-W oknie poleceń MATLAB utwórz obiekt Arduino - a=arduino('/dev/tty.usbserial*', 'uno'); % * to numer portu podany powyżej dla komputerów MAC lub „/dev/tty.usbmodem*”

Krok 3: Kod Matlab

Kod Matlaba
Kod Matlaba
Kod Matlaba
Kod Matlaba

Wejścia:

1.) Czujnik Flex

2.) Potencjometr

Wyjścia:

1.) Ekran LCD z komunikatem „Train Coming”

2.) Światło LED

3.) Brzęczyk piezoelektryczny

W tym kroku będziemy konstruować kod, który będzie analizował dane wejściowe z płyty Arduino i dostarczał dane wyjściowe na podstawie wyników analizy MATLAB. Poniższy kod pozwoli Ci wykonać kilka funkcji: po uruchomieniu potencjometru piezoelektryczny brzęczyk będzie emitował naprzemienne częstotliwości, a czerwona dioda LED będzie migać. Gdy pociąg nie zostanie wykryty, zapali się zielona dioda LED. Po uruchomieniu czujnika Flex, zielona dioda LED zgaśnie, zaświeci się czerwona dioda LED, a na wyświetlaczu LCD pojawi się komunikat „Train Coming”.

Kod MATLAB:

%remery1, shornsb1, wmurrin

%Cel: Ostrzeżenie o pociągu

% IIInput: potencjometr, czujnik flex

% wyjście: lcd, dźwięk, światło

% Jeśli płyta nie jest zainicjowana lub ma problemy z połączeniem, wykonaj

%poniżej poleceń w komentarzach. Nie trzeba ich wykonywać za każdym razem

%Wyczyść wszystko

%zamknij wszystko

%clc

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

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

% Skonfiguruj kartę po jej podłączeniu

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

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

czas=50; %ustaw czas na 50

clearLCD (lcd) % zainicjuj LCD

%Pętla startowa

podczas gdy czas>0

Napięcie czujnika %Flex określa, czy światło jest zielone, czy jasne

% jest czerwony, a wyświetlacz LCD wyświetla „pociąg nadjeżdża”

flex_status = odczytaj napięcie(a, 'A0'); % odczytane napięcie czujnika flex

jeśli flex_status>4 %jeśli napięcie jest większe niż 4, pętla wyzwalania

writeDigitalPin(a, 'D12', 0) % wyłącz na zielono

writeDigitalPin(a, 'D11', 1) %włącz na czerwono

printLCD(lcd, 'Train Coming') % wyświetl "pociąg nadjeżdża" na LCD

pauza(5) %Czekaj 5 sekund

clearLCD(lcd) % Usuń wiadomość z LCD

writeDigitalPin(a, 'D11', 0) % Wyłącz czerwoną diodę LED

w przeciwnym razie

kończyć się

pe_status = odczytaj napięcie(a, 'A2'); %Odczytaj napięcie potencjometru

jeśli pe_status>2% jeśli napięcie jest większe niż 2, pętla wyzwalania

writeDigitalPin(a, 'D13', 1);%włącz czerwoną diodę LED

playTone(a, 'D9', 400,.25);% Odtwórz 400 Hz na brzęczyku Piezo,.25 s

writeDigitalPin(a, 'D13', 0)% wyłącz czerwoną diodę LED

pauza(.25)%czekaj 0,25 sekundy

writeDigitalPin(a, 'D13', 1) %Powtórz powyżej, z brzęczykiem przy 200Hz

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

writeDigitalPin(a, 'D13', 0)

pauza (.25)

writeDigitalPin(a, 'D13', 1);% Powtórz powyżej

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

writeDigitalPin(a, 'D13', 0)

pauza (.25)

writeDigitalPin(a, 'D13', 1)

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

writeDigitalPin(a, 'D13', 0)

pauza (.25)

writeDigitalPin(a, 'D13', 1) % Powtórz powyżej

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

writeDigitalPin(a, 'D13', 0)

pauza (.25)

writeDigitalPin(a, 'D13', 1)

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

writeDigitalPin(a, 'D13', 0)

pauza (.25)

writeDigitalPin(a, 'D13', 1) % Powtórz powyżej

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

writeDigitalPin(a, 'D13', 0)

pauza (.25)

writeDigitalPin(a, 'D13', 1)

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

writeDigitalPin(a, 'D13', 0)

pauza (.25)

w przeciwnym razie

writeDigitalPin(a, 'D12', 1)%jeśli napięcie jest mniejsze niż 2, włącz zieloną diodę LED

writeDigitalPin(a, 'D13', 0)% zmiana czerwonej diody LED

kończyć się

kończyć się

Krok 4: Okablowanie czujnika Flex

Okablowanie czujnika Flex
Okablowanie czujnika Flex
Okablowanie czujnika Flex
Okablowanie czujnika Flex
Okablowanie czujnika Flex
Okablowanie czujnika Flex
Okablowanie czujnika Flex
Okablowanie czujnika Flex

Potrzebne materiały

1.) 1 czujnik Flex

2.) 1 rezystor 10K Ohm

3.) 8 przewodów połączeniowych

*Patrz odpowiednio na zdjęciach.

W tym obwodzie będziemy mierzyć elastyczność. Czujnik zginania wykorzystuje węgiel na pasku plastiku, aby zachowywać się jak rezystor zmienny, ale zamiast zmieniać rezystancję przez obracanie pokrętła, zmieniasz go, wyginając element. Dzielnik napięcia do wykrywania zmian rezystancji. W naszym przypadku użyjemy czujnika flex do wykrycia przejeżdżającego pociągu, aby nakazać ekranowi LCD (patrz zdjęcie), aby odczytać komunikat „Train Coming”.

*Na rysunkach przedstawiających instrukcje okablowania czujnika Flex, należy odnieść się tylko do przewodów związanych z okablowaniem czujnika Flex. Zignoruj okablowanie Servo.

Szpilki drutu w następujący sposób:

Krok 1: Na płytce Arduino w sekcji POWER podłącz 1 przewód do wejścia 5V i 1 przewód do wejścia GND (masa). Podłącz drugi koniec przewodu 5 V do dodatniego (+) wejścia na płytce drukowanej. Podłącz drugi koniec przewodu GND do ujemnego (-) wejścia na płytce drukowanej.

Krok 2: Na płytce Arduino w sekcji ANALOG IN podłącz 1 do wejścia A0. Podłącz koniec tego przewodu do wejścia j20 na płytce drukowanej.

Krok 3: Na płycie Arduino w sekcji DIGITAL I\O podłącz 1 przewód do wejścia 9. Drugi koniec podłącz do wejścia a3.

Krok 4: Na płytce drukowanej podłącz 1 przewód do dodatniego (+) wejścia. Podłącz drugi koniec do wejścia h24.

Krok 5: Na płytce drukowanej podłącz 1 przewód do wejścia ujemnego (+). Drugi koniec podłącz do wejścia a2.

Krok 6: Na płytce drukowanej podłącz 1 przewód do wejścia ujemnego (-). Drugi koniec podłącz do wejścia b1.

Krok 7: Na płytce drukowanej podłącz 1 przewód do wejścia ujemnego (-). Podłącz drugi koniec do wejścia i19.

Krok 8: Na płytce drukowanej umieść rezystor na wejściach i20 i i24.

*Ostatnie zdjęcie odnosi się do zastosowań w świecie rzeczywistym.

Krok 5: Podłącz Arduino do LCD

Podłącz Arduino do LCD
Podłącz Arduino do LCD
Podłącz Arduino do LCD
Podłącz Arduino do LCD
Podłącz Arduino do LCD
Podłącz Arduino do LCD

*Podążaj za tym linkiem (https://ef.engr.utk.edu/ef230-2017-08/projects/ard…), a następnie zapoznaj się z krokami, które przedstawiłem poniżej, aby podłączyć wyświetlacz LCD do Arduino:

Krok 1: Otwórz plik zip

Krok 2: otwórz plik ReadMe i postępuj zgodnie z instrukcjami

Potrzebne materiały

1.) LCD 16x2 podobny do tego urządzenia od SparkFun -

2.) Przewody połączeniowe

*Patrz odpowiednio na zdjęciach.

Ten krok pokaże, jak utworzyć dodatkową bibliotekę LCD i wyświetlić „Train Coming” na LCD.

Szpilki drutu w następujący sposób:

Pin LCD -> Pin Arduino

1 (VSS) -> Uziemienie

2 (VDD) -> 5V

3 (V0) -> Środkowy pin na czujniku Flex

4 (PS) -> D7

5 (R/W) -> Uziemienie

6 (E) -> d6

11 (DB4) - D5 (PWM)

12 (DB5) -> D4

13 (DB6) -> D3 (PWM)

14 (DB7) -> D2

15 (LED+) -> 5 V

16 (LED-) -> Uziemienie

Krok 6: Podłączanie miękkiego potencjometru

Podłączanie miękkiego potencjometru
Podłączanie miękkiego potencjometru
Podłączanie miękkiego potencjometru
Podłączanie miękkiego potencjometru
Podłączanie miękkiego potencjometru
Podłączanie miękkiego potencjometru

Potrzebne materiały

1.) 1 dioda LED

2.) 1 miękki potencjometr

3.) Przewody połączeniowe

4.) Rezystor 3 330 Ohm

5.) Rezystor 10K Ohm

*Patrz odpowiednio na zdjęciach.

W tym obwodzie użyjemy innego rodzaju rezystora zmiennego, miękkiego potencjometru. Jest to cienki i elastyczny pasek, który może wykryć, gdzie wywierany jest nacisk. Dociskając różne części paska, można zmieniać rezystancję od 100 do 10 kiloomów. Możesz użyć tej możliwości do śledzenia ruchu na potencjometrze lub jako przycisk. W tym obwodzie uruchomimy miękki potencjometr do sterowania diodą LED RGB.

Krok 1: Na płycie Arduino w sekcji DIGITAL I\O podłącz 1 pin do wejścia 10 i 1 pin do wejścia 11. Odpowiednio podłącz drugi koniec tych pinów do wejść h6 i h7.

Krok 2: Na płytce drukowanej podłącz diodę LED do wejść a4, a5, a6 i a7.

Krok 3: Na płytce drukowanej umieść rezystory 3330 omów na wejściach e4-g4, e6-g6 i e7-g7.

Krok 4: Na płytce drukowanej podłącz 1 pin do wejścia e5. Podłącz drugi koniec tego kołka do ujemnego (-) wejścia.

Krok 5: Na płytce drukowanej umieść rezystor 10 kiloomów na wejściach i19-negative(-).

Krok 6: Na płytce drukowanej podłącz 1 pin do j18. Podłącz drugi koniec tego kołka do dodatniego (+) wejścia.

Krok 7: Na płytce drukowanej podłącz 1 pin do wejścia j20. Podłącz drugi koniec tego kołka do ujemnego (-) wejścia.

Krok 7: Przetestuj swoje ulepszenia w systemie Smart Rail

Przetestuj swoje ulepszenia w inteligentnym systemie szynowym
Przetestuj swoje ulepszenia w inteligentnym systemie szynowym
Przetestuj swoje ulepszenia w inteligentnym systemie szynowym
Przetestuj swoje ulepszenia w inteligentnym systemie szynowym

W tym momencie twój kod MATLAB powinien działać, a płytka Arduino powinna być dokładnie podłączona wraz ze wszystkimi dodanymi komponentami. Wypróbuj go na certyfikowanym systemie Smart Rail i sprawdź, czy Twoje ulepszenia zwiększają bezpieczeństwo systemu.

Zalecana: