Sisukord:
- Samm: kujundage 3D -mudel
- 2. samm: 3D -mudeli ja viimistluse printimine
- 3. samm: komponendid
- Samm: kodeerimine (Arduino ja töötlemine)
- Samm: vooluring
- 6. samm: prototüübi test
- Samm 7: tõeline makett
- 8. samm: nautige
Video: Rongikoha kättesaadavuse infosüsteem - FGC: 8 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:50
See projekt põhineb mastaabis rongi rakendamisel, mis võimaldab jaamas viibivatel inimestel teada saada, millised kohad on vabad. Prototüübi teostamiseks kasutatakse Arduino UNO tarkvara koos graafilise osa töötlemisega.
See kontseptsioon võimaldaks muuta ühistranspordi maailma murranguliseks, kuna see optimeeriks maksimaalselt kõiki rongi istekohti, tagades kõigi vagunite kasutamise, samuti võimaluse koguda andmeid ja teha hiljem täpseid uuringuid. peal.
Samm: kujundage 3D -mudel
Esiteks oleme teinud rongimudelite kohta põhjaliku uurimistöö. Kogu kogutud teabe põhjal on valitud FGC -l (Ferrocarrils de la Generalitat de Catalunya) kasutatav GTW rong (tootja Stadler Rail).
Hiljem kujundati see 3D tarkvara PTC Creo abil järgnevaks 3D printimiseks.
2. samm: 3D -mudeli ja viimistluse printimine
Kui rong on projekteeritud, antakse see üle 3D -printimisele. Kui tükk on trükitud, tuleb see sileda pinna saamiseks poleerida.
Seda projekti saab teha ka olemasolevate rongimudelitega.
Pärast printimist antakse lõplik viimistlus.
3. samm: komponendid
Selle projekti arendamiseks on vaja järgmisi komponente:
- FSR 0,04-4,5 LBS (rõhuandur).
- 1.1K oomi takistid
Samm: kodeerimine (Arduino ja töötlemine)
Nüüd on aeg kirjutada Arduino kood, mis laseb anduritel saata töötlustarkvarale märgi, mis edastab teabe graafiliselt.
Anduritena on meil arduino jaoks 4 rõhuandurit, mis muudavad selle takistust vastavalt neile rakendatavale jõule. Seega on eesmärk ära kasutada andurite saadetud signaali (kui reisijad istuvad), et muuta töötlemise graafilisi ekraane.
Seejärel loome graafilise osa, milles oleme võtnud arvesse Ferrocarrils de la Generalitat de Catalunya graafilist kujundust, et parimal viisil jäljendada tegelikkust.
Töötlemisel on kirjutatud kood, mis on otseselt ühendatud arduino tarkvaraga; sel viisil muudab see iga kord, kui keegi istmele istub, värvi, mis võimaldab rongiplatvormil oleval kasutajal reaalajas teada saada, kui palju rongi kohti on..
Siin näete kodeerimist
ARDUINO:
int pot = A0; // Ühenda poti keskmine tihvt selle pinint potti2 = A1; int pot3 = A2; int pot4 = A3; int lectura1; // muutuja poti väärtuste salvestamiseks;
int lectura2; int lectura3; int lectura4;
void setup () {// jadaühenduse initsialiseerimine 9600 baudikiirusega Serial.begin (9600); }
void loop () {String s = ""; // // Llegir sensor1 lectura1 = analogRead (pot); // lectura analoogväärtus if (lectura1> 10) {s = "1"; viivitus (100); } muu {s = "0"; viivitus (100); } Serial.println (s);
}
TÖÖTLEMINE:
impordi töötlemine.seriaalne.*; // see raamatukogu tegeleb jadajutuga String val = ""; PImage s0000, s0001, s0010, s0011, s0100, s0101, s0110, s0111, s1000, s1001, s1010, s1011, s1100, s1101, s1110, s1111; Seeria myPort; // Loo objekt seeria klassist
void setup () // see töötab ainult üks kord {täisekraan (); taust (0); // taustavärvi seadmine mustaks myPort = uus jada (see, "COM5", 9600); // andes seeriaklassi objektile parameetrid, pange kompuuter, millega teie arduino on ühendatud, ja edastuskiirus
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")) {pilt (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")) {pilt (s1010, 0, 0); } else if (val.equals ("1011")) {pilt (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 {pilt (s0000, 0, 0); }}}
void serialEvent (Serial myPort) // iga kord, kui juhtub jada, see jookseb {val = myPort.readStringUntil ('\ n'); // enne jätkamist veenduge, et meie andmed ei oleks tühjad, kui (val! = null) {// kärbib tühikuid ja vormindamismärke (nt käru tagasitulek) val = trim (val); println (val); }}
Samm: vooluring
Pärast kogu programmeerimist on aeg ühendada kõik andurid Arduino UNO plaadiga.
Andurid asetatakse 4 istmele (mis hiljem kaetakse lapiga) ja keevitatakse kaablite külge, mis lähevad otse Arduino UNO emaplaadile. Tahvlil saadud signaal saadetakse USB kaudu ühendatud arvutisse, mis saadab teabe reaalajas töötlemisse, muutes istme värvi.
Näete ühenduste skeemi.
6. samm: prototüübi test
Kui kood on arduino tahvlile üles laaditud ning töötlemise ja arduino programm sisse lülitatud, testitakse andureid. Ekraanil näete istmete muutusi, mis on tingitud ekraanil olevate piltide muutumisest, mis teavitavad hõivatud istmetest ja nr.
Samm 7: tõeline makett
Tegelik rakendus prooviks seda reisijate teenindamiseks installida FGC võrgu rongidesse ja platvormidele.
8. samm: nautige
Olete lõpuks teinud jõuandurrongi (prototüübi), mis võimaldab rongiplatvormi kasutajal teada, milline iste on reaalajas saadaval.
TERE TULEMAST TULEVIKU!
Projekti tegid Marc Godayol ja Federico Domenech
Soovitan:
Atari punkkonsool beebiga 8 sammu järjestus: 7 sammu (piltidega)
Atari punkkonsool koos beebi 8-astmelise sekveneerijaga: see vaheehitus on kõik-ühes Atari punk-konsool ja beebi 8-astmeline järjestus, mida saate freesida Bantam Tools töölaua PCB-freespingis. See koosneb kahest trükkplaadist: üks on kasutajaliidese (UI) plaat ja teine on utiliit
Akustiline levitatsioon Arduino Unoga samm-sammult (8 sammu): 8 sammu
Akustiline levitatsioon Arduino Uno abil samm-sammult (8 sammu): ultraheliheli muundurid L298N DC-naissoost adapteri toiteallikas isase alalisvoolupistikuga Arduino UNOBreadboard ja analoogpordid koodi teisendamiseks (C ++)
4G/5G HD -video otseülekanne DJI droonilt madala latentsusega [3 sammu]: 3 sammu
4G/5G HD-video otseülekanne DJI droonilt madala latentsusega [3 sammu]: Järgnev juhend aitab teil saada HD-kvaliteediga otseülekandeid peaaegu igalt DJI droonilt. FlytOSi mobiilirakenduse ja veebirakenduse FlytNow abil saate alustada drooni video voogesitust
Polt - DIY juhtmeta laadimise öökell (6 sammu): 6 sammu (piltidega)
Bolt - DIY juhtmeta laadimise öökell (6 sammu): Induktiivsed laadimised (tuntud ka kui juhtmeta laadimine või juhtmeta laadimine) on traadita jõuülekande tüüp. See kasutab kaasaskantavatele seadmetele elektrit pakkumiseks elektromagnetilist induktsiooni. Kõige tavalisem rakendus on Qi traadita laadimisst
4 sammu aku sisemise takistuse mõõtmiseks: 4 sammu
4 sammu aku sisemise takistuse mõõtmiseks: Siin on 4 lihtsat sammu, mis aitavad mõõta taigna sisemist takistust