Indholdsfortegnelse:

LifeGuard 2.0: 7 trin (med billeder)
LifeGuard 2.0: 7 trin (med billeder)

Video: LifeGuard 2.0: 7 trin (med billeder)

Video: LifeGuard 2.0: 7 trin (med billeder)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim
LifeGuard 2.0
LifeGuard 2.0

Har du nogensinde ønsket at udføre matematiske operationer, foretage sensoraflæsninger, overvåge analoge og digitale indgange og styre analoge og digitale udgange uden tidligere elektronikoplevelse? Hvis ja, er dette projekt lige noget for dig! Vi vil bruge en mikrokontroller og MATLAB til at oprette en enhed, der kan bruges til at overvåge og forbedre EF Express SMART RAIL -systemet. Med en mikrokontroller er mulighederne for input og output (signal/information, der går ind på kortet og et signal, der forlader kortet) uendelige. Vi vil bruge en flex sensor og potentiometer som vores input. Deres output vil være en besked via henholdsvis LCD -skærm og LED -lys sammen med en summer. De forbedringer, vi håber at implementere i SMART RAIL -systemet, er i forhold til at forbedre systemsikkerheden. Tag din bærbare computer og mikrokontroller, og lad os begynde!

Trin 1: Software og materialer

Software og materialer
Software og materialer
Software og materialer
Software og materialer
Software og materialer
Software og materialer
Software og materialer
Software og materialer

Software nødvendig

1.) MATLAB

- Du skal downloade en lokal version af MATLAB på din computer. Gå til mathworks.com og opret en MATHWORKS -konto, download filer, og aktiver din licens.

-Du skal downloade og installere ALLE tilgængelige værktøjskasser til den nyeste version (R2016a eller R2016b).

-Mac -brugere: du skal have OSX 10.9.5 eller nyere for at køre R2015b, det er OK at køre en tidligere version af MATLAB.

2.) Arduino hardware supportpakke:

-Installér Arduino Hardware Support Package. Åbn MATLAB. På fanen MATLAB Start, i menuen Miljø, skal du vælge Tilføjelser Hent hardware-supportpakker Vælg "MATLAB-supportpakke til Arduino-hardware". Du skal logge ind på din MATHWORKS -konto

-Hvis din installation bliver afbrudt, og du har successive mislykkede forsøg/fejl, når du installerer hardwarepakken - find og slet mappen Arduino download på din harddisk, og start fra begyndelsen.

Materialer nødvendige

1.) Bærbar eller stationær computer

2.) SparkFun Arduino Board

3.) Flex -sensor

4.) Potentiometer

5.) LCD -skærm

6.) LED lys

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

8.) USB -kabel og mini -USB

9.) Jumper -tråde

10.) Piezo -summer

Trin 2: Opret forbindelse til din Arduino og bestem COM -porten

(Din COM -port kan ændre sig hver gang du plugin) Tilslut Arduino USB -kablet til din computer og mini USB til dit Arduino -kort. Du skal muligvis vente et par minutter, før driverne kan downloades.

For at bestemme COM -porten:

På pc

Metode 1: I MATLAB skal du bruge kommandoen - fopen (seriel ('nada'))

-for at bestemme din com -port. Du får muligvis en fejl som denne: Fejl ved brug af seriel/fopen (linje 72) Åben mislykkedes: Port: NADA er ikke tilgængelig. Tilgængelige porte: COM3. Denne fejl angiver, at din port er 3.

-Hvis metode 1 mislykkes på din pc, skal du åbne din enhedshåndtering og udvide listen med porte (COM og LPT). Bemærk nummeret på USB Serial Port. f.eks. 'USB Serial Port (COM *)' Portnummeret er * her.

-Hvis der ikke vises nogen port, skal du lukke MATLAB og genstarte din computer. Åbn MATLAB, og prøv fopen (seriel ('nada')) igen.

-Hvis dette mislykkes, skal du muligvis downloade SparkFuns drivere fra filen CDM_v2.12.00_WHQL_Certified.exe, åbne og køre CDM_v2.12.00_WHQL_Certified.exe -filen og vælge Udpak. (Du skal muligvis åbne filen fra explorer, højreklikke og 'Kør som administrator').

-Opret et Arduino -objekt i MATLAB -kommandovinduet - a = arduino ('comx', 'uno'); % x er dit portnummer ovenfra til pc'er (ingen forudgående nuller!)

På en Mac

Metode 1: Fra kommandolinjen MATLAB eller i en Mac Terminal og skriv: 'ls /dev/tty.*' Bemærk portnummeret, der er angivet for dev/tty.usbmodem*eller dev/tty.usbserial*. Portnummeret er * her.

-Hvis metode 1 mislykkes på din MAC, skal du muligvis

-Afslut MATLAB

-Luk Arduino -softwaren, og tag Arduino USB -kablet ud

-installer Java 6 Runtime

-installer USB driver kerneudvidelse

-Genstart din computer

-Tilslut Arduino USB -kabel igen

-Kør fra MATLAB kommandolinje eller Mac Terminal: ls /dev/tty.*

-Bemærk portnummeret, der er angivet for dev/tty.usbmodem* eller dev/tty.usbserial*. Portnummeret er * her.

-Opret et Arduino -objekt i MATLAB -kommandovinduet - a = arduino ('/dev/tty.usbserial*', 'uno'); % * er dit portnummer ovenfra for MAC'er eller '/dev/tty.usbmodem*'

Trin 3: Matlab -kode

Matlab -kode
Matlab -kode
Matlab -kode
Matlab -kode

Indgange:

1.) Flex -sensor

2.) Potentiometer

Udgange:

1.) LCD -skærm med meddelelse, der lyder "Toget kommer"

2.) LED lys

3.) Piezo -summer

I dette trin konstruerer vi koden, der analyserer input fra Arduino -kortet og leverer output baseret på resultaterne af MATLABs analyse. Følgende kode giver dig mulighed for at udføre flere funktioner: Når potentiometeret udløses, udsender piezo -summeren vekslende frekvenser, og den røde LED blinker. Når et tog ikke registreres, lyser den grønne LED. Når Flex -sensoren udløses, slukkes grådigheds -LED'en, den røde LED lyser, og LCD -displayet viser en meddelelse med teksten "Train Coming".

MATLAB -kode:

%remery1, shornsb1, wmurrin

%Formål: Togadvarsel

%IInput: potentiometer, flex sensor

%output: lcd, lyd, lys

%Hvis kortet ikke initialiseres eller har forbindelsesproblemer, skal du udføre

%under kommandoer i kommentarer. De behøver ikke at blive henrettet hver gang

%Slet alt

%luk alle

%clc

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

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

%Konfigurer kortet, når det er tilsluttet

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

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

tid = 50; %indstillet tid til 50

clearLCD (lcd) %initialiserer LCD

%Start sløjfe

mens tiden> 0

%Flex -sensorspænding bestemmer, om lyset er grønt, eller om det er lys

%er rød, og LCD viser "toget kommer"

flex_status = readVoltage (a, 'A0'); %læsespænding af flexsensoren

hvis flex_status> 4 %, hvis spændingen er større end 4, udløses sløjfe

writeDigitalPin (a, 'D12', 0) %slukker grønt

writeDigitalPin (a, 'D11', 1) %tænder rødt

printLCD (lcd, 'Train Coming') %viser "tog kommer" på LCD

pause (5) %Vent 5 sekunder

clearLCD (lcd) %Ryd besked fra LCD

writeDigitalPin (a, 'D11', 0) %Sluk for rød LED

andet

ende

pe_status = readVoltage (a, 'A2'); %Læs potentiometers spænding

hvis pe_status> 2 %, hvis spændingen er større end 2, udløses sløjfe

writeDigitalPin (a, 'D13', 1);%tænder for rød LED

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

writeDigitalPin (a, 'D13', 0)%slukker for rød LED

pause (.25)%vent.25 sekunder

writeDigitalPin (a, 'D13', 1) %Gentag ovenfor med summer ved 200Hz

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

writeDigitalPin (a, 'D13', 0)

pause (.25)

writeDigitalPin (a, 'D13', 1);%Gentag ovenfor

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

writeDigitalPin (a, 'D13', 0)

pause (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

pause (.25)

writeDigitalPin (a, 'D13', 1) %Gentag ovenfor

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

writeDigitalPin (a, 'D13', 0)

pause (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

pause (.25)

writeDigitalPin (a, 'D13', 1) %Gentag ovenfor

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

writeDigitalPin (a, 'D13', 0)

pause (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

pause (.25)

andet

writeDigitalPin (a, 'D12', 1)%hvis spændingen er mindre end 2, tænd den grønne LED

writeDigitalPin (a, 'D13', 0)%drejning af rød LED

ende

ende

Trin 4: Tilslutning af Flex -sensoren

Tilslutning af Flex -sensoren
Tilslutning af Flex -sensoren
Tilslutning af Flex -sensoren
Tilslutning af Flex -sensoren
Tilslutning af Flex -sensoren
Tilslutning af Flex -sensoren
Tilslutning af Flex -sensoren
Tilslutning af Flex -sensoren

Materialer nødvendige

1.) 1 Flex -sensor

2.) 1 10K Ohm modstand

3.) 8 Jumper Wires

*Se henholdsvis billeder.

I dette kredsløb måler vi flex. En flexsensor bruger kulstof på en strimmel plast til at fungere som en variabel modstand, men i stedet for at ændre modstanden ved at dreje på en knap, ændres du ved at bøje komponenten. En spændingsdeler til at registrere ændring i modstand. I vores tilfælde vil vi bruge flexsensoren til at registrere et tog, der passerer for at kommandere en LCD -skærm (se billede) for at læse en meddelelse, der siger "Tog kommer".

*På billederne, der viser instruktionerne til tilslutning af en Flex -sensor, henvises der kun til ledningerne i forhold til kabelføring af Flex -sensoren. Se bort fra ledningerne til Servoen.

Trådnåle som følger:

Trin 1: På Arduino -kortet i POWER -sektionen skal du tilslutte 1 ledning til indgang 5V og 1 ledning til indgang GND (jord). Sæt den anden ende af 5V -ledningen i en positiv (+) indgang på printkortet. Slut den anden ende af GND-ledningen til en negativ (-) indgang på printkortet.

Trin 2: På Arduino -kortet i ANALOG IN -sektionen, tilslut 1 i A0 -indgangen. Slut enden af denne ledning til j20 -indgangen på printkortet.

Trin 3: Sæt 1 ledning på Arduino -kortet i DIGITAL I / O -sektionen til indgang 9. Sæt den anden ende i indgang a3.

Trin 4: Sæt 1 ledning på printkortet i en positiv (+) indgang. Sæt den anden ende i input h24.

Trin 5: Sæt 1 ledning på printkortet i en negativ (+) indgang. Sæt den anden ende i input a2.

Trin 6: Sæt 1 ledning på printkortet i en negativ (-) indgang. Sæt den anden ende i input b1.

Trin 7: Sæt 1 ledning på printkortet i en negativ (-) indgang. Slut den anden ende til input i19.

Trin 8: Placer modstanden i printkortet på i20- og i24 -indgangene.

*Det sidste billede refererer til virkelige applikationer.

Trin 5: Tilslut Arduino til LCD

Tilslut Arduino til LCD
Tilslut Arduino til LCD
Tilslut Arduino til LCD
Tilslut Arduino til LCD
Tilslut Arduino til LCD
Tilslut Arduino til LCD

*Følg dette link (https://ef.engr.utk.edu/ef230-2017-08/projects/ard…) og se derefter de trin, jeg har angivet nedenfor for at slutte en LCD til en Arduino:

Trin 1: Åbn zip -fil

Trin 2: Åbn ReadMe -filen, og følg vejledningen

Materialer nødvendige

1.) 16x2 LCD lignende denne enhed fra SparkFun -

2.) Jumper tråde

*Se henholdsvis billeder.

Dette trin viser, hvordan du opretter et LCD-tilføjelsesbibliotek og viser "Train Coming" på en LCD.

Trådnåle som følger:

LCD Pin -> Arduino Pin

1 (VSS) -> Jord

2 (VDD) -> 5V

3 (V0) -> Midtstift på Flex Sensor

4 (RS) -> D7

5 (R/W) -> Jord

6 (E) -> d6

11 (DB4) - D5 (PWM)

12 (DB5) -> D4

13 (DB6) -> D3 (PWM)

14 (DB7) -> D2

15 (LED+) -> 5 V

16 (LED-) -> Jord

Trin 6: Tilslutning af blødt potentiometer

Tilslutning af blødt potentiometer
Tilslutning af blødt potentiometer
Tilslutning af blødt potentiometer
Tilslutning af blødt potentiometer
Tilslutning af blødt potentiometer
Tilslutning af blødt potentiometer

Materialer nødvendige

1.) 1 LED

2.) 1 blødt potentiometer

3.) Jumper Wires

4.) 3 330 Ohm modstand

5.) 10K Ohm modstand

*Se henholdsvis billeder.

I dette kredsløb vil vi bruge en anden slags variabel modstand, et blødt potentiometer. Dette er en tynd og fleksibel strimmel, der kan registrere, hvor tryk påføres. Ved at trykke ned på forskellige dele af strimlen kan du variere modstanden fra 100 til 10 K ohm. Du kan bruge denne evne til at spore bevægelse på potentiometeret eller som en knap. I dette kredsløb får vi det bløde potentiometer op at køre for at styre en RGB LED.

Trin 1: På Arduino -kortet i DIGITAL I / O -sektionen sættes 1 pin til input 10 og 1 pin til input 11. Sæt den anden ende af disse pins i input h6 og h7.

Trin 2: Sæt lysdioden på printkortet i indgangene a4, a5, a6 og a7.

Trin 3: Placer de 3 330 ohm modstande på printkortet på indgangene e4-g4, e6-g6 og e7-g7.

Trin 4: Sæt 1 pin i printkortet på input e5. Slut den anden ende af denne pin til en negativ (-) indgang.

Trin 5: Placer 10K ohm-modstanden på printkortet i input i19-negative (-).

Trin 6: Sæt 1 pin i printkortet på j18. Sæt den anden ende af denne pin i en positiv (+) input.

Trin 7: Sæt 1 pin i printkortet på input j20. Slut den anden ende af denne pin til en negativ (-) indgang.

Trin 7: Test dine forbedringer på et Smart Rail System

Test dine forbedringer på et Smart Rail System
Test dine forbedringer på et Smart Rail System
Test dine forbedringer på et Smart Rail System
Test dine forbedringer på et Smart Rail System

På dette tidspunkt skal din MATLAB -kode være funktionel, og Arduino -kortet skal være præcist forbundet med alle tilføjede komponenter. Prøv det på et certificeret Smart Rail System, og se om dine forbedringer gør systemet mere sikkert.

Anbefalede: