INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Hierdie instruksies sal u leer hoe om 'n stelsel van ligte op te stel om wagende passasiers te waarsku wanneer 'n trein nader, en hoe u 'n boodskap op 'n skootrekenaar kan laat verskyn wanneer die trein op die stasie is. 'N Klank wanneer die trein verby die stasie kom, word saam met 'n reeks flitsende LED -ligte gegenereer. Dit alles kan gedoen word met 'n Raspberry Pi.
Stap 1: Voorrade
Een rekenaar
MatLab 2016 of nuwer
Laai die Raspberry Pi -pakket af
3D -drukker
3D -gedrukte treinstasie om die framboospi te huisves
Framboos Pi met die volgende komponente:
2 infrarooi sensors
5 LED -ligte van u keuse van kleur
11 drade
2 weerstande
200-300 Ohm weerstande
USB -akkoord om 'n rekenaar aan die framboospi te koppel
Stap 2: Ontwerp die stroombaan vir die gewenste uitsette en insette
Deur basiese stroombane te gebruik, moet die ligte en infrarooi sender en ontvanger aan die Raspberry Pi gekoppel word. Die rooi LED -ligte word op die grond aangesluit en word dan gekoppel aan GPIO Pins 4, 5, 6 en 7. Die infrarooi ontvanger is gekoppel aan GPIO Pin 21 en die infrarooi emitter is gekoppel aan die 5V -pen.
Stap 3: Ontwikkel kodering om die gewenste uitkoms te bevredig
Die belangrikste reëls van die kode is reëls 12 en 16 wat die dialoogkassies begin. Reël 18, die if -verklaring, lees as die infrarooi sensors 'n obstruksie tussen hulle het, en as dit belemmer word, beteken dit dat die trein verbygaan, die horing klink en die ligte sal aanskakel. As die stelling vals is, sal niks gebeur nie, want die trein kom nie nader nie.
Kode: %% kop
%Microcontroller Projek-Nag Trein
%John Brown, Trent Payne, Karsten Parker; Afdeling 9
%3 Oktober 2017
Projekbeskrywing: Ontwerp 'n mikrobeheerder wat twee insette neem en
%lewer twee uitsette om aspekte van 'n modeltreinopstelling te verbeter
%Oplossingsmetode: Gebruik verskillende hulpbronne en Matlab om aspekte van die
%model trein opstelling.
%% Opstel-eerste invoer/uitvoer
terwyl dit waar is
a = 0;%initialiseer a
terwyl readDigitalPin (rpi, 21) == 1
a = 1;%keer dat ligkode nie voor die dialoogkode van die vraag loop nie
question = ('Die trein stop by die stasie. Wil jy die horing blaas?');
question_title = ('Train Horn');
resp = questdlg (vraag, vraag_titel, 'ja', 'nee', 'nee');%verskyn 'n dialoogvenster met twee opsies en 'n standaard antwoord
tf = strcmp (resp, 'ja');%vergelyk die karakterskikkinglengte van die reaksie met die karakterreeks ja.
as tf == 1%as resp = 'ja'
[Y, FS] = audioread ('train_horn.m4a');%neem klanklêer en omskep dit in steekproefdata, y en bemonsteringstempo, FS.
klank (Y, FS)%klankopdrag neem gegronde data en bemonsteringstempo en genereer klank
msgbox ('Die treinhoring klink!')
pouse (2)
breek
anders%as resp = 'nee', sal tf logies wees 0 aangesien nee en ja char skikkings verskillende lengtes het
msgbox ('Die treinhoring is nie geblaas nie!')
pouse (2)
breek
einde
einde
terwyl readDigitalPin (rpi, 21) == 1 && a == 1 %begin terwyl die lus aangeskakel word terwyl die skakelaar aangeskakel word en die dialoogkassie
%Hierdie eerste kodesegment skakel die ligte aan.
writeDigitalPin (rpi, 4, 0)
pouse (0,25)
writeDigitalPin (rpi, 5, 0)
pouse (0,25)
writeDigitalPin (rpi, 6, 0)
pouse (0,25)
writeDigitalPin (rpi, 7, 0)
pouse (0,25)
%Hierdie tweede kodesegment skakel die ligte af in volgorde.
writeDigitalPin (rpi, 4, 1)
pouse (0,25)
writeDigitalPin (rpi, 5, 1)
pouse (0,25)
writeDigitalPin (rpi, 6, 1)
pouse (0,25)
writeDigitalPin (rpi, 7, 1)
pouse (0,25)
eind%end terwyl lus
einde
Stap 4: Luister na die trein wat om die draai kom, en kyk hoe die ligte u waarsku om terug te stap
As die trein die infrarooi sensors nader en oorsteek, gaan die ligte af en gaan die treinhoring af om passasiers te bereik om van die rand af weg te gaan; Daar sal egter ook 'n dialoogkassie verskyn wat aan die kondukteur vra: "Die trein kom naby die stasie, stop die trein?" getrek word, sal 'n derde dialoogkassie sê: "die horing is nie geblaas nie."
Stap 5: Finale opstelling
Om die projek te voltooi, moet die hele stelsel gekombineer word in die blou treinstasie wat 3D -gedruk is vir estetika. Die treinstasie simboliseer waar die passasiers sal wees wanneer die trein aankom. Nou is hulle veilig danksy die Night Train -waarskuwingstelsel.