Kazalo:
- 1. korak: Oblikujte 3D model
- 2. korak: Tiskanje 3D modela in zaključek
- 3. korak: Komponente
- 4. korak: Kodiranje (Arduino in obdelava)
- 5. korak: Vezje
- 6. korak: Preskus prototipa
- 7. korak: Prava maketa
- 8. korak: UŽIVAJTE
Video: Informacijski sistem o razpoložljivosti vlakovnih sedežev - FGC: 8 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:08
Ta projekt temelji na izvedbi, v obsežnem obsegu, vlaka, ki ljudem na postaji omogoča vedeti, kateri sedeži so prosti. Za izvedbo prototipa se programska oprema Arduino UNO skupaj z obdelavo uporablja za grafični del.
Ta koncept bi omogočil revolucijo v svetu javnega prevoza, saj bi maksimalno optimiziral vse sedeže vlaka, s čimer bi zagotovil uporabo vseh vagonov, skupaj z možnostjo zbiranja podatkov in izvedbe natančnih študij, kasneje naprej.
1. korak: Oblikujte 3D model
Najprej smo opravili obsežno raziskavo modelov vlakov. Z vsemi zbranimi informacijami je bil izbran vlak GTW (proizvajalca Stadler Rail), ki se uporablja na FGC (Ferrocarrils de la Generalitat de Catalunya).
Kasneje je bil s 3D programsko opremo PTC Creo oblikovan kot model za kasnejše 3D tiskanje.
2. korak: Tiskanje 3D modela in zaključek
Ko je vlak načrtovan, se prenese v 3D tiskanje. Ko je kos natisnjen, ga je treba polirati, da doseže gladko površino.
Ta projekt je mogoče izvesti tudi z obstoječimi modeli vlakov.
Ko so natisnjeni, so podani končni zaključki.
3. korak: Komponente
Za razvoj tega projekta so potrebne naslednje komponente:
- FSR 0,04-4,5LBS (senzor tlaka).
- 1.1K ohmski upori
4. korak: Kodiranje (Arduino in obdelava)
Zdaj je čas za pisanje kode Arduino, ki bo senzorjem omogočila, da pošljejo znak programski opremi za obdelavo, ki bo podatke prenašala grafično.
Kot senzorji imamo 4 senzorje tlaka za arduino, ki spreminjajo njegov upor glede na silo, ki deluje nanje. Zato je cilj izkoristiti signal, ki ga pošljejo senzorji (ko potniki sedijo), da spremenite grafične zaslone v obdelavi.
Nato ustvarimo grafični del, v katerem smo upoštevali grafično zasnovo Ferrocarrils de la Generalitat de Catalunya, da posnemamo realnost na najboljši možni način.
Pri obdelavi je bila napisana koda, ki je neposredno povezana s programsko opremo arduino, tako da vsakič, ko nekdo sede na sedež, spremeni barvo, kar uporabniku na peronu vlaka omogoča, da v realnem času ugotovi razpoložljivost sedežev v vlaku..
Tukaj si lahko ogledate kodiranje
ARDUINO:
int pot = A0; // Srednji zatič lonca povežemo s tem loncem pinint2 = A1; int pot3 = A2; int pot4 = A3; int lectura1; // spremenljivka za shranjevanje vrednosti lonca;
int lectura2; int lectura3; int lectura4;
void setup () {// inicializira serijsko komunikacijo s hitrostjo 9600 baud Serial.begin (9600); }
void loop () {String s = ""; // // Llegir sensor1 lectura1 = analogRead (lonec); // lectura analogna vrednost if (lectura1> 10) {s = "1"; zamuda (100); } else {s = "0"; zamuda (100); } Serial.println (s);
}
OBRAVNAVATI:
uvozna obdelava.serial.*; // ta knjižnica obravnava serijski pogovor String val = ""; PImage s0000, s0001, s0010, s0011, s0100, s0101, s0110, s0111, s1000, s1001, s1010, s1011, s1100, s1101, s1110, s1111; Serijski myPort; // Ustvarjanje predmeta iz razreda Serial
void setup () // to se izvede samo enkrat {fullScreen (); background (0); // nastavitev barve ozadja na črno myPort = new Serial (this, "COM5", 9600); // podajanje parametrov objektu serijskega razreda, vnesite com, na katerega je povezan vaš arduino, in hitrost prenosa
s0000 = loadImage ("0000.jpg"); s0001 = loadImage ("0001.jpg"); s0010 = loadImage ("0010.jpg"); s0011 = loadImage ("0011.jpg"); s0100 = loadImage ("0100.jpg"); s0101 = loadImage ("0101.jpg"); s0110 = loadImage ("0110.jpg"); s0111 = loadImage ("0111.jpg"); s1000 = loadImage ("1000.jpg"); s1001 = loadImage ("1001.jpg"); s1010 = loadImage ("1010.jpg"); s1011 = loadImage ("1011.jpg"); s1100 = loadImage ("1100.jpg"); s1101 = loadImage ("1101.jpg"); s1110 = loadImage ("1110.jpg"); s1111 = loadImage ("1111.jpg");
s0000.resize (displayWidth, displayHeight); s0001.resize (displayWidth, displayHeight); s0010.resize (displayWidth, displayHeight); s0011.resize (displayWidth, displayHeight); s0100.resize (displayWidth, displayHeight); s0101.resize (displayWidth, displayHeight); s0110.resize (displayWidth, displayHeight); s0111.resize (displayWidth, displayHeight); s1000.resize (displayWidth, displayHeight); s1001.resize (displayWidth, displayHeight); s1010.resize (displayWidth, displayHeight); s1011.resize (displayWidth, displayHeight); s1100.resize (displayWidth, displayHeight); s1101.resize (displayWidth, displayHeight); s1110.resize (displayWidth, displayHeight); s1111.resize (displayWidth, displayHeight);
val = trim (val);} void draw () {if (val! = null) {
if (val.equals ("0001")) {slika (s0001, 0, 0); } else if (val.equals ("0010")) {image (s0010, 0, 0); } else if (val.equals ("0011")) {image (s0011, 0, 0); } else if (val.equals ("0100")) {image (s0100, 0, 0); } else if (val.equals ("0101")) {image (s0101, 0, 0); } else if (val.equals ("0110")) {image (s0110, 0, 0); } else if (val.equals ("0111")) {image (s0111, 0, 0); } else if (val.equals ("1000")) {image (s1000, 0, 0); } else if (val.equals ("1001")) {image (s1001, 0, 0); } else if (val.equals ("1010")) {image (s1010, 0, 0); } else if (val.equals ("1011")) {image (s1011, 0, 0); } else if (val.equals ("1100")) {image (s1100, 0, 0); } else if (val.equals ("1101")) {image (s1101, 0, 0); } else if (val.equals ("1110")) {image (s1110, 0, 0); } else if (val.equals ("1111")) {image (s1111, 0, 0); } else {slika (s0000, 0, 0); }}}
void serialEvent (Serial myPort) // kadar koli se zgodi serijski dogodek, se zažene {val = myPort.readStringUntil ('\ n'); // se prepričajte, da naši podatki niso prazni, preden nadaljujete, če (val! = null) {// obrežete presledke in oblikovalske znake (na primer vrnitev nosilca) val = trim (val); println (val); }}
5. korak: Vezje
Po vsem programiranju je čas, da vse senzorje povežete s ploščo Arduino UNO.
Senzorji so nameščeni na 4 sedežih (ki bodo pozneje prekriti s krpo) in privarjeni na kable, ki gredo neposredno na matično ploščo Arduino UNO. Signal, prejet na plošči, se pošlje v računalnik, povezan prek USB -ja, ki podatke v realnem času pošlje v Processing in spremeni barvo sedeža.
Ogledate si lahko shemo povezav.
6. korak: Preskus prototipa
Ko je koda naložena na ploščo arduino in program za obdelavo in arduino vklopljen, se senzorji preskusijo. Na zaslonu boste videli spremembe sedežev zaradi spremembe slik na zaslonu, ki obveščajo o zasedenih sedežih in št.
7. korak: Prava maketa
Prava aplikacija bi jo poskušala namestiti na vlake in platforme omrežja FGC, da bi služila potnikom.
8. korak: UŽIVAJTE
Končno ste izdelali vlak senzorskega senzorja (prototip), ki uporabniku na peron vlaku omogoča vedeti, kateri sedež je na voljo v realnem času.
VABLJENI V PRIHODNOST!
Projekt sta izdelala Marc Godayol in Federico Domenech
Priporočena:
Sistem barvnega razvrščanja: Arduino sistem z dvema pasoma: 8 korakov
Sistem barvnega razvrščanja: Arduino sistem z dvema trakoma: Prevoz in/ali pakiranje izdelkov in predmetov na industrijskem področju poteka s pomočjo linij, izdelanih s tekočimi trakovi. Ti pasovi pomagajo premikati predmet z ene točke na drugo s posebno hitrostjo. Nekatere naloge obdelave ali identifikacije so lahko
Sistem sedežev vlaka: 4 koraki (s slikami)
Sistem vlakovnih sedežev: Danes smo izdelali sistem, ki ga je mogoče implementirati na sedežih vlakov. Morali smo najti nadlogo in zanjo rešiti. Odločili smo se, da bomo izdelali sistem, ki vam bo povedal, ali je v voznem vlaku, v katerem ste trenutno, na voljo sedež. Nič ni možno
ESP8266 Vremenski zaslon in informacijski zaslon KVG: 5 korakov
ESP8266 Vremenski in informacijski zaslon KVG: To je preprost informacijski zaslon za vremensko napoved prek darksky.net in zaslonov v živo za avtobuse v Kielu prek " KVG Echtzeitabfahrten ". Zaslon temelji na NodeMCU (ESP8266) in LCD zaslonu ILI9341
Digitalni stenski koledar in domači informacijski center: 24 korakov (s slikami)
Digitalni stenski koledar in domači informacijski center: V tem navodilu bom vklopil staro televizijo z ravnim zaslonom v digitalni stenski koledar in domači informacijski center z lesenim okvirjem, ki ga poganja Raspberry Pi. Cilj je bil imeti na hitro dostop do ustrezne informacije za vse člane
Kako pravilno priključiti in nastaviti sistem mini HiFi polic (zvočni sistem): 8 korakov (s slikami)
Kako pravilno priključiti in postaviti mini HiFi polico (zvočni sistem): Sem oseba, ki rada spoznava elektrotehniko. Sem gimnazija na šoli za mlade ženske voditeljice Ann Richards. To navodilo naredim tako, da pomagam vsem, ki želijo uživati v njihovi glasbi iz sistema Mini LG HiFi Shelf System