Turinys:
- 1 žingsnis: suprojektuokite 3D modelį
- 2 veiksmas: 3D modelio ir apdailos spausdinimas
- 3 žingsnis: komponentai
- 4 žingsnis: kodavimas („Arduino“ir apdorojimas)
- 5 žingsnis: grandinė
- 6 žingsnis: prototipo testas
- 7 žingsnis: tikras maketas
- 8 žingsnis: Džiaukitės
Video: Traukinio sėdynės prieinamumo informacinė sistema - FGC: 8 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:49
Šis projektas grindžiamas traukinio, kuris leidžia žmonėms, esantiems stotyje, mastelio įgyvendinimą, kad būtų galima sužinoti, kurios vietos yra laisvos. Norint atlikti prototipą, kartu su grafinės dalies apdorojimu naudojama „Arduino UNO“programinė įranga.
Ši koncepcija leistų padaryti revoliuciją viešojo transporto pasaulyje, nes ji maksimaliai optimizuotų visas traukinio vietas, užtikrintų visų vagonų naudojimą, taip pat galimybę rinkti duomenis ir atlikti tikslius tyrimus, vėliau ant.
1 žingsnis: suprojektuokite 3D modelį
Pirmiausia atlikome išsamų traukinių modelių tyrimą. Su visa surinkta informacija buvo pasirinktas GTG traukinys (pagamintas „Stadler Rail“), naudojamas FGC (Ferrocarrils de la Generalitat de Catalunya).
Vėliau jis buvo sukurtas naudojant 3D programinę įrangą „PTC Creo“- tolesnio 3D spausdinimo modelį.
2 veiksmas: 3D modelio ir apdailos spausdinimas
Sukūrus traukinį, jis perduodamas 3D spausdinimui. Kai gabalas yra atspausdintas, jis turi būti poliruotas, kad būtų gautas lygus paviršius.
Šį projektą taip pat galima atlikti naudojant esamus traukinių modelius.
Atspausdinus, pateikiama galutinė apdaila.
3 žingsnis: komponentai
Šiam projektui plėtoti reikalingi šie komponentai:
- FSR 0,04-4,5LBS (slėgio jutiklis).
- 1.1K omų rezistoriai
4 žingsnis: kodavimas („Arduino“ir apdorojimas)
Dabar atėjo laikas parašyti „Arduino“kodą, kuris leis jutikliams nusiųsti ženklą į apdorojimo programinę įrangą, kuri perduos informaciją grafiškai.
Kaip jutikliai, mes turime 4 arduino slėgio jutiklius, kurie keičia savo atsparumą pagal jiems taikomą jėgą. Taigi tikslas yra pasinaudoti jutiklių siunčiamu signalu (kai keleiviai atsisėda), kad pakeistų grafinius ekranus apdorojimo metu.
Tada sukuriame grafinę dalį, kurioje atsižvelgėme į „Ferrocarrils de la Generalitat de Catalunya“grafinį dizainą, kad kuo geriau imituotume tikrovę.
Apdorojant buvo parašytas kodas, tiesiogiai prijungtas prie „arduino“programinės įrangos, tokiu būdu, kiekvieną kartą, kai kas nors atsisėda ant kėdės, jis keičia spalvą, todėl traukinio perone esantis vartotojas realiu laiku gali sužinoti, ar traukinyje yra vietų..
Čia galite pamatyti kodavimą
ARDUINO:
int puodas = A0; // Prijunkite vidurinį puodo kaištį prie šio pinint puodo2 = A1; int puodas3 = A2; int puodas4 = A3; int lectura1; // kintamasis puodo vertėms saugoti;
int lectura2; int lectura3; int lectura4;
void setup () {// inicijuoti nuoseklųjį ryšį 9600 baudų greičiu Serial.begin (9600); }
void loop () {String s = ""; // // Llegir sensor1 lectura1 = analogRead (puodas); // lectura analoginė reikšmė if (lectura1> 10) {s = "1"; vėlavimas (100); } else {s = "0"; vėlavimas (100); } Serial.println (s);
}
APDOROJIMAS:
importo apdorojimas.serijinis.*; // ši biblioteka tvarko serijinį pokalbį String val = ""; PImage s0000, s0001, s0010, s0011, s0100, s0101, s0110, s0111, s1000, s1001, s1010, s1011, s1100, s1101, s1110, s1111; Serijinis myPort; // Sukurti objektą iš serijos klasės
void setup () // tai veikia tik vieną kartą {fullScreen (); fonas (0); // nustatant fono spalvą į juodą myPort = new Serial (tai, "COM5", 9600); // suteikiant parametrus serijinės klasės objektui, įdėkite com, prie kurio prijungtas jūsų arduino, ir duomenų perdavimo spartą
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 = apdaila (val);} void draw () {if (val! = null) {
if (val.equals ("0001")) {vaizdas (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 {vaizdas (s0000, 0, 0); }}}
void serialEvent (Serial myPort) // kai įvyksta serijinis įvykis, jis paleidžiamas {val = myPort.readStringUntil ('\ n'); // prieš tęsdami įsitikinkite, kad mūsų duomenys nėra tušti. println (val); }}
5 žingsnis: grandinė
Po visų programavimų atėjo laikas prijungti visus jutiklius prie „Arduino UNO“plokštės.
Jutikliai dedami ant 4 sėdynių (kurios vėliau bus uždengtos audiniu) ir suvirinamos prie kabelių, kurie tiesiogiai patenka į „Arduino UNO“pagrindinę plokštę. Lentoje gautas signalas siunčiamas į kompiuterį, prijungtą per USB, kuris realiu laiku siunčia informaciją į „Processing“, pakeisdamas sėdynės spalvą.
Galite pamatyti jungčių schemą.
6 žingsnis: prototipo testas
Kai kodas bus įkeltas į arduino plokštę ir įjungta apdorojimo bei arduino programa, jutikliai bus tikrinami. Ekrane matysite kėdžių pakeitimus, pasikeitusius vaizdus ekrane, informuojančius apie užimtas vietas ir Nr.
7 žingsnis: tikras maketas
Tikroji programa bandytų ją įdiegti traukiniuose ir FGC tinklo platformose, kad galėtų aptarnauti keliautojus.
8 žingsnis: Džiaukitės
Pagaliau sukūrėte jėgos jutiklį (prototipą), kuris leidžia traukinio platformos vartotojui žinoti, kuri sėdynė yra realiu laiku.
SVEIKINAME ATEITĮ!
Projektą sukūrė Marc Godayol ir Federico Domenech
Rekomenduojamas:
Traukinio sėdynės indikatorius: 6 žingsniai
Traukinio sėdynės indikatorius: ar jums taip atsitinka? Priekinėje traukinio dalyje žmonės turi stovėti, o paskutinėje traukinio dalyje yra daug neužimtų kėdžių. O kas, jei traukinio išorėje būtų ženklas, nurodantis, kiek laisvų vietų
„Arduino 2-in-1“traukinio valdiklio modelis: 4 žingsniai
„Arduino 2-in-1“modelio traukinio valdiklis: Prieš keturiasdešimt metų sukūriau op-amp pagrindu sukurtą traukinio droselio droselį kelioms draugėms, o prieš maždaug ketverius metus jį sukūriau naudodamas PIC mikrovaldiklį. Šis „Arduino“projektas atkuria PIC versiją, tačiau taip pat suteikia galimybę naudoti
Modelio traukinio „WiFi“valdymas naudojant MQTT: 9 žingsniai
Modelio traukinio „WiFi“valdymas naudojant MQTT: Turėdamas seną TT masto traukinio modelio sistemą, turėjau idėją, kaip individualiai valdyti lokomotyvus. Turėdamas tai omenyje, žengiau dar vieną žingsnį ir supratau, ko reikia ne tik traukiniams valdyti. bet norėdami gauti papildomos informacijos apie tai
Traukinio perėjimo stebėjimo sistema: 5 žingsniai (su paveikslėliais)
Traukinio kirtimo stebėjimo sistema: ši instrukcija išmokys jus naudoti „MatLab“koduojant „Arduino“, kad būtų galima valdyti dalį geležinkelio sistemos
Traukinio sėdynių sistema: 4 žingsniai (su nuotraukomis)
Traukinio sėdynių sistema: Šiandien mes sukūrėme sistemą, kurią galima įdiegti traukinio sėdynėse. Turėjome rasti susierzinimą ir rasti sprendimą. Mes nusprendėme sukurti sistemą, kuri jums pasakytų, ar traukinio vežimėlyje, kuriame šiuo metu esate, yra laisvų vietų. Nieko nėra