INHOUDSOPGAWE:

LifeGuard 2.0: 7 stappe (met foto's)
LifeGuard 2.0: 7 stappe (met foto's)

Video: LifeGuard 2.0: 7 stappe (met foto's)

Video: LifeGuard 2.0: 7 stappe (met foto's)
Video: Zou jij het kopen ? 😂 #nederlands #holland 2024, November
Anonim
LifeGuard 2.0
LifeGuard 2.0

Wou u al ooit wiskundige bewerkings uitvoer, sensorlesings neem, analoog en digitale insette monitor, en analoog en digitaal uitsette beheer sonder enige vorige elektroniese ervaring? Indien wel, is hierdie projek net vir jou! Ons sal 'n mikrobeheerder en MATLAB gebruik om 'n toestel te skep wat gebruik kan word om die EF Express SMART RAIL -stelsel te monitor en te verbeter. Met 'n mikrobeheerder is die moontlikhede vir insette en uitsette (sein/inligting wat op die bord ingaan en 'n sein wat die bord verlaat) eindeloos. Ons sal 'n buigsensor en potensiometer as insette gebruik. Hul uitsette is onderskeidelik 'n boodskap via 'n LCD -skerm en LED -ligte, sowel as 'n gonser. Die verbeterings wat ons hoop om in die SMART RAIL -stelsel in te stel, hou verband met die verbetering van die veiligheid van die stelsel. Gryp u skootrekenaar en mikrobeheerder, en laat ons begin!

Stap 1: sagteware en materiaal

Sagteware en materiaal
Sagteware en materiaal
Sagteware en materiaal
Sagteware en materiaal
Sagteware en materiaal
Sagteware en materiaal
Sagteware en materiaal
Sagteware en materiaal

Sagteware benodig

1.) MATLAB

- U moet 'n plaaslike weergawe van MATLAB op u rekenaar aflaai. Gaan na mathworks.com en skep 'n MATHWORKS -rekening, laai lêers af en aktiveer u lisensie.

-U moet ALLE beskikbare gereedskapskaste aflaai en installeer vir die nuutste weergawe (R2016a of R2016b).

-Mac -gebruikers: u moet OSX 10.9.5 of later hê om R2015b uit te voer; dit is goed om 'n vorige weergawe van MATLAB te gebruik.

2.) Arduino hardeware -ondersteuningspakket:

-Installeer die pakket Arduino Hardware Support. Maak MATLAB oop. Op die MATLAB-tuisblad, in die Omgewingsmenu, kies Byvoegings Kry hardewareondersteuningspakkette Kies die "MATLAB-ondersteuningspakket vir Arduino-hardeware". U moet by u MATHWORKS -rekening aanmeld

-As u installasie onderbreek word en u opeenvolgende mislukte pogings/foute ondervind tydens die installering van die hardeware -pakket, vind en verwyder die gids Arduino op u hardeskyf en begin van die begin af.

Materiaal benodig

1.) Skootrekenaar of tafelrekenaar

2.) SparkFun Arduino -bord

3.) Flex Sensor

4.) Potensiometer

5.) LCD -skerm

6.) LED -lig

7.) SparkFun Inventor's Kit (vind aanlyn)

8.) USB -kabel en mini -USB

9.) Springdrade

10.) Piezo -gonser

Stap 2: Koppel aan u Arduino en bepaal die COM -poort

(U COM -poort kan verander elke keer as u inprop) Sluit die Arduino USB -kabel aan op u rekenaar en die mini -USB op u Arduino -bord. Miskien moet u 'n paar minute wag voordat die bestuurders afgelaai word.

Om die COM -poort te bepaal:

Op die rekenaar

Metode 1: Gebruik in MATLAB die opdrag - fopen (serial ('nada'))

-om u com -poort te bepaal. U kan so 'n fout kry: Fout met gebruik van seriële/fopen (reël 72) Oopmaak misluk: Poort: NADA is nie beskikbaar nie. Beskikbare hawens: COM3. Hierdie fout dui aan dat u poort 3 is.

-As metode 1 op u rekenaar misluk, maak u Toestelbestuurder oop en brei die Ports (COM en LPT) lys uit. Let op die nommer op die USB -seriële poort. bv. 'USB Serial Poort (COM *)' Die poortnommer is die * hier.

-Sluit geen poort nie, sluit MATLAB en herbegin u rekenaar. Maak MATLAB oop en probeer weer fopen (serial ('nada')).

-As dit misluk, moet u moontlik die bestuurders van SparkFun aflaai van die lêer CDM_v2.12.00_WHQL_Certified.exe, die CDM_v2.12.00_WHQL_Certified.exe -lêer oopmaak en uitvoer en Uittreksel kies. (Miskien moet u die lêer van Explorer oopmaak, met die rechtermuisknop en 'Begin as administrateur').

-Maak 'n Arduino -voorwerp in die MATLAB -opdragvenster - a = arduino ('comx', 'uno'); % x is u poortnommer van bo vir rekenaars (geen voorafgaande nulle nie!)

Op 'n Mac

Metode 1: Vanaf die MATLAB -opdragreël of in 'n Mac Terminal en tik: 'ls /dev/tty.*' Let op die poortnommer vir dev/tty.usbmodem*of dev/tty.usbserial*. Die poortnommer is die * hier.

-As metode 1 misluk op u MAC, moet u dit moontlik doen

-Verlaat MATLAB

-Sluit die Arduino -sagteware en trek die Arduino USB -kabel uit

-installeer Java 6 Runtime

-installeer die USB -bestuurder se kernuitbreiding

-Herbegin u rekenaar

-Koppel die Arduino USB -kabel weer aan

-Loop vanaf die MATLAB -opdragreël of Mac Terminal: ls /dev/tty.*

Let op die poortnommer vir dev/tty.usbmodem* of dev/tty.usbserial*. Die poortnommer is die * hier.

-Maak 'n Arduino -voorwerp in die MATLAB -opdragvenster - a = arduino ('/dev/tty.usbserial*', 'uno'); % * is u poortnommer van bo vir MAC's, of '/dev/tty.usbmodem*'

Stap 3: Matlab -kode

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

Insette:

1.) Flex Sensor

2.) Potensiometer

Uitsette:

1.) LCD -skerm met die boodskap wat lui: "Trein kom"

2.) LED lig

3.) Piezo -zoemer

In hierdie stap bou ons die kode wat die insette van die Arduino -bord sal analiseer en uitsette sal lewer op grond van die resultate van die ontleding van MATLAB. Met die volgende kode kan u verskeie funksies uitvoer: wanneer die potensiometer geaktiveer word, sal die piëzo -zoemer afwisselende frekwensies uitstraal en die rooi LED sal flikker. As 'n trein nie opgespoor word nie, brand die groen LED. As die Flex Sensor geaktiveer word, sal die gulsige LED afskakel, die rooi LED sal brand en die LCD sal 'n boodskap vertoon wat lui "Train Coming".

MATLAB -kode:

%remery1, shornsb1, wmurrin

%Doel: Treinwaarskuwing

%Invoer: potensiometer, buigsensor

%uitset: lcd, klank, lig

%As die bord nie geïnitialiseer is of probleme met die verbinding het nie, voer die

%onder opdragte in kommentaar. Hulle hoef nie elke keer uitgevoer te word nie

%duidelik alles

%sluit almal

%clc

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

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

%Stel die bord op sodra dit gekoppel is

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

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

tyd = 50; %stel tyd op 50

clearLCD (lcd) %initialiseer LCD

%Begin lus

terwyl tyd> 0

%Flex -sensorspanning bepaal of lig groen is of lig

%is rooi en LCD vertoon "trein kom"

flex_status = readVoltage (a, 'A0'); %lees spanning van flex sensor

as flex_status> 4 %as die spanning groter is as 4, aktiveer die lus

writeDigitalPin (a, 'D12', 0) %skakel groen af

writeDigitalPin (a, 'D11', 1) %skakel rooi aan

printLCD (lcd, 'Train Coming') %vertoon "trein kom" op LCD

pouse (5) %Wag 5 sekondes

clearLCD (lcd) %Duidelike boodskap vanaf LCD

writeDigitalPin (a, 'D11', 0) %Skakel Rooi LED uit

anders

einde

pe_status = readVoltage (a, 'A2'); %Lees potensiometer spanning

as pe_status> 2 %as die spanning groter is as 2, aktiveer die lus

writeDigitalPin (a, 'D13', 1);%skakel rooi LED aan

playTone (a, 'D9', 400,.25);% Speel 400Hz op Piezo -zoemer,.25 sek.

writeDigitalPin (a, 'D13', 0)%skakel rooi LED af

pouse (.25)%wag.25 sekondes

writeDigitalPin (a, 'D13', 1) %Herhaal hierbo, met gonser op 200Hz

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

writeDigitalPin (a, 'D13', 0)

pouse (.25)

writeDigitalPin (a, 'D13', 1);%Herhaal hierbo

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

writeDigitalPin (a, 'D13', 0)

pouse (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

pouse (.25)

writeDigitalPin (a, 'D13', 1) %Herhaal hierbo

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

writeDigitalPin (a, 'D13', 0)

pouse (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

pouse (.25)

writeDigitalPin (a, 'D13', 1) %Herhaal hierbo

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

writeDigitalPin (a, 'D13', 0)

pouse (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

pouse (.25)

anders

writeDigitalPin (a, 'D12', 1)%as die spanning minder as 2 is, skakel die groen LED aan

writeDigitalPin (a, 'D13', 0)%draai van Rooi LED

einde

einde

Stap 4: Bedrading van die buigsensor

Bedrading van die flex sensor
Bedrading van die flex sensor
Bedrading van die flex sensor
Bedrading van die flex sensor
Bedrading van die flex sensor
Bedrading van die flex sensor
Bedrading van die flex sensor
Bedrading van die flex sensor

Materiaal benodig

1.) 1 Flex -sensor

2.) 1 10K Ohm Weerstand

3.) 8 Jumper Wires

*Verwys na foto's, onderskeidelik.

In hierdie stroombaan meet ons buiging. 'N Buigsensor gebruik koolstof op 'n plastiekstrook om op te tree soos 'n veranderlike weerstand, maar in plaas daarvan om die weerstand te verander deur aan 'n knop te draai, verander jy deur die komponent te buig. 'N Spanningsverdeler om verandering in weerstand op te spoor. In ons geval sal die flex sensor gebruik word om 'n trein op te spoor om 'n LCD -skerm te beveel (sien foto) om 'n boodskap te lees wat sê "Trein kom".

*Op die foto's wat die instruksies vir die bedrading van 'n Flex Sensor aandui, verwys slegs na die drade wat verband hou met die bedrading van die Flex Sensor. Ignoreer die bedrading vir die Servo.

Draai penne soos volg:

Stap 1: Sluit 1 draad aan op ingang 5V en 1 draad in ingang GND (grond) op die Arduino -bord in die POWER -afdeling. Steek die ander kant van die 5V -draad in 'n positiewe (+) ingang op die printplaat. Steek die ander kant van die GND-draad in 'n negatiewe (-) ingang op die printplaat.

Stap 2: Steek 1 op die A0 -ingang op die Arduino -bord in die ANALOG IN -afdeling. Steek die einde van die draad in die j20 -ingang op die printplaat.

Stap 3: Sluit 1 draad aan op ingang 9 op die Arduino -bord in die DIGITAL I / O -afdeling. Steek die ander kant in ingang a3.

Stap 4: Sluit 1 draad op die printplaat aan op 'n positiewe (+) ingang. Koppel die ander kant in ingang h24.

Stap 5: Sluit 1 draad op die printplaat aan op 'n negatiewe (+) ingang. Koppel die ander kant in invoer a2.

Stap 6: Sluit 1 draad op die printplaat aan op 'n negatiewe (-) ingang. Koppel die ander kant in invoer b1.

Stap 7: Sluit 1 draad op die printplaat aan op 'n negatiewe (-) ingang. Koppel die ander kant in input i19.

Stap 8: Plaas die weerstand op die printplaat op die i20- en i24 -insette.

*Die laaste prentjie verwys na werklike toepassings.

Stap 5: Koppel Arduino aan die LCD

Koppel Arduino aan LCD
Koppel Arduino aan LCD
Koppel Arduino aan LCD
Koppel Arduino aan LCD
Koppel Arduino aan LCD
Koppel Arduino aan LCD

*Volg hierdie skakel (https://ef.engr.utk.edu/ef230-2017-08/projects/ard…) en verwys dan na die stappe wat ek hieronder gegee het om 'n LCD aan te sluit op 'n Arduino:

Stap 1: Maak die zip -lêer oop

Stap 2: maak die ReadMe -lêer oop en volg die instruksies

Materiaal benodig

1.) 16x2 LCD soortgelyk aan hierdie toestel van SparkFun -

2.) Springdrade

*Verwys na foto's, onderskeidelik.

Hierdie stap sal wys hoe u 'n LCD-byvoegingsbiblioteek kan skep en 'Train Coming' op 'n LCD kan vertoon.

Draai penne soos volg:

LCD -pen -> Arduino -pen

1 (VSS) -> Grond

2 (VDD) -> 5V

3 (V0) -> Middelpen op Flex Sensor

4 (RS) -> D7

5 (R/W) -> Grond

6 (E) -> d6

11 (DB4) - D5 (PWM)

12 (DB5) -> D4

13 (DB6) -> D3 (PWM)

14 (DB7) -> D2

15 (LED+) -> 5 V

16 (LED-) -> Grond

Stap 6: Koppel sagte potensiometer

Koppel sagte potensiometer
Koppel sagte potensiometer
Koppel sagte potensiometer
Koppel sagte potensiometer
Koppel sagte potensiometer
Koppel sagte potensiometer

Materiaal benodig

1.) 1 LED

2.) 1 sagte potensiometer

3.) Jumper Wires

4.) 3 330 Ohm Weerstand

5.) Weerstand van 10K Ohm

*Verwys na foto's, onderskeidelik.

In hierdie kring gaan ons 'n ander soort veranderlike weerstand, 'n sagte potensiometer, gebruik. Dit is 'n dun en buigsame strook wat kan waarneem waar druk uitgeoefen word. Deur op verskillende dele van die strook te druk, kan u die weerstand wissel van 100 tot 10 K ohm. U kan hierdie vermoë gebruik om beweging op die potensiometer of as 'n knoppie op te spoor. In hierdie kring sal ons die sagte potensiometer aan die gang kry om 'n RGB -LED te beheer.

Stap 1: Steek 1 pen in die ingang 10 en 1 pen op die ingang 11. Op die Arduino -bord in die DIGITAL I / O -afdeling, steek die ander kant van die penne onderskeidelik in ingang h6 en h7.

Stap 2: Sluit die LED op die printplaat aan op ingange a4, a5, a6 en a7.

Stap 3: Plaas die 3 330 ohm weerstande op die printplaat in die insette e4-g4, e6-g6 en e7-g7.

Stap 4: Steek 1 pen in die ingang e5 op die printplaat. Koppel die ander kant van die pen aan 'n negatiewe (-) invoer.

Stap 5: Plaas die 10K ohm-weerstand op die printplaat in insette i19-negatief (-).

Stap 6: Steek 1 pen in die j18 op die printplaat. Koppel die ander kant van die pen aan 'n positiewe (+) invoer.

Stap 7: Steek 1 pen in die ingang j20 op die printplaat. Koppel die ander kant van die pen aan 'n negatiewe (-) invoer.

Stap 7: Toets u verbeterings op 'n slim spoorstelsel

Toets u verbeterings op 'n slim spoorstelsel
Toets u verbeterings op 'n slim spoorstelsel
Toets u verbeterings op 'n slim spoorstelsel
Toets u verbeterings op 'n slim spoorstelsel

Op hierdie punt moet u MATLAB -kode funksioneel wees en moet die Arduino -bord akkuraat verbind word met alle bygevoegde komponente. Probeer dit op 'n gesertifiseerde Smart Rail System en kyk of u verbeterings die stelsel veiliger maak.

Aanbeveel: