Inhoudsopgave:
- Stap 1: Software en materialen
- Stap 2: Maak verbinding met uw Arduino en bepaal de COM-poort
- Stap 3: Matlab-code
- Stap 4: Bedrading van de Flex-sensor
- Stap 5: Verbind Arduino met LCD
- Stap 6: Soft Potentiometer aansluiten
- Stap 7: Test uw verbeteringen op een Smart Rail-systeem
Video: LifeGuard 2.0: 7 stappen (met afbeeldingen)
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:19
Heb je ooit wiskundige bewerkingen willen uitvoeren, sensormetingen willen doen, analoge en digitale ingangen willen bewaken en analoge en digitale uitgangen willen besturen zonder eerdere ervaring met elektronica? Zo ja, dan is dit project iets voor jou! We zullen een microcontroller en MATLAB gebruiken om een apparaat te maken dat kan worden gebruikt om het EF Express SMART RAIL-systeem te bewaken en te verbeteren. Met een microcontroller zijn de mogelijkheden voor inputs en outputs (signaal/informatie die het bord ingaat en een signaal dat het bord verlaat) eindeloos. We zullen een flex-sensor en potentiometer gebruiken als onze ingangen. Hun uitgangen zullen respectievelijk een bericht zijn via een LCD-scherm en LED-lampjes, samen met een zoemer. De verbeteringen die we hopen te implementeren in het SMART RAIL-systeem hebben betrekking op het verbeteren van de systeemveiligheid. Pak je laptop en microcontroller, en laten we beginnen!
Stap 1: Software en materialen
Software nodig
1.) MATLAB
- U moet een lokale versie van MATLAB op uw computer downloaden. Ga naar mathworks.com en maak een MATHWORKS-account aan, download bestanden en activeer uw licentie.
-Je moet ALLE beschikbare toolboxen downloaden en installeren voor de nieuwste release (R2016a of R2016b).
-Mac-gebruikers: u moet OSX 10.9.5 of hoger hebben om R2015b te kunnen gebruiken, het is OK om een eerdere versie van MATLAB te gebruiken.
2.) Arduino hardware-ondersteuningspakket:
-Installeer het Arduino Hardware Support Package. MATLAB openen. Selecteer op het tabblad MATLAB Home in het menu Omgeving de optie Add-ons Hardware-ondersteuningspakketten ophalen Selecteer het "MATLAB-ondersteuningspakket voor Arduino-hardware". U moet inloggen op uw MATHWORKS-account
-Als uw installatie wordt onderbroken en u heeft opeenvolgende mislukte pogingen/fouten bij het installeren van het hardwarepakket - zoek en verwijder de map Arduino-download op uw harde schijf en begin vanaf het begin.
Benodigde materialen
1.)Laptop of desktopcomputer
2.) SparkFun Arduino-bord
3.) Flex-sensor
4.) Potentiometer
5.) LCD-scherm
6.) LED-licht:
7.) SparkFun Uitvinderskit (Online zoeken)
8.) USB-kabel en mini-USB
9.) Doorverbindingsdraden
10.) Piëzo-zoemer
Stap 2: Maak verbinding met uw Arduino en bepaal de COM-poort
(Uw COM-poort kan elke keer dat u inplugt veranderen) Sluit de Arduino USB-kabel aan op uw computer en de mini-USB op uw Arduino-bord. Het kan zijn dat u enkele minuten moet wachten voordat de stuurprogramma's zijn gedownload.
Om de COM-poort te bepalen:
Op pc
Methode 1: Gebruik in MATLAB het commando - fopen(serial('nada'))
-om uw com-poort te bepalen. U kunt de volgende foutmelding krijgen: Fout bij gebruik van serial/fopen (regel 72) Openen mislukt: Poort: NADA is niet beschikbaar. Beschikbare poorten: COM3. Deze fout geeft aan dat uw poort 3 is.
-Als methode 1 niet werkt op uw pc, opent u Apparaatbeheer en vouwt u de lijst met poorten (COM en LPT) uit. Noteer het nummer op de USB Seriële Poort. bijv. 'USB Serial Port(COM*)' Het poortnummer is hier de *.
-Als er geen poort wordt weergegeven, sluit u MATLAB en start u uw computer opnieuw op. Open MATLAB en probeer fopen(serial('nada')) opnieuw.
-Als dit niet lukt, moet u mogelijk de stuurprogramma's van SparkFun downloaden uit het bestand CDM_v2.12.00_WHQL_Certified.exe, het bestand CDM_v2.12.00_WHQL_Certified.exe openen en uitvoeren en Extract selecteren. (Mogelijk moet u het bestand vanuit de verkenner openen, met de rechtermuisknop klikken en 'Als administrator uitvoeren').
-Maak in het MATLAB-opdrachtvenster een Arduino-object - a=arduino('comx', 'uno'); % x is uw poortnummer van bovenaf voor pc's (geen voorafgaande nullen!)
Op een Mac
Methode 1: Vanaf de MATLAB-opdrachtregel of in een Mac Terminal en typ: 'ls /dev/tty.*' Noteer het poortnummer dat wordt vermeld voor dev/tty.usbmodem* of dev/tty.usbserial*. Het poortnummer is de * hier.
-Als methode 1 faalt op uw MAC, moet u mogelijk:
-Matlab afsluiten
-Sluit de Arduino-software en ontkoppel de Arduino USB-kabel
-installeer Java 6 Runtime
-installeer de kernelextensie van het USB-stuurprogramma
-Start je computer opnieuw op
- Sluit de Arduino USB-kabel opnieuw aan
-Uitvoeren vanaf de MATLAB-opdrachtregel of Mac Terminal: ls /dev/tty.*
- Noteer het poortnummer dat wordt vermeld voor dev/tty.usbmodem* of dev/tty.usbserial*. Het poortnummer is de * hier.
-Maak in het MATLAB-opdrachtvenster een Arduino-object - a=arduino('/dev/tty.usbserial*', 'uno'); % * is uw poortnummer van hierboven voor MAC's, of '/dev/tty.usbmodem*'
Stap 3: Matlab-code
Ingangen:
1.) Flex-sensor
2.) Potentiometer
Uitgangen:
1.) LCD-scherm met de tekst "Train Coming"
2.) LED-licht
3.) Piëzo-zoemer
In deze stap zullen we de code construeren die de invoer van het Arduino-bord zal analyseren en uitvoer zal leveren op basis van de resultaten van MATLAB's analyse. Met de volgende code kunt u verschillende functies uitvoeren: wanneer de potentiometer wordt geactiveerd, zendt de piëzo-zoemer afwisselende frequenties uit en knippert de rode LED. Als er geen trein wordt gedetecteerd, gaat de groene LED branden. Wanneer de Flex-sensor wordt geactiveerd, gaat de greed-LED uit, de rode LED gaat branden en op het LCD-scherm wordt een bericht weergegeven met de tekst "Train coming".
MATLAB-code:
%remery1, shornsb1, wmurrin
%Doel: treinwaarschuwing
%IInput:potentiometer, flex-sensor
%output:lcd, geluid, licht
%Als het bord niet is geïnitialiseerd of verbindingsproblemen heeft, voer dan de
% hieronder commando's in opmerkingen. Ze hoeven niet elke keer te worden uitgevoerd
%wis alles
%sluit alles
%clc
%a=arduino('/dev/tty.usbserial-DN01DXOM', 'uno');
%lcd = add-on(a, 'VoorbeeldLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'});
%Configureer bord zodra het is aangesloten
configurePin(a, 'D8', 'pullup');%configure D8
configurePin(a, 'D9', 'PWM');%configure D9
tijd=50; %zet de tijd op 50
clearLCD(lcd) %initialiseer LCD
%Start lus
terwijl tijd> 0
%Flex sensorspanning bepaalt of licht groen is, of licht
% is rood en LCD geeft "trein komt eraan" weer
flex_status = leesVoltage (a, 'A0'); %lees spanning van flex-sensor
als flex_status>4% als de spanning groter is dan 4, triggerlus
writeDigitalPin(a, 'D12', 0) %schakel groen uit
writeDigitalPin(a, 'D11', 1) %zet rood aan
printLCD(lcd, 'Train coming') %display "trein komt" op LCD
pauze(5) %Wacht 5 seconden
clearLCD(lcd) %Clear bericht van LCD
writeDigitalPin (a, 'D11', 0) % Schakel rode LED uit
anders
einde
pe_status = leesspanning (a, 'A2'); %Lees potentiometerspanning
als pe_status>2% als de spanning groter is dan 2, triggerlus
writeDigitalPin (a, 'D13', 1);% zet rode LED aan
playTone(a, 'D9', 400,.25);% Speel 400Hz af op piëzo-zoemer,.25 sec
writeDigitalPin (a, 'D13', 0)% rode LED uitschakelen
pauze(.25)%wacht 0,25 seconden
writeDigitalPin(a, 'D13', 1) %Herhaal hierboven, met zoemer op 200Hz
playTone(a, 'D9', 200,.25);
schrijfDigitalPin(a, 'D13', 0)
pauze(.25)
writeDigitalPin(a, 'D13', 1);%Herhaal hierboven
playTone(a, 'D9', 400,.25);
schrijfDigitalPin(a, 'D13', 0)
pauze(.25)
schrijfDigitalPin(a, 'D13', 1)
playTone(a, 'D9', 200,.25);
schrijfDigitalPin(a, 'D13', 0)
pauze(.25)
writeDigitalPin(a, 'D13', 1) %Herhaal hierboven
playTone(a, 'D9', 400,.25);
schrijfDigitalPin(a, 'D13', 0)
pauze(.25)
schrijfDigitalPin(a, 'D13', 1)
playTone(a, 'D9', 200,.25);
schrijfDigitalPin(a, 'D13', 0)
pauze(.25)
writeDigitalPin(a, 'D13', 1) %Herhaal hierboven
playTone(a, 'D9', 400,.25);
schrijfDigitalPin(a, 'D13', 0)
pauze(.25)
schrijfDigitalPin(a, 'D13', 1)
playTone(a, 'D9', 200,.25);
schrijfDigitalPin(a, 'D13', 0)
pauze(.25)
anders
writeDigitalPin (a, 'D12', 1)% als de spanning minder is dan 2, zet de groene LED aan
writeDigitalPin (a, 'D13', 0)% draai van rode LED
einde
einde
Stap 4: Bedrading van de Flex-sensor
Benodigde materialen
1.) 1 Flex-sensor
2.) 1 10K Ohm-weerstand:
3.) 8 jumperdraden
*Zie respectievelijk afbeeldingen.
In dit circuit gaan we flex meten. Een flexsensor gebruikt koolstof op een strook plastic om als een variabele weerstand te werken, maar in plaats van de weerstand te veranderen door aan een knop te draaien, verander je door het onderdeel te buigen. Een spanningsdeler om verandering in weerstand te detecteren. In ons geval zal de flexsensor worden gebruikt om een passerende trein te detecteren om een LCD-scherm (zie afbeelding) te bedienen om een bericht te lezen met de tekst "Train Coming".
*In de afbeeldingen die de instructies voor het bedraden van een Flex-sensor tonen, verwijzen we alleen naar de draden met betrekking tot het bedraden van de Flex-sensor. Negeer de bedrading voor de servo.
Draadpinnen als volgt:
Stap 1: Sluit op het Arduino-bord in het gedeelte POWER 1 draad aan op ingang 5V en 1 draad op ingang GND (aarde). Steek het andere uiteinde van de 5V-draad in een positieve (+) ingang op de printplaat. Steek het andere uiteinde van de GND-draad in een negatieve (-) ingang op de printplaat.
Stap 2: Sluit op het Arduino-bord in het gedeelte ANALOG IN 1 aan op de A0-ingang. Steek het uiteinde van die draad in de j20-ingang op de printplaat.
Stap 3: Steek op het Arduino-bord in het gedeelte DIGITAL I\O 1 draad in ingang 9. Steek het andere uiteinde in ingang a3.
Stap 4: Steek op de printplaat 1 draad in een positieve (+) ingang. Steek het andere uiteinde in ingang h24.
Stap 5: Steek op de printplaat 1 draad in een negatieve (+) ingang. Steek het andere uiteinde in ingang a2.
Stap 6: Sluit op de printplaat 1 draad aan op een negatieve (-) ingang. Steek het andere uiteinde in ingang b1.
Stap 7: Sluit op de printplaat 1 draad aan op een negatieve (-) ingang. Steek het andere uiteinde in ingang i19.
Stap 8: Plaats op de printplaat de weerstand in de i20 en i24 ingangen.
*De laatste afbeelding verwijst naar toepassingen in de echte wereld.
Stap 5: Verbind Arduino met LCD
*Volg deze link (https://ef.engr.utk.edu/ef230-2017-08/projects/ard…) en raadpleeg vervolgens de stappen die ik hieronder heb gegeven om een LCD op een Arduino aan te sluiten:
Stap 1: Open zip-bestand
Stap 2: open het ReadMe-bestand en volg de instructies
Benodigde materialen
1.) 16x2 LCD vergelijkbaar met dit apparaat van SparkFun -
2.) Doorverbindingsdraden
*Zie respectievelijk afbeeldingen.
Deze stap laat zien hoe u een LCD-uitbreidingsbibliotheek maakt en "Train Coming" op een LCD-scherm weergeeft.
Draadpinnen als volgt:
LCD-pin -> Arduino-pin
1 (VSS) -> Grond
2 (VDD) -> 5V
3 (V0) -> Middelste pin 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-) -> Aarde
Stap 6: Soft Potentiometer aansluiten
Benodigde materialen
1.) 1 LED
2.) 1 zachte potentiometer
3.) Doorverbindingsdraden
4.) 3 330 Ohm Weerstand:
5.) 10K Ohm Weerstand:
*Zie respectievelijk afbeeldingen.
In dit circuit gaan we een ander soort variabele weerstand gebruiken, een zachte potentiometer. Dit is een dunne en flexibele strip die kan detecteren waar druk wordt uitgeoefend. Door op verschillende delen van de strip te drukken, kun je de weerstand variëren van 100 tot 10 K ohm. U kunt deze mogelijkheid gebruiken om beweging te volgen op de potentiometer of als een knop. In dit circuit zullen we de zachte potentiometer aan de gang krijgen om een RGB-led aan te sturen.
Stap 1: Steek op het Arduino-bord in het DIGITAL I\O-gedeelte 1 pin in ingang 10 en 1 pin in ingang 11. Steek respectievelijk het andere uiteinde van die pinnen in ingang h6 en h7.
Stap 2: Steek op de printplaat de LED in de ingangen a4, a5, a6 en a7.
Stap 3: Plaats op de printplaat de weerstanden van 3 330 ohm in de ingangen e4-g4, e6-g6 en e7-g7.
Stap 4: Steek op de printplaat 1 pin in ingang e5. Steek het andere uiteinde van die pin in een negatieve (-) ingang.
Stap 5: Plaats op de printplaat de weerstand van 10K ohm in de ingangen i19-negative(-).
Stap 6: Steek op de printplaat 1 pin in j18. Steek het andere uiteinde van die pin in een positieve (+) ingang.
Stap 7: Steek op de printplaat 1 pin in ingang j20. Steek het andere uiteinde van die pin in een negatieve (-) ingang.
Stap 7: Test uw verbeteringen op een Smart Rail-systeem
Op dit punt moet uw MATLAB-code functioneel zijn en moet het Arduino-bord nauwkeurig worden aangesloten, samen met alle toegevoegde componenten. Probeer het uit op een gecertificeerd Smart Rail-systeem en kijk of uw verbeteringen het systeem veiliger maken.
Aanbevolen:
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino - Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter - RC Helikopter - RC-vliegtuig met Arduino: 5 stappen (met afbeeldingen)
Draadloze afstandsbediening met 2,4 GHz NRF24L01-module met Arduino | Nrf24l01 4-kanaals / 6-kanaals zenderontvanger voor quadcopter | RC Helikopter | Rc-vliegtuig met Arduino: een Rc-auto besturen | Quadcopter | Drone | RC vliegtuig | RC-boot, we hebben altijd een ontvanger en zender nodig, stel dat we voor RC QUADCOPTER een 6-kanaals zender en ontvanger nodig hebben en dat type TX en RX is te duur, dus we gaan er een maken op onze
Een computer demonteren met eenvoudige stappen en afbeeldingen: 13 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Een computer demonteren met eenvoudige stappen en afbeeldingen: dit is een instructie over het demonteren van een pc. De meeste basiscomponenten zijn modulair en gemakkelijk te verwijderen. Wel is het belangrijk dat je er goed over georganiseerd bent. Dit zal helpen voorkomen dat u onderdelen kwijtraakt, en ook bij het maken van de hermontage e
PCB-ontwerp met eenvoudige en gemakkelijke stappen: 30 stappen (met afbeeldingen)
PCB-ontwerp met eenvoudige en gemakkelijke stappen: HELLO VRIENDEN Het is een zeer nuttige en gemakkelijke tutorial voor diegenen die PCB-ontwerp willen leren, laten we beginnen
Een video met gesplitst scherm maken in vier stappen: 4 stappen (met afbeeldingen)
Een video met gesplitst scherm maken in vier stappen: we zien vaak dezelfde persoon twee keer in een scène in een tv-toneelstuk. En voor zover we weten heeft de acteur geen tweelingbroer. We hebben ook gezien dat er twee zangvideo's op één scherm worden gezet om hun zangkunsten te vergelijken. Dit is de kracht van spl
Uw afbeeldingen opslaan voor uw taak: 4 stappen (met afbeeldingen)
Uw afbeeldingen opslaan voor uw taak: 1. Open een nieuw Google-document en gebruik deze pagina om uw afbeeldingen te beveiligen.2. Gebruik ctrl (control) en de "c" sleutel om te kopiëren.3. Gebruik ctrl (control) en de "v" sleutel om te plakken