Inhaltsverzeichnis:
- Schritt 1: Software und Materialien
- Schritt 2: Verbinden Sie sich mit Ihrem Arduino und bestimmen Sie den COM-Port
- Schritt 3: Matlab-Code
- Schritt 4: Verdrahten des Flex-Sensors
- Schritt 5: Arduino mit LCD verbinden
- Schritt 6: Anschließen des Soft-Potentiometers
- Schritt 7: Testen Sie Ihre Verbesserungen auf einem Smart Rail System
Video: LifeGuard 2.0: 7 Schritte (mit Bildern)
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:21
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 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
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
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
*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
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
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:
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
DIY Circuit Activity Board mit Büroklammern - HERSTELLER - STEM: 3 Schritte (mit Bildern)
DIY Circuit Activity Board mit Büroklammern | HERSTELLER | STEM: Mit diesem Projekt können Sie den Weg des elektrischen Stroms ändern, um durch verschiedene Sensoren zu laufen. Mit diesem Design können Sie zwischen dem Aufleuchten einer blauen LED oder dem Aktivieren eines Summers wechseln. Sie haben auch die Wahl, einen lichtabhängigen Widerstand mit
Beginnen Sie mit Light Painting (kein Photoshop): 5 Schritte (mit Bildern)
Beginnend mit Light Painting (kein Photoshop): Ich habe vor kurzem eine neue Kamera gekauft und einige ihrer Funktionen untersucht, als ich im Internet auf Light Painting oder Langzeitbelichtung gestoßen bin. Die meisten von uns werden die Grundform des Lightpaintings mit einem Foto in einer Stadt mit einer Straße gesehen haben
So erstellen Sie eine Android-App mit Android Studio: 8 Schritte (mit Bildern)
So erstellen Sie eine Android-App mit Android Studio: In diesem Tutorial lernen Sie die Grundlagen zum Erstellen einer Android-App mit der Android Studio-Entwicklungsumgebung. Da Android-Geräte immer häufiger werden, wird die Nachfrage nach neuen Apps nur zunehmen. Android Studio ist ein einfach zu bedienendes (ein
Erste Schritte mit Python: 7 Schritte (mit Bildern)
Erste Schritte mit Python: Programmieren ist großartig! Es ist kreativ, macht Spaß und gibt Ihrem Gehirn ein mentales Training. Viele von uns wollen etwas über Programmieren lernen, aber überzeugen sich selbst davon, dass wir es nicht können. Vielleicht hat es zu viel Mathematik, vielleicht der Jargon, der erschreckend herumgeworfen wird