Πίνακας περιεχομένων:

LifeGuard 2.0: 7 βήματα (με εικόνες)
LifeGuard 2.0: 7 βήματα (με εικόνες)

Βίντεο: LifeGuard 2.0: 7 βήματα (με εικόνες)

Βίντεο: LifeGuard 2.0: 7 βήματα (με εικόνες)
Βίντεο: Ξύλο μεταξύ κάμεραμαν του ΣΚΑΙ και πολίτη 2024, Νοέμβριος
Anonim
LifeGuard 2.0
LifeGuard 2.0

Θέλατε ποτέ να εκτελέσετε μαθηματικές πράξεις, να λάβετε μετρήσεις αισθητήρων, να παρακολουθήσετε αναλογικές και ψηφιακές εισόδους και να ελέγξετε αναλογικές και ψηφιακές εξόδους χωρίς προηγούμενη ηλεκτρονική εμπειρία; Αν ναι, αυτό το έργο είναι μόνο για εσάς! Θα χρησιμοποιήσουμε έναν μικροελεγκτή και MATLAB για να δημιουργήσουμε μια συσκευή που μπορεί να χρησιμοποιηθεί για την παρακολούθηση και την ενίσχυση του συστήματος EF Express SMART RAIL. Με έναν μικροελεγκτή, οι δυνατότητες εισόδων και εξόδων (σήμα/πληροφορίες που εισέρχονται στον πίνακα και σήμα που βγαίνει από τον πίνακα) είναι ατελείωτες. Θα χρησιμοποιούμε έναν ευέλικτο αισθητήρα και ποτενσιόμετρο ως εισόδους μας. Οι έξοδοι τους θα είναι ένα μήνυμα μέσω οθόνης LCD και φώτων LED μαζί με ένα βομβητή, αντίστοιχα. Οι βελτιώσεις που ελπίζουμε να εφαρμόσουμε στο σύστημα SMART RAIL σχετίζονται με τη βελτίωση της ασφάλειας του συστήματος. Πιάστε το φορητό υπολογιστή και τον μικροελεγκτή σας και ξεκινήστε!

Βήμα 1: Λογισμικό και υλικά

Λογισμικό και Υλικά
Λογισμικό και Υλικά
Λογισμικό και Υλικά
Λογισμικό και Υλικά
Λογισμικό και Υλικά
Λογισμικό και Υλικά
Λογισμικό και Υλικά
Λογισμικό και Υλικά

Απαιτείται λογισμικό

1.) MATLAB

- Θα χρειαστεί να κατεβάσετε μια τοπική έκδοση του MATLAB στον υπολογιστή σας. Μεταβείτε στο mathworks.com και δημιουργήστε έναν λογαριασμό MATHWORKS, κάντε λήψη αρχείων και ενεργοποιήστε την άδειά σας.

-Θα πρέπει να κατεβάσετε και να εγκαταστήσετε ΟΛΕΣ τις διαθέσιμες εργαλειοθήκες για την πιο πρόσφατη έκδοση (R2016a ή R2016b).

-Χρήστες Mac: πρέπει να έχετε OSX 10.9.5 ή μεταγενέστερο για να εκτελέσετε το R2015b, είναι εντάξει να εκτελέσετε μια παλαιότερη έκδοση του MATLAB.

2.) Πακέτο υποστήριξης υλικού Arduino:

-Εγκαταστήστε το πακέτο υποστήριξης υλικού Arduino. Ανοίξτε το MATLAB. Στην καρτέλα MATLAB Home, στο μενού Environment, επιλέξτε Add-Ons Get Hardware Support Packages Επιλέξτε το "MATLAB Support Package for Arduino Hardware". Θα χρειαστεί να συνδεθείτε στον λογαριασμό σας MATHWORKS

-Αν διακοπεί η εγκατάσταση και έχετε διαδοχικές αποτυχημένες προσπάθειες/σφάλματα κατά την εγκατάσταση του πακέτου υλικού - βρείτε και διαγράψτε το φάκελο Arduino download στον σκληρό σας δίσκο και ξεκινήστε από την αρχή.

Χρειαζονται ΥΛΙΚΑ

1.) Φορητός ή επιτραπέζιος υπολογιστής

2.) Πίνακας SparkFun Arduino

3.) Flex Sensor

4.) Ποτενσιόμετρο

5.) Οθόνη LCD

6.) Φως LED

7.) SparkFun Inventor's Kit (Βρείτε online)

8.) Καλώδιο USB και μίνι USB

9.) Καλώδια βραχυκυκλωτήρων

10.) Piezo buzzer

Βήμα 2: Συνδεθείτε στο Arduino σας και καθορίστε τη θύρα COM

(Η θύρα COM μπορεί να αλλάζει κάθε φορά που κάνετε προσθήκη) Συνδέστε το καλώδιο USB Arduino στον υπολογιστή σας και το μίνι USB στην πλακέτα Arduino. Mayσως χρειαστεί να περιμένετε λίγα λεπτά για τη λήψη των προγραμμάτων οδήγησης.

Για να προσδιορίσετε τη θύρα COM:

Σε υπολογιστή

Μέθοδος 1: Στο MATLAB χρησιμοποιήστε την εντολή - fopen (σειριακό ('nada'))

-για να καθορίσετε τη θύρα com σας. Ενδέχεται να λάβετε ένα τέτοιο σφάλμα: Σφάλμα κατά τη χρήση του serial/fopen (γραμμή 72) Το άνοιγμα απέτυχε: Θύρα: Το NADA δεν είναι διαθέσιμο. Διαθέσιμες θύρες: COM3. Αυτό το σφάλμα υποδεικνύει ότι η θύρα σας είναι 3.

-Αν η μέθοδος 1 αποτύχει στον υπολογιστή σας, ανοίξτε τη Διαχείριση συσκευών και επεκτείνετε τη λίστα Θύρες (COM και LPT). Σημειώστε τον αριθμό στη σειριακή θύρα USB. π.χ. 'Σειριακή θύρα USB (COM *)' Ο αριθμός θύρας είναι ο * εδώ.

-Εάν δεν εμφανίζεται θύρα, κλείστε το MATLAB και επανεκκινήστε τον υπολογιστή σας. Ανοίξτε το MATLAB και δοκιμάστε ξανά το άνοιγμα (σειριακό ('nada')).

-Αν αποτύχει, ίσως χρειαστεί να κατεβάσετε τα προγράμματα οδήγησης του SparkFun από το αρχείο CDM_v2.12.00_WHQL_Certified.exe, να ανοίξετε και να εκτελέσετε το αρχείο CDM_v2.12.00_WHQL_Certified.exe και να επιλέξετε Εξαγωγή. (Youσως χρειαστεί να ανοίξετε το αρχείο από τον εξερευνητή, κάντε δεξί κλικ και "Εκτέλεση ως διαχειριστής").

-Στο παράθυρο εντολών MATLAB δημιουργήστε ένα αντικείμενο Arduino - a = arduino («comx», «uno»). % x είναι ο αριθμός θύρας σας από πάνω για υπολογιστές (χωρίς προηγούμενα μηδενικά!)

Σε Mac

Μέθοδος 1: Από τη γραμμή εντολών MATLAB ή σε τερματικό Mac και πληκτρολογήστε: 'ls /dev/tty.*' Σημειώστε τον αριθμό θύρας που αναφέρεται για dev/tty.usbmodem*ή dev/tty.usbserial*. Ο αριθμός θύρας είναι το * εδώ.

-Αν η μέθοδος 1 αποτύχει στο MAC σας, ίσως χρειαστεί

-Έξοδος από το MATLAB

-Κλείστε το λογισμικό Arduino και αποσυνδέστε το καλώδιο USB Arduino

-εγκαταστήστε το Java 6 Runtime

-εγκαταστήστε την επέκταση πυρήνα οδηγού USB

-Επανεκκινήστε τον υπολογιστή σας

-Επανασυνδέστε το καλώδιο USB Arduino

-Τρέξτε από τη γραμμή εντολών MATLAB ή το τερματικό Mac: ls /dev/tty.*

-Σημειώστε τον αριθμό θύρας που αναφέρεται για dev/tty.usbmodem* ή dev/tty.usbserial*. Ο αριθμός θύρας είναι το * εδώ.

-Στο παράθυρο εντολών MATLAB δημιουργήστε ένα αντικείμενο Arduino - a = arduino ('/dev/tty.usbserial*', 'uno'). % * είναι ο αριθμός θύρας σας από πάνω για MAC ή '/dev/tty.usbmodem*'

Βήμα 3: Κώδικας Matlab

Κώδικας Matlab
Κώδικας Matlab
Κώδικας Matlab
Κώδικας Matlab

Είσοδοι:

1.) Flex Sensor

2.) Ποτενσιόμετρο

Έξοδος:

1.) Οθόνη LCD με μήνυμα που γράφει "Train Coming"

2.) Φως LED

3.) Piezo buzzer

Σε αυτό το βήμα, θα κατασκευάσουμε τον κώδικα που θα αναλύει τις εισόδους από τον πίνακα Arduino και θα παρέχει εξόδους με βάση τα αποτελέσματα της ανάλυσης του MATLAB. Ο ακόλουθος κώδικας θα σας επιτρέψει να εκτελέσετε διάφορες λειτουργίες: όταν ενεργοποιείται το ποτενσιόμετρο, ο πιεζοηχητικός βομβητής θα εκπέμπει εναλλασσόμενες συχνότητες και το κόκκινο LED θα αναβοσβήνει. Όταν δεν εντοπιστεί τρένο, θα ανάψει η πράσινη λυχνία LED. Όταν ενεργοποιηθεί ο Flex Sensor, το LED απληστίας θα σβήσει, το κόκκινο LED θα ανάψει και η οθόνη LCD θα εμφανίσει ένα μήνυμα που θα γράφει "Train Coming".

Κωδικός MATLAB:

%remery1, shornsb1, wmurrin

%Σκοπός: Προειδοποίηση τρένου

%II είσοδος: ποτενσιόμετρο, εύκαμπτος αισθητήρας

%έξοδος: LCD, ήχος, φως

%Εάν ο πίνακας δεν είναι προετοιμασμένος ή αντιμετωπίζει προβλήματα σύνδεσης, εκτελέστε το

%κάτω από τις εντολές στα σχόλια. Δεν χρειάζεται να εκτελούνται κάθε φορά

%τα καθαρίζω όλα

%κλείσ'τα όλα

%clc

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

%lcd = addon (a, 'ΠαράδειγμαLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'});

%Διαμόρφωση πλακέτας μόλις συνδεθεί

configurePin (a, 'D8', 'pullup');%διαμόρφωση D8

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

χρόνος = 50; %ορίστηκε χρόνος σε 50

clearLCD (lcd) %προετοιμασία LCD

%Βρόχος έναρξης

ενώ χρόνος> 0

%Η τάση του αισθητήρα Flex καθορίζει εάν το φως είναι πράσινο ή αν είναι φως

%είναι κόκκινο και η οθόνη LCD εμφανίζει "έρχεται τρένο"

flex_status = readVoltage (a, 'A0'); %τάσης ανάγνωσης του αισθητήρα κάμψης

εάν flex_status> 4 %εάν η τάση είναι μεγαλύτερη από 4, ενεργοποιήστε το βρόχο

writeDigitalPin (a, 'D12', 0) %απενεργοποιείται πράσινο

writeDigitalPin (a, 'D11', 1) %ενεργοποιείται με κόκκινο χρώμα

printLCD (lcd, 'Train Coming') %εμφανίζει "έρχεται τρένο" στην οθόνη LCD

παύση (5) %Περιμένετε 5 δευτερόλεπτα

clearLCD (lcd) %Διαγραφή μηνύματος από την οθόνη LCD

writeDigitalPin (a, 'D11', 0) %Απενεργοποιήστε το κόκκινο LED

αλλού

τέλος

pe_status = readVoltage (a, 'A2'); %Διαβάστε την τάση του ποτενσιόμετρου

εάν pe_status> 2 %εάν η τάση είναι μεγαλύτερη από 2, ενεργοποιήστε το βρόχο

writeDigitalPin (a, 'D13', 1);%ενεργοποιήστε το κόκκινο LED

playTone (a, 'D9', 400,.25);% Αναπαραγωγή 400Hz σε βομβητή Piezo, 0,25 sec

writeDigitalPin (a, 'D13', 0)%απενεργοποιεί το κόκκινο LED

παύση (.25)%αναμονή.25 δευτερόλεπτα

writeDigitalPin (a, 'D13', 1) %Επανάληψη παραπάνω, με βομβητή στα 200Hz

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

writeDigitalPin (a, 'D13', 0)

παύση (.25)

writeDigitalPin (a, 'D13', 1);%Επανάληψη παραπάνω

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

writeDigitalPin (a, 'D13', 0)

παύση (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

παύση (.25)

writeDigitalPin (a, 'D13', 1) %Επαναλάβετε παραπάνω

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

writeDigitalPin (a, 'D13', 0)

παύση (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

παύση (.25)

writeDigitalPin (a, 'D13', 1) %Επαναλάβετε παραπάνω

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

writeDigitalPin (a, 'D13', 0)

παύση (.25)

writeDigitalPin (a, 'D13', 1)

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

writeDigitalPin (a, 'D13', 0)

παύση (.25)

αλλού

writeDigitalPin (a, 'D12', 1)%εάν η τάση είναι μικρότερη από 2, ενεργοποιήστε το πράσινο LED

writeDigitalPin (a, 'D13', 0)%στροφή της κόκκινης λυχνίας LED

τέλος

τέλος

Βήμα 4: Καλωδίωση του αισθητήρα Flex

Καλωδίωση του αισθητήρα Flex
Καλωδίωση του αισθητήρα Flex
Καλωδίωση του Flex Sensor
Καλωδίωση του Flex Sensor
Καλωδίωση του Flex Sensor
Καλωδίωση του Flex Sensor
Καλωδίωση του αισθητήρα Flex
Καλωδίωση του αισθητήρα Flex

Χρειαζονται ΥΛΙΚΑ

1.) 1 Flex Sensor

2.) 1 10K Ohm Resistor

3.) 8 καλώδια βραχυκυκλωτήρων

*Ανατρέξτε στις εικόνες, αντίστοιχα.

Σε αυτό το κύκλωμα, θα μετρήσουμε το flex. Ένας αισθητήρας κάμψης χρησιμοποιεί άνθρακα σε μια πλαστική λωρίδα για να λειτουργεί σαν μεταβλητή αντίσταση, αλλά αντί να αλλάζετε την αντίσταση γυρίζοντας ένα κουμπί, αλλάζετε κάμπτοντας το εξάρτημα. Διαχωριστής τάσης για ανίχνευση αλλαγής αντίστασης. Στην περίπτωσή μας, θα χρησιμοποιηθεί ο ευαίσθητος αισθητήρας για να ανιχνεύσει ένα τρένο που περνά για να δώσει εντολή σε μια οθόνη LCD (βλέπε εικόνα) για να διαβάσει ένα μήνυμα που λέει "Train Coming".

*Στις εικόνες που δείχνουν τις οδηγίες για την καλωδίωση ενός Flex Sensor, ανατρέξτε μόνο στα καλώδια που σχετίζονται με την καλωδίωση του Flex Sensor. Αγνοήστε την καλωδίωση για το Servo.

Καρφίτσες σύρματος ως εξής:

Βήμα 1: Στην πλακέτα Arduino στην ενότητα POWER, συνδέστε 1 καλώδιο στην είσοδο 5V και 1 καλώδιο στην είσοδο GND (γείωση). Συνδέστε το άλλο άκρο του καλωδίου 5V σε μια θετική είσοδο (+) στην πλακέτα κυκλώματος. Συνδέστε το άλλο άκρο του καλωδίου GND σε μια αρνητική (-) είσοδο στην πλακέτα κυκλώματος.

Βήμα 2: Στην πλακέτα Arduino στην ενότητα ANALOG IN, συνδέστε το 1 στην είσοδο A0. Συνδέστε το άκρο αυτού του καλωδίου στην είσοδο j20 στην πλακέτα κυκλώματος.

Βήμα 3: Στην πλακέτα Arduino στην ενότητα DIGITAL I / O, συνδέστε το καλώδιο 1 στην είσοδο 9. Συνδέστε το άλλο άκρο στην είσοδο a3.

Βήμα 4: Στην πλακέτα κυκλώματος, συνδέστε το καλώδιο 1 σε θετική είσοδο (+). Συνδέστε το άλλο άκρο στην είσοδο h24.

Βήμα 5: Στην πλακέτα κυκλώματος, συνδέστε το καλώδιο 1 σε μια αρνητική είσοδο (+). Συνδέστε το άλλο άκρο στην είσοδο a2.

Βήμα 6: Στην πλακέτα κυκλώματος, συνδέστε το καλώδιο 1 σε μια αρνητική (-) είσοδο. Συνδέστε το άλλο άκρο στην είσοδο b1.

Βήμα 7: Στην πλακέτα κυκλώματος, συνδέστε το καλώδιο 1 σε μια αρνητική (-) είσοδο. Συνδέστε το άλλο άκρο στην είσοδο i19.

Βήμα 8: Στην πλακέτα κυκλώματος, τοποθετήστε την αντίσταση στις εισόδους i20 και i24.

*Η τελευταία εικόνα αναφέρεται σε εφαρμογές πραγματικού κόσμου.

Βήμα 5: Συνδέστε το Arduino με την οθόνη LCD

Συνδέστε το Arduino με την οθόνη LCD
Συνδέστε το Arduino με την οθόνη LCD
Συνδέστε το Arduino με την οθόνη LCD
Συνδέστε το Arduino με την οθόνη LCD
Συνδέστε το Arduino με την οθόνη LCD
Συνδέστε το Arduino με την οθόνη LCD

*Ακολουθήστε αυτόν τον σύνδεσμο (https://ef.engr.utk.edu/ef230-2017-08/projects/ard…) και, στη συνέχεια, ανατρέξτε στα βήματα που παρείχα παρακάτω για να συνδέσετε μια οθόνη LCD σε ένα Arduino:

Βήμα 1: Ανοίξτε το αρχείο zip

Βήμα 2: ανοίξτε το αρχείο ReadMe και ακολουθήστε τις οδηγίες

Χρειαζονται ΥΛΙΚΑ

1.) LCD 16x2 παρόμοια με αυτήν τη συσκευή από το SparkFun -

2.) Καλώδια βραχυκυκλωτήρων

*Ανατρέξτε στις εικόνες, αντίστοιχα.

Αυτό το βήμα θα δείξει πώς να δημιουργήσετε μια πρόσθετη βιβλιοθήκη LCD και να εμφανίσετε το "Train Coming" σε μια οθόνη LCD.

Καρφίτσες σύρματος ως εξής:

LCD Pin -> Arduino Pin

1 (VSS) -> Γείωση

2 (VDD) -> 5V

3 (V0) -> Μεσαία ακίδα στον Flex Sensor

4 (RS) -> D7

5 (R/W) -> Ground

6 (Ε) -> d6

11 (DB4) - D5 (PWM)

12 (DB5) -> D4

13 (DB6) -> D3 (PWM)

14 (DB7) -> D2

15 (LED+) -> 5 V

16 (LED-) -> Γείωση

Βήμα 6: Σύνδεση μαλακού ποτενσιόμετρου

Σύνδεση μαλακού ποτενσιόμετρου
Σύνδεση μαλακού ποτενσιόμετρου
Σύνδεση μαλακού ποτενσιόμετρου
Σύνδεση μαλακού ποτενσιόμετρου
Σύνδεση μαλακού ποτενσιόμετρου
Σύνδεση μαλακού ποτενσιόμετρου

Χρειαζονται ΥΛΙΚΑ

1.) 1 LED

2.) 1 Μαλακό Ποτενσιόμετρο

3.) Jumper Wires

4.) Αντίσταση 3 330 Ohm

5.) Αντίσταση 10K Ohm

*Ανατρέξτε στις εικόνες, αντίστοιχα.

Σε αυτό το κύκλωμα, πρόκειται να χρησιμοποιήσουμε ένα άλλο είδος μεταβλητής αντίστασης, ένα μαλακό ποτενσιόμετρο. Πρόκειται για μια λεπτή και εύκαμπτη λωρίδα που μπορεί να ανιχνεύσει πού ασκείται πίεση. Πιέζοντας προς τα κάτω διάφορα μέρη της λωρίδας, μπορείτε να μεταβάλετε την αντίσταση από 100 έως 10 K ohm. Μπορείτε να χρησιμοποιήσετε αυτήν την ικανότητα για να παρακολουθείτε την κίνηση στο ποτενσιόμετρο ή ως κουμπί. Σε αυτό το κύκλωμα, θα ενεργοποιήσουμε το μαλακό ποτενσιόμετρο για τον έλεγχο ενός LED RGB.

Βήμα 1: Στην πλακέτα Arduino στην ενότητα DIGITAL I / O, συνδέστε 1 ακίδα στην είσοδο 10 και 1 ακίδα στην είσοδο 11. Αντίστοιχα, συνδέστε το άλλο άκρο αυτών των ακίδων στην είσοδο h6 και h7.

Βήμα 2: Στην πλακέτα κυκλώματος, συνδέστε το LED στις εισόδους a4, a5, a6 και a7.

Βήμα 3: Στην πλακέτα κυκλώματος, τοποθετήστε τις αντιστάσεις 3 330 ohm στις εισόδους e4-g4, e6-g6 και e7-g7.

Βήμα 4: Στην πλακέτα κυκλώματος, συνδέστε 1 ακίδα στην είσοδο e5. Συνδέστε το άλλο άκρο αυτού του πείρου σε μια αρνητική (-) είσοδο.

Βήμα 5: Στην πλακέτα κυκλώματος, τοποθετήστε την αντίσταση 10K ohm στις εισόδους i19-αρνητικές (-).

Βήμα 6: Στην πλακέτα, συνδέστε 1 ακίδα στο j18. Συνδέστε το άλλο άκρο αυτού του πείρου σε μια θετική είσοδο (+).

Βήμα 7: Στην πλακέτα κυκλώματος, συνδέστε 1 ακίδα στην είσοδο j20. Συνδέστε το άλλο άκρο αυτού του πείρου σε μια αρνητική (-) είσοδο.

Βήμα 7: Δοκιμάστε τις βελτιώσεις σας σε ένα έξυπνο σύστημα σιδηροδρόμων

Δοκιμάστε τις βελτιώσεις σας σε ένα έξυπνο σύστημα σιδηροδρόμων
Δοκιμάστε τις βελτιώσεις σας σε ένα έξυπνο σύστημα σιδηροδρόμων
Δοκιμάστε τις βελτιώσεις σας σε ένα έξυπνο σύστημα σιδηροδρόμων
Δοκιμάστε τις βελτιώσεις σας σε ένα έξυπνο σύστημα σιδηροδρόμων

Σε αυτό το σημείο, ο κώδικας MATLAB θα πρέπει να είναι λειτουργικός και η πλακέτα Arduino να συνδέεται με ακρίβεια μαζί με όλα τα πρόσθετα στοιχεία. Δοκιμάστε το σε ένα πιστοποιημένο Smart Rail System και δείτε αν οι βελτιώσεις σας κάνουν το σύστημα ασφαλέστερο.

Συνιστάται: