Innehållsförteckning:

LifeGuard 2.0: 7 steg (med bilder)
LifeGuard 2.0: 7 steg (med bilder)

Video: LifeGuard 2.0: 7 steg (med bilder)

Video: LifeGuard 2.0: 7 steg (med bilder)
Video: Fire Truck Driving,Big Sity Ambulance,Helicopter Rescue,911 Airport Rescue 2,Beach Life Guard 2024, November
Anonim
LifeGuard 2.0
LifeGuard 2.0

Har du någonsin velat utföra matematiska operationer, ta sensoravläsningar, övervaka analoga och digitala ingångar och styra analoga och digitala utgångar utan tidigare elektronikupplevelse? Om ja, det här projektet är bara för dig! Vi kommer att använda en mikrokontroller och MATLAB för att skapa en enhet som kan användas för att övervaka och förbättra EF Express SMART RAIL -systemet. Med en mikrokontroller är möjligheterna för in- och utgångar (signal/information som går in i kortet och en signal som lämnar kortet) oändliga. Vi kommer att använda en flex -sensor och potentiometer som våra ingångar. Deras utgångar kommer att vara ett meddelande via LCD -skärm och LED -lampor tillsammans med en summer. De förbättringar vi hoppas kunna implementera i SMART RAIL -systemet är relaterade till förbättrad systemsäkerhet. Ta din bärbara dator och mikrokontroller, och låt oss börja!

Steg 1: Programvara och material

Programvara och material
Programvara och material
Programvara och material
Programvara och material
Programvara och material
Programvara och material
Programvara och material
Programvara och material

Programvara behövs

1.) MATLAB

- Du måste ladda ner en lokal version av MATLAB på din dator. Gå till mathworks.com och skapa ett MATHWORKS -konto, ladda ner filer och aktivera din licens.

-Du bör ladda ner och installera ALLA tillgängliga verktygslådor för den senaste versionen (R2016a eller R2016b).

-Mac -användare: du måste ha OSX 10.9.5 eller senare för att köra R2015b, det är OK att köra en tidigare version av MATLAB.

2.) Arduino maskinvarusupportpaket:

-Installera Arduino Hardware Support Package. Öppna MATLAB. På fliken MATLAB Home, i miljömenyn, välj tillägg Hämta paket för maskinvarusupport Välj "MATLAB-supportpaket för Arduino-maskinvara". Du måste logga in på ditt MATHWORKS -konto

-Om din installation blir avbruten och du har misslyckade försök/fel när du installerar maskinvarupaketet - hitta och ta bort mappen Arduino ladda ner på din hårddisk och börja från början.

Material behövs

1.) Bärbar eller stationär dator

2.) SparkFun Arduino Board

3.) Flex -sensor

4.) Potentiometer

5.) LCD -skärm

6.) LED -ljus

7.) SparkFun Inventor's Kit (Hitta online)

8.) USB -kabel och mini -USB

9.) Bygeltrådar

10.) Piezo -summer

Steg 2: Anslut till din Arduino och bestäm COM -porten

(Din COM -port kan ändras varje gång du pluggar in) Anslut Arduino USB -kabel till din dator och mini -USB till ditt Arduino -kort. Du kan behöva vänta några minuter innan drivrutinerna laddas ner.

Så här bestämmer du COM -porten:

På PC

Metod 1: I MATLAB använder du kommandot - fopen (seriell ('nada'))

-för att bestämma din port. Du kan få ett felmeddelande så här: Fel med seriell/fopen (rad 72) Öppning misslyckades: Port: NADA är inte tillgänglig. Tillgängliga portar: COM3. Det här felet indikerar att din port är 3.

-Om metod 1 misslyckas på din dator, öppna Enhetshanteraren och expandera listan över portar (COM och LPT). Notera numret på USB -porten. t.ex. 'USB Serial Port (COM *)' Portnumret är * här.

-Om ingen port visas stänger du MATLAB och startar om datorn. Öppna MATLAB och försök med fopen (seriell ('nada')) igen.

-Om detta misslyckas kan du behöva ladda ner SparkFuns drivrutiner från filen CDM_v2.12.00_WHQL_Certified.exe, öppna och köra CDM_v2.12.00_WHQL_Certified.exe -filen och välj Extrahera. (Du kan behöva öppna filen från explorer, högerklicka och "Kör som administratör").

-I kommandofönstret MATLAB skapar du ett Arduino -objekt - a = arduino ('comx', 'uno'); % x är ditt portnummer ovanifrån för datorer (inga föregående nollor!)

På en Mac

Metod 1: Från MATLAB -kommandoraden eller i en Mac -terminal och skriv: 'ls /dev/tty.*' Notera portnumret som anges för dev/tty.usbmodem*eller dev/tty.usbserial*. Portnumret är * här.

-Om metod 1 misslyckas på din MAC kan du behöva

-Avsluta MATLAB

-Stäng Arduino -programvaran och dra ur Arduino USB -kabel

-installera Java 6 Runtime

-installera USB -drivrutinens kärntillägg

-Starta om din dator

-Koppla tillbaka Arduino USB -kabel

-Kör från MATLAB -kommandoraden eller Mac Terminal: ls /dev/tty.*

-Notera portnumret som anges för dev/tty.usbmodem* eller dev/tty.usbserial*. Portnumret är * här.

-I MATLAB -kommandofönstret skapar du ett Arduino -objekt - a = arduino ('/dev/tty.usbserial*', 'uno'); % * är ditt portnummer ovanifrån för MAC, eller '/dev/tty.usbmodem*'

Steg 3: Matlab -kod

Matlab -kod
Matlab -kod
Matlab -kod
Matlab -kod

Ingångar:

1.) Flex -sensor

2.) Potentiometer

Utgångar:

1.) LCD -skärm med meddelande som läser "Tåg kommer"

2.) LED -ljus

3.) Piezo -summer

I det här steget kommer vi att konstruera koden som analyserar ingångarna från Arduino -kortet och ger utgångar baserat på resultaten från MATLAB: s analys. Följande kod låter dig utföra flera funktioner: när potentiometern utlöses kommer piezo -summern att avge alternerande frekvenser och den röda lysdioden blinkar. När ett tåg inte upptäcks tänds den gröna lysdioden. När Flex -sensorn utlöses släcks girighets -LED: en, den röda LED -lampan tänds och LCD -skärmen visar ett meddelande som säger "Tåg kommer".

MATLAB -kod:

%remery1, shornsb1, wmurrin

%Syfte: Tågvarning

%II -ingång: potentiometer, flex -sensor

%utgång: lcd, ljud, ljus

%Om kortet inte initialiseras eller har problem med anslutningen, kör

%under kommandon i kommentarer. De behöver inte utföras varje gång

%Rensa alla

%Stäng alla

%clc

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

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

%Konfigurera kortet när det är anslutet

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

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

tid = 50; %inställd tid till 50

clearLCD (lcd) %initierar LCD

%Starta loop

medan tiden> 0

%Flex -sensorspänning avgör om ljuset är grönt eller om det är ljus

%är röd och LCD -skärmar "tåg kommer"

flex_status = readVoltage (a, 'A0'); %lässpänning för flexsensorn

om flex_status> 4 %om spänningen är större än 4, trigga slingan

writeDigitalPin (a, 'D12', 0) %stängs av grönt

writeDigitalPin (a, 'D11', 1) %aktiveras rött

printLCD (lcd, 'Train Coming') %visar "tåg kommer" på LCD

paus (5) %Vänta 5 sekunder

clearLCD (lcd) %Rensa meddelande från LCD

writeDigitalPin (a, 'D11', 0) %Stäng av den röda lysdioden

annan

slutet

pe_status = readVoltage (a, 'A2'); %Läs potentiometerspänning

om pe_status> 2 %om spänningen är större än 2, trigga slingan

writeDigitalPin (a, 'D13', 1);%tänder röd lysdiod

playTone (a, 'D9', 400,.25);% Spela 400Hz på Piezo -summer,.25 sek

writeDigitalPin (a, 'D13', 0)%släcker den röda lysdioden

paus (.25)%vänta.25 sekunder

writeDigitalPin (a, 'D13', 1) %Upprepa ovan, med summer vid 200Hz

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

writeDigitalPin (a, 'D13', 0)

paus (.25)

writeDigitalPin (a, 'D13', 1);%Upprepa ovan

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

writeDigitalPin (a, 'D13', 0)

paus (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

paus (.25)

writeDigitalPin (a, 'D13', 1) %Upprepa ovan

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

writeDigitalPin (a, 'D13', 0)

paus (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

paus (.25)

writeDigitalPin (a, 'D13', 1) %Upprepa ovan

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

writeDigitalPin (a, 'D13', 0)

paus (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

paus (.25)

annan

writeDigitalPin (a, 'D12', 1)%om spänningen är mindre än 2, slå på den gröna lysdioden

writeDigitalPin (a, 'D13', 0)%varv på den röda lysdioden

slutet

slutet

Steg 4: Anslut flexsensorn

Anslutning av Flex -sensorn
Anslutning av Flex -sensorn
Anslutning av flexsensorn
Anslutning av flexsensorn
Anslutning av flexsensorn
Anslutning av flexsensorn
Anslutning av flexsensorn
Anslutning av flexsensorn

Material behövs

1.) 1 Flex -sensor

2.) 1 10K Ohm motstånd

3.) 8 bygeltrådar

*Se bilderna respektive.

I denna krets kommer vi att mäta flex. En flexsensor använder kol på en plastremsa för att fungera som ett variabelt motstånd, men istället för att ändra motståndet genom att vrida en ratt ändrar du genom att böja komponenten. En spänningsdelare för att upptäcka förändring i motstånd. I vårt fall kommer vi att använda flexsensorn för att upptäcka ett tåg som passerar för att beordra en LCD -skärm (se bild) för att läsa ett meddelande som säger "Tåg kommer".

*På bilderna som visar instruktionerna för anslutning av en Flex -sensor, hänvisar du bara till ledningarna i förhållande till kablarna för Flex -sensorn. Bortse från ledningarna till Servon.

Kabelnålar enligt följande:

Steg 1: På Arduino -kortet i POWER -sektionen ansluter du en kabel till ingång 5V och en kabel till ingång GND (jord). Anslut den andra änden av 5V -kabeln till en positiv (+) ingång på kretskortet. Anslut den andra änden av GND-kabeln till en negativ (-) ingång på kretskortet.

Steg 2: På Arduino -kortet i ANALOG IN -sektionen, anslut 1 i A0 -ingången. Anslut änden av den kabeln till j20 -ingången på kretskortet.

Steg 3: På Arduino -kortet i DIGITAL I / O -sektionen, anslut 1 kabel till ingång 9. Anslut den andra änden till ingång a3.

Steg 4: Anslut 1 kabel till kretskortet till en positiv (+) ingång. Anslut den andra änden till ingång h24.

Steg 5: Anslut 1 kabel till kretskortet till en negativ (+) ingång. Anslut den andra änden till ingång a2.

Steg 6: Anslut 1 kabel till kretskortet till en negativ (-) ingång. Anslut den andra änden till ingång b1.

Steg 7: Anslut 1 kabel till kretskortet till en negativ (-) ingång. Anslut den andra änden till ingång i19.

Steg 8: Placera motståndet i kretskortet i ingångarna i20 och i24.

*Den sista bilden hänvisar till verkliga applikationer.

Steg 5: Anslut Arduino till LCD

Anslut Arduino till LCD
Anslut Arduino till LCD
Anslut Arduino till LCD
Anslut Arduino till LCD
Anslut Arduino till LCD
Anslut Arduino till LCD

*Följ denna länk (https://ef.engr.utk.edu/ef230-2017-08/projects/ard…) och hänvisa sedan till stegen jag har angett nedan för att ansluta en LCD till en Arduino:

Steg 1: Öppna zip -filen

Steg 2: öppna ReadMe -filen och följ instruktionerna

Material behövs

1.) 16x2 LCD liknande den här enheten från SparkFun -

2.) Bygeltrådar

*Se bilderna respektive.

Detta steg visar hur du skapar ett LCD-tilläggsbibliotek och visar "Train Coming" på en LCD-skärm.

Kabelnålar enligt följande:

LCD Pin -> Arduino Pin

1 (VSS) -> Jord

2 (VDD) -> 5V

3 (V0) -> Mittstift på Flex Sensor

4 (RS) -> D7

5 (R/W) -> Mark

6 (E) -> d6

11 (DB4) - D5 (PWM)

12 (DB5) -> D4

13 (DB6) -> D3 (PWM)

14 (DB7) -> D2

15 (LED+) -> 5 V

16 (LED-) -> Mark

Steg 6: Anslutning av mjuk potentiometer

Anslutning av mjuk potentiometer
Anslutning av mjuk potentiometer
Anslutning av mjuk potentiometer
Anslutning av mjuk potentiometer
Anslutning av mjuk potentiometer
Anslutning av mjuk potentiometer

Material behövs

1.) 1 lysdiod

2.) 1 mjuk potentiometer

3.) Bygeltrådar

4.) 3 330 Ohm motstånd

5.) 10K Ohm motstånd

*Se bilderna respektive.

I denna krets kommer vi att använda en annan typ av variabelt motstånd, en mjuk potentiometer. Detta är en tunn och flexibel remsa som kan upptäcka var tryck appliceras. Genom att trycka ner olika delar av remsan kan du variera motståndet från 100 till 10 K ohm. Du kan använda denna förmåga att spåra rörelser på potentiometern eller som en knapp. I denna krets kommer vi att få igång den mjuka potentiometern för att styra en RGB -LED.

Steg 1: På Arduino -kortet i DIGITAL I / O -sektionen, anslut 1 stift till ingång 10 och 1 stift till ingång 11. Anslut den andra änden av dessa stift till ingång h6 och h7.

Steg 2: Anslut lysdioden på kretskortet till ingångarna a4, a5, a6 och a7.

Steg 3: Placera de 3 330 ohm motstånden på kretskortet i ingångarna e4-g4, e6-g6 och e7-g7.

Steg 4: Anslut 1 stift på kretskortet till ingång e5. Anslut den andra änden av den stiftet till en negativ (-) ingång.

Steg 5: Placera 10K ohm-motståndet på kretskortet i ingångarna i19-negativ (-).

Steg 6: Anslut 1 stift på kretskortet till j18. Anslut den andra änden av den stiftet till en positiv (+) ingång.

Steg 7: Anslut 1 stift på kretskortet till ingång j20. Anslut den andra änden av den stiftet till en negativ (-) ingång.

Steg 7: Testa dina förbättringar på ett smart järnvägssystem

Testa dina förbättringar på ett smart järnvägssystem
Testa dina förbättringar på ett smart järnvägssystem
Testa dina förbättringar på ett smart järnvägssystem
Testa dina förbättringar på ett smart järnvägssystem

Vid denna tidpunkt ska din MATLAB -kod vara funktionell och Arduino -kortet ska vara korrekt anslutet tillsammans med alla tillagda komponenter. Prova det på ett certifierat Smart Rail System och se om dina förbättringar gör systemet säkrare.

Rekommenderad: