Inhaltsverzeichnis:

LifeGuard 2.0: 7 Schritte (mit Bildern)
LifeGuard 2.0: 7 Schritte (mit Bildern)

Video: LifeGuard 2.0: 7 Schritte (mit Bildern)

Video: LifeGuard 2.0: 7 Schritte (mit Bildern)
Video: Der LIFE GUARD vom Ballermann 2024, Juli
Anonim
LifeGuard 2.0
LifeGuard 2.0

Wollten Sie schon immer mathematische Operationen durchführen, Sensormesswerte erfassen, analoge und digitale Eingänge überwachen und analoge und digitale Ausgänge ohne vorherige Elektronikerfahrung steuern? Wenn ja, ist dieses Projekt nur für Sie! Wir werden einen Mikrocontroller und MATLAB verwenden, um ein Gerät zu erstellen, mit dem das EF Express SMART RAIL-System überwacht und verbessert werden kann. Mit einem Mikrocontroller sind die Möglichkeiten für Ein- und Ausgänge (Signal/Information, die in die Platine eingeht und ein Signal, das die Platine verlässt) endlos. Wir werden einen Flexsensor und ein Potentiometer als unsere Eingänge verwenden. Ihre Ausgaben sind eine Meldung über einen LCD-Bildschirm und LED-Leuchten zusammen mit einem Summer. Die Verbesserungen, die wir hoffentlich in das SMART RAIL-System implementieren, beziehen sich auf die Verbesserung der Systemsicherheit. Schnappen Sie sich Ihren Laptop und Mikrocontroller und lassen Sie uns beginnen!

Schritt 1: Software und Materialien

Software und Materialien
Software und Materialien
Software und Materialien
Software und Materialien
Software und Materialien
Software und Materialien
Software und Materialien
Software und Materialien

Software benötigt

1.) MATLAB

- Sie müssen eine lokale Version von MATLAB auf Ihren Computer herunterladen. Gehen Sie zu mathworks.com und richten Sie ein MATHWORKS-Konto ein, laden Sie Dateien herunter und aktivieren Sie Ihre Lizenz.

-Sie sollten ALLE verfügbaren Toolboxen für die neueste Version (R2016a oder R2016b) herunterladen und installieren.

-Mac-Benutzer: Sie müssen OSX 10.9.5 oder höher haben, um R2015b auszuführen, es ist in Ordnung, eine frühere Version von MATLAB auszuführen.

2.) Arduino-Hardware-Support-Paket:

-Installieren Sie das Arduino Hardware Support Package. Öffnen Sie MATLAB. Wählen Sie auf der Registerkarte MATLAB Home im Environment-Menü Add-Ons Get Hardware Support Packages Wählen Sie das "MATLAB Support Package for Arduino Hardware". Sie müssen sich bei Ihrem MATHWORKS-Konto anmelden

-Wenn Ihre Installation unterbrochen wird und Sie bei der Installation des Hardwarepakets aufeinanderfolgende Fehlversuche/Fehler haben, suchen und löschen Sie den Ordner Arduino Download auf Ihrer Festplatte und beginnen Sie von vorne.

Benötigte Materialien

1.)Laptop oder Desktop-Computer

2.) SparkFun Arduino-Board

3.) Flex-Sensor

4.) Potentiometer

5.) LCD-Bildschirm

6.) LED-Licht

7.) SparkFun Erfinder-Kit (Online finden)

8.) USB-Kabel und Mini-USB

9.) Überbrückungsdrähte

10.) Piezo-Summer

Schritt 2: Verbinden Sie sich mit Ihrem Arduino und bestimmen Sie den COM-Port

(Ihr COM-Port kann sich jedes Mal ändern, wenn Sie einstecken) Verbinden Sie das Arduino-USB-Kabel mit Ihrem Computer und den Mini-USB mit Ihrem Arduino-Board. Möglicherweise müssen Sie einige Minuten warten, bis die Treiber heruntergeladen sind.

So ermitteln Sie den COM-Port:

Auf dem PC

Methode 1: Verwenden Sie in MATLAB den Befehl - fopen(serial('nada'))

-um Ihren Com-Port zu bestimmen. Möglicherweise erhalten Sie eine Fehlermeldung wie diese: Fehler bei der Verwendung von serial/fopen (Zeile 72) Öffnen fehlgeschlagen: Port: NADA ist nicht verfügbar. Verfügbare Ports: COM3. Dieser Fehler zeigt an, dass Ihr Port 3 ist.

-Wenn Methode 1 auf Ihrem PC fehlschlägt, öffnen Sie Ihren Geräte-Manager und erweitern Sie die Liste der Ports (COM und LPT). Notieren Sie die Nummer auf dem seriellen USB-Port. z. B. 'USB Serial Port(COM*)' Die Portnummer ist hier das *.

-Wenn kein Port angezeigt wird, schließen Sie MATLAB und starten Sie Ihren Computer neu. Öffnen Sie MATLAB und versuchen Sie fopen(serial('nada')) erneut.

-Wenn dies fehlschlägt, müssen Sie möglicherweise die Treiber von SparkFun aus der Datei CDM_v2.12.00_WHQL_Certified.exe herunterladen, die Datei CDM_v2.12.00_WHQL_Certified.exe öffnen und ausführen und Extrahieren auswählen. (Möglicherweise müssen Sie die Datei im Explorer öffnen, mit der rechten Maustaste klicken und "Als Administrator ausführen").

-Erstellen Sie im MATLAB-Befehlsfenster ein Arduino-Objekt - a=arduino('comx', 'uno'); % x ist Ihre Portnummer von oben für PCs (keine vorangestellten Nullen!)

Auf einem Mac

Methode 1: Von der MATLAB-Befehlszeile oder in einem Mac-Terminal und geben Sie Folgendes ein: 'ls /dev/tty.*' Notieren Sie sich die Portnummer, die für dev/tty.usbmodem* oder dev/tty.usbserial* aufgeführt ist. Die Portnummer ist hier das *.

-Wenn Methode 1 auf Ihrem MAC fehlschlägt, müssen Sie möglicherweise

-MATLAB verlassen

-Schließen Sie die Arduino-Software und ziehen Sie das Arduino-USB-Kabel ab

- Java 6 Runtime installieren

-USB-Treiber-Kernel-Erweiterung installieren

-Starte deinen Computer neu

- Arduino USB-Kabel wieder anschließen

-Ausführen über die MATLAB-Befehlszeile oder das Mac-Terminal: ls /dev/tty.*

-Notieren Sie die für dev/tty.usbmodem* oder dev/tty.usbserial* aufgeführte Portnummer. Die Portnummer ist hier das *.

-Im MATLAB-Befehlsfenster erstellen Sie ein Arduino-Objekt - a=arduino('/dev/tty.usbserial*', 'uno'); % * ist Ihre Portnummer von oben für MACs oder '/dev/tty.usbmodem*'

Schritt 3: Matlab-Code

Matlab-Code
Matlab-Code
Matlab-Code
Matlab-Code

Eingänge:

1.) Flexsensor

2.) Potentiometer

Ausgänge:

1.) LCD-Bildschirm mit der Meldung "Zug kommt"

2.) LED-Licht

3.) Piezo-Summer

In diesem Schritt konstruieren wir den Code, der die Eingaben vom Arduino-Board analysiert und Ausgaben basierend auf den Ergebnissen der MATLAB-Analyse bereitstellt. Mit dem folgenden Code können Sie mehrere Funktionen ausführen: Beim Auslösen des Potentiometers gibt der Piezo-Summer wechselnde Frequenzen aus und die rote LED blinkt. Wenn kein Zug erkannt wird, leuchtet die grüne LED. Wenn der Flex-Sensor ausgelöst wird, erlischt die Gier-LED, die rote LED leuchtet auf und das LCD zeigt eine Meldung mit der Aufschrift „Zug kommt“an.

MATLAB-Code:

%remery1, shornsb1, wmurrin

%Zweck: Zugwarnung

%IEingang:Potentiometer, Flexsensor

%Ausgabe: LCD, Ton, Licht

%Wenn die Karte nicht initialisiert ist oder Verbindungsprobleme hat, führen Sie die

%unter Befehle in Kommentaren. Sie müssen nicht jedes Mal ausgeführt werden

%alles löschen

%alle schließen

%clc

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

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

%Konfigurieren Sie die Karte, sobald sie verbunden ist

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

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

Zeit = 50; %Zeit auf 50. einstellen

clearLCD(lcd) % LCD initialisieren

%Startschleife

während Zeit>0

%Flex-Sensorspannung bestimmt, ob Licht grün ist oder ob Licht

% ist rot und LCD zeigt "Zug kommt" an

flex_status = readVoltage(a, 'A0'); % gelesene Spannung des Flexsensors

wenn flex_status>4 % wenn die Spannung größer als 4 ist, Triggerschleife

writeDigitalPin(a, 'D12', 0) %grün ausschalten

writeDigitalPin(a, 'D11', 1) %rot einschalten

printLCD(lcd, 'Zug kommend') %anzeige "Zug kommend" auf LCD

Pause(5) %Warten Sie 5 Sekunden

clearLCD(lcd) %Nachricht vom LCD löschen

writeDigitalPin(a, 'D11', 0) % Rote LED ausschalten

anders

Ende

pe_status = readVoltage(a, 'A2'); %Potentiometerspannung lesen

wenn pe_status>2 % wenn die Spannung größer als 2 ist, Triggerschleife

writeDigitalPin(a, 'D13', 1);%rote LED einschalten

playTone(a, 'D9', 400,.25);% Wiedergabe von 400 Hz auf Piezo-Summer, 0,25 Sek.

writeDigitalPin(a, 'D13', 0)%rote LED ausschalten

Pause(.25)%warten.25 Sekunden

writeDigitalPin(a, 'D13', 1) %Wiederholen oben, mit Summer bei 200Hz

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

writeDigitalPin(a, 'D13', 0)

Pause(.25)

writeDigitalPin(a, 'D13', 1);%Wiederholen Sie oben

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) %Wiederholen Sie oben

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) %Wiederholen Sie oben

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)

anders

writeDigitalPin(a, 'D12', 1)%Wenn die Spannung kleiner als 2 ist, schalten Sie die grüne LED ein

writeDigitalPin(a, 'D13', 0)% Umdrehung der roten LED

Ende

Ende

Schritt 4: Verdrahten des Flex-Sensors

Verkabelung des Flex-Sensors
Verkabelung des Flex-Sensors
Verkabelung des Flex-Sensors
Verkabelung des Flex-Sensors
Verkabelung des Flex-Sensors
Verkabelung des Flex-Sensors
Verkabelung des Flex-Sensors
Verkabelung des Flex-Sensors

Benötigte Materialien

1.) 1 Flex-Sensor

2.) 1 10K Ohm Widerstand

3.) 8 Überbrückungsdrähte

*Siehe jeweils Bilder.

In dieser Schaltung werden wir den Flex messen. Ein Flex-Sensor verwendet Kohlenstoff auf einem Kunststoffstreifen, um wie ein variabler Widerstand zu wirken, aber anstatt den Widerstand durch Drehen eines Knopfes zu ändern, ändern Sie durch Biegen der Komponente. Ein Spannungsteiler zur Erkennung von Widerstandsänderungen. In unserem Fall wird der Flex-Sensor verwendet, um einen vorbeifahrenden Zug zu erkennen, um einen LCD-Bildschirm (siehe Bild) zu befehlen, um eine Nachricht mit der Aufschrift "Zug kommend" zu lesen.

*In den Abbildungen, die die Anweisungen zum Verdrahten eines Flexsensors zeigen, beziehen Sie sich nur auf die Drähte, die sich auf die Verdrahtung des Flexsensors beziehen. Ignorieren Sie die Verkabelung für den Servo.

Pins wie folgt verdrahten:

Schritt 1: Stecken Sie auf der Arduino-Platine im POWER-Bereich 1 Draht in den Eingang 5V und 1 Draht in den Eingang GND (Masse). Stecken Sie das andere Ende des 5V-Kabels in einen positiven (+) Eingang auf der Platine. Stecken Sie das andere Ende des GND-Kabels in einen negativen (-) Eingang auf der Platine.

Schritt 2: Stecken Sie auf der Arduino-Platine im Abschnitt ANALOG IN 1 in den A0-Eingang. Stecken Sie das Ende dieses Kabels in den j20-Eingang auf der Platine.

Schritt 3: Stecken Sie auf der Arduino-Platine im Abschnitt DIGITAL I\O 1 Draht in Eingang 9. Stecken Sie das andere Ende in Eingang a3.

Schritt 4: Stecken Sie auf der Platine 1 Draht in einen positiven (+) Eingang. Stecken Sie das andere Ende in den Eingang h24.

Schritt 5: Stecken Sie auf der Platine 1 Draht in einen negativen (+) Eingang. Stecken Sie das andere Ende in Eingang a2.

Schritt 6: Stecken Sie auf der Platine 1 Draht in einen negativen (-) Eingang. Stecken Sie das andere Ende in Eingang b1.

Schritt 7: Stecken Sie auf der Platine 1 Draht in einen negativen (-) Eingang. Stecken Sie das andere Ende in den Eingang i19.

Schritt 8: Platzieren Sie auf der Platine den Widerstand in den Eingängen i20 und i24.

*Das letzte Bild bezieht sich auf reale Anwendungen.

Schritt 5: Arduino mit LCD verbinden

Arduino mit LCD verbinden
Arduino mit LCD verbinden
Arduino mit LCD verbinden
Arduino mit LCD verbinden
Arduino mit LCD verbinden
Arduino mit LCD verbinden

*Folgen Sie diesem Link (https://ef.engr.utk.edu/ef230-2017-08/projects/ard…) und beziehen Sie sich dann auf die Schritte, die ich unten bereitgestellt habe, um ein LCD mit einem Arduino zu verbinden:

Schritt 1: Zip-Datei öffnen

Schritt 2: Öffnen Sie die ReadMe-Datei und folgen Sie den Anweisungen

Benötigte Materialien

1.) 16x2 LCD ähnlich diesem Gerät von SparkFun -

2.) Überbrückungsdrähte

*Siehe Bilder bzw.

In diesem Schritt wird gezeigt, wie Sie eine LCD-Add-On-Bibliothek erstellen und "Zug kommend" auf einem LCD anzeigen.

Pins wie folgt verdrahten:

LCD-Pin -> Arduino-Pin

1 (VSS) -> Masse

2 (VDD) -> 5V

3 (V0) -> Mittlerer Pin am Flex-Sensor

4 (RS) -> D7

5(R/W) -> Masse

6 (E) -> d6

11 (DB4) - D5 (PWM)

12 (DB5) -> D4

13 (DB6) -> D3 (PWM)

14 (DB7) -> D2

15 (LED+) -> 5 V

16 (LED-) -> Masse

Schritt 6: Anschließen des Soft-Potentiometers

Anschließen des Soft-Potentiometers
Anschließen des Soft-Potentiometers
Anschließen des Soft-Potentiometers
Anschließen des Soft-Potentiometers
Anschließen des Soft-Potentiometers
Anschließen des Soft-Potentiometers

Benötigte Materialien

1.) 1 LED

2.) 1 Soft-Potentiometer

3.) Überbrückungsdrähte

4.) 3 330 Ohm Widerstand

5.) 10K Ohm Widerstand

*Siehe jeweils Bilder.

In dieser Schaltung verwenden wir eine andere Art von variablem Widerstand, ein weiches Potentiometer. Dies ist ein dünner und flexibler Streifen, der erkennen kann, wo Druck ausgeübt wird. Durch Drücken auf verschiedene Teile des Streifens können Sie den Widerstand von 100 bis 10 K Ohm variieren. Sie können diese Fähigkeit verwenden, um Bewegungen auf dem Potentiometer oder als Taster zu verfolgen. In dieser Schaltung werden wir das Soft-Potentiometer in Betrieb nehmen, um eine RGB-LED zu steuern.

Schritt 1: Stecken Sie auf der Arduino-Platine im Abschnitt DIGITAL I\O 1 Pin in Eingang 10 und 1 Pin in Eingang 11. Stecken Sie das andere Ende dieser Pins in die Eingänge h6 und h7.

Schritt 2: Stecken Sie die LED auf der Platine in die Eingänge a4, a5, a6 und a7.

Schritt 3: Platzieren Sie auf der Platine die 3 330-Ohm-Widerstände in den Eingängen e4-g4, e6-g6 und e7-g7.

Schritt 4: Stecken Sie auf der Platine 1 Pin in den Eingang e5. Stecken Sie das andere Ende dieses Pins in einen negativen (-) Eingang.

Schritt 5: Platzieren Sie auf der Platine den 10K-Ohm-Widerstand in den Eingängen i19-negativ (-).

Schritt 6: Stecken Sie auf der Platine 1 Pin in j18. Stecken Sie das andere Ende dieses Pins in einen positiven (+) Eingang.

Schritt 7: Stecken Sie auf der Platine 1 Pin in den Eingang j20. Stecken Sie das andere Ende dieses Pins in einen negativen (-) Eingang.

Schritt 7: Testen Sie Ihre Verbesserungen auf einem Smart Rail System

Testen Sie Ihre Verbesserungen an einem Smart Rail System
Testen Sie Ihre Verbesserungen an einem Smart Rail System
Testen Sie Ihre Verbesserungen an einem Smart Rail System
Testen Sie Ihre Verbesserungen an einem Smart Rail System

An dieser Stelle sollte Ihr MATLAB-Code funktionsfähig sein und das Arduino-Board sollte zusammen mit allen hinzugefügten Komponenten genau verbunden sein. Probieren Sie es auf einem zertifizierten Smart Rail System aus und sehen Sie, ob Ihre Verbesserungen das System sicherer machen.

Empfohlen: