Spisu treści:
- Krok 1: Oprogramowanie i materiały
- Krok 2: Połącz się z Arduino i określ port COM
- Krok 3: Kod Matlab
- Krok 4: Okablowanie czujnika Flex
- Krok 5: Podłącz Arduino do LCD
- Krok 6: Podłączanie miękkiego potencjometru
- Krok 7: Przetestuj swoje ulepszenia w systemie Smart Rail
Wideo: LifeGuard 2.0: 7 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
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
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
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
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ąż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
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
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:
Kask ochronny Covid, część 1: wprowadzenie do obwodów Tinkercad!: 20 kroków (ze zdjęciami)
Kask ochronny Covid, część 1: wprowadzenie do obwodów Tinkercad!: Witaj, przyjacielu! W tej dwuczęściowej serii nauczymy się korzystać z obwodów Tinkercad - zabawnego, potężnego i edukacyjnego narzędzia do nauki działania obwodów! Jednym z najlepszych sposobów uczenia się jest robienie. Dlatego najpierw zaprojektujemy nasz własny projekt: th
Zegar lokalizacyjny „Weasley” z 4 wskazówkami: 11 kroków (ze zdjęciami)
Zegar lokalizacji „Weasley” z czterema wskazówkami: Tak więc, mając Raspberry Pi, które od jakiegoś czasu się bawiło, chciałem znaleźć fajny projekt, który pozwoli mi go jak najlepiej wykorzystać. Natknąłem się na ten wspaniały instruktażowy zegar lokalizacji Weasley'a autorstwa ppeters0502 i pomyślałem, że
Licznik kroków - Micro:Bit: 12 kroków (ze zdjęciami)
Licznik kroków - Micro:Bit: Ten projekt będzie licznikiem kroków. Do pomiaru kroków użyjemy czujnika przyspieszenia wbudowanego w Micro:Bit. Za każdym razem, gdy Micro:Bit się trzęsie, dodamy 2 do licznika i wyświetlimy go na ekranie
Bolt - DIY Wireless Charging Night Clock (6 kroków): 6 kroków (ze zdjęciami)
Bolt - DIY Wireless Charging Night Clock (6 kroków): Ładowanie indukcyjne (znane również jako ładowanie bezprzewodowe lub ładowanie bezprzewodowe) to rodzaj bezprzewodowego przesyłania energii. Wykorzystuje indukcję elektromagnetyczną do dostarczania energii elektrycznej do urządzeń przenośnych. Najpopularniejszym zastosowaniem jest stacja ładowania bezprzewodowego Qi
Jak zdemontować komputer za pomocą prostych kroków i zdjęć: 13 kroków (ze zdjęciami)
Jak zdemontować komputer za pomocą prostych kroków i zdjęć: To jest instrukcja demontażu komputera. Większość podstawowych komponentów ma budowę modułową i jest łatwa do usunięcia. Jednak ważne jest, abyś był w tym zorganizowany. Pomoże to uchronić Cię przed utratą części, a także ułatwi ponowny montaż