
Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja izmjena: 2025-01-23 14:37

Ovaj projekat se zasniva na implementaciji, u velikoj mjeri, voza koji omogućava ljudima koji se nalaze na stanici da znaju koja su mjesta slobodna. Za izradu prototipa koristi se Arduino UNO softver zajedno s obradom za grafički dio.
Ovaj koncept omogućio bi revoluciju u svijetu javnog prijevoza jer bi maksimalno optimizirao sva sjedišta vlaka, osiguravajući upotrebu svih vagona, uz mogućnost prikupljanja podataka i izvođenja tačnih studija, kasnije uključeno.
Korak 1: Dizajnirajte 3D model

Prije svega, izvršili smo opsežno istraživanje modela vlakova. Uz sve prikupljene podatke, odabran je voz GTW (proizvodnje Stadler Rail) koji se koristi na FGC -u (Ferrocarrils de la Generalitat de Catalunya).
Kasnije je dizajniran sa 3D softverom PTC Creo kao model za kasnije 3D štampanje.
Korak 2: Štampanje 3D modela i završetak

Nakon što je vlak dizajniran, on se prenosi na 3D štampanje. Nakon što se komad odštampa, mora se polirati kako bi se postigla glatka površina.
Ovaj projekt se može izvesti i sa postojećim modelima vlakova.
Nakon što se odštampa, daju se konačne završne obrade.
Korak 3: Komponente

Za razvoj ovog projekta potrebne su sljedeće komponente:
- FSR 0,04-4,5LBS (senzor pritiska).
- Otpornici od 1,1K ohma
Korak 4: Kodiranje (Arduino i obrada)



Sada je vrijeme za pisanje Arduino koda koji će omogućiti senzorima da pošalju znak softveru za obradu koji će grafički prenositi informacije.
Kao senzori imamo 4 senzora pritiska za arduino koji mijenjaju njegov otpor prema sili koja se na njih primjenjuje. Stoga je cilj iskoristiti signal koji šalju senzori (kada putnici sjednu) za promjenu grafičkih ekrana u obradi.
Zatim stvaramo grafički dio u kojem smo uzeli u obzir grafički dizajn Ferrocarrils de la Generalitat de Catalunya kako bismo oponašali stvarnost na najbolji mogući način.
U obradi je napisan kôd koji je direktno povezan sa arduino softverom, na ovaj način, svaki put kada neko sjedne na sjedalo, on mijenja boju, omogućavajući korisniku na peronu da u stvarnom vremenu zna dostupnost vlaka u sjedištu.
Ovdje možete vidjeti kodiranje
ARDUINO:
int pot = A0; // Priključite srednji pin lonca na ovaj pinint pot2 = A1; int pot3 = A2; int pot4 = A3; int lectura1; // varijabla za spremanje pot vrijednosti;
int lectura2; int lectura3; int lectura4;
void setup () {// inicijalizira serijsku komunikaciju brzinom prijenosa od 9600 Serial.begin (9600); }
void loop () {String s = ""; // // Llegir sensor1 lectura1 = analogRead (pot); // lectura analogna vrijednost if (lectura1> 10) {s = "1"; kašnjenje (100); } else {s = "0"; kašnjenje (100); } Serial.println (s);
}
OBRADA:
import processing.serial.*; // ova biblioteka obrađuje serijski razgovor String val = ""; PImage s0000, s0001, s0010, s0011, s0100, s0101, s0110, s0111, s1000, s1001, s1010, s1011, s1100, s1101, s1110, s1111; Serijski myPort; // Kreiranje objekta iz klase Serial
void setup () // ovo radi samo jednom {fullScreen (); background (0); // postavljanje boje pozadine na crnu myPort = new Serial (this, "COM5", 9600); // davanje parametara objektu serijske klase, stavljanje com -a na koji je vaš arduino povezan i brzinu prijenosa podataka
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) // kad god se dogodi serijski događaj pokreće se {val = myPort.readStringUntil ('\ n'); // uverite se da naši podaci nisu prazni pre nego što nastavite if (val! = null) {// skratite razmake i znakove za formatiranje (poput povratka karike) val = trim (val); println (val); }}
Korak 5: Krug

Nakon programiranja, vrijeme je za povezivanje svih senzora s Arduino UNO pločom.
Senzori su postavljeni na 4 sjedala (koja će kasnije biti prekrivena krpom) i zavareni su na kabele koji idu direktno na matičnu ploču Arduino UNO. Signal primljen na ploči šalje se računaru povezanom putem USB -a koji šalje informacije u Processing u stvarnom vremenu, mijenjajući boju sjedišta.
Možete vidjeti shemu veza.
Korak 6: Test prototipa
Nakon što je kôd postavljen na arduino ploču i uključen program za obradu i arduino, senzori se testiraju. Na ekranu ćete vidjeti promjene na sjedalima zbog promjene slika na ekranu koje obavještavaju o zauzetim mjestima i ne.
Korak 7: Prava maketa




Prava aplikacija pokušala bi je instalirati na vlakove i platforme mreže FGC kako bi služila putnicima.
Korak 8: UŽIVAJTE


Konačno ste napravili vlak senzora sile (prototip) koji omogućava korisniku na platformi voza da zna koje je sjedište dostupno u stvarnom vremenu.
DOBRODOŠLI U BUDUĆNOST!
Projekt su napravili Marc Godayol i Federico Domenech
Preporučuje se:
WiFi sistem kućne automatizacije sa izuzetno niskom snagom: 6 koraka (sa slikama)

WiFi sistem kućne automatizacije iznimno male snage: U ovom projektu pokazujemo kako možete izgraditi osnovni lokalni sistem kućne automatizacije u nekoliko koraka. Koristit ćemo Raspberry Pi koji će djelovati kao centralni WiFi uređaj. Dok ćemo za krajnje čvorove koristiti IOT kriket za izradu baterije
SISTEM ZA RAČUNOVANJE RAČUNA I SISTEM KONTROLE ZALIHA: 3 koraka

SISTEM RAČUNOVODSTVENOG RAČUNOVANJA I SISTEMA KONTROLE ZALIHA: Ovim instrukcijama dat ću vam ideju za stvaranje sistema za upravljanje fakturama i zalihama. Pomoću MS pristupa. Vrlo je jednostavno i ne trebate više računarskog ili programskog znanja. Ako imate osnovno znanje o gđi Pristup, stolovi. obrasci i izvještaji t
Pokazatelj sjedala za voz: 6 koraka

Pokazivač sjedala na vozu: događa li vam se to? U prednjem dijelu vlaka ljudi moraju stajati, dok u zadnjem dijelu vlaka ima dosta slobodnih stolica. Šta ako bi se s vanjske strane voza pojavio znak koji vam govori koliko je slobodnih mjesta
Sistem za sortiranje boja: Arduino sistem sa dva pojasa: 8 koraka

Sistem za sortiranje boja: Arduino sistem sa dvije trake: Transport i/ili pakovanje proizvoda i predmeta na industrijskom polju vrši se pomoću linija napravljenih pomoću transportnih traka. Ti pojasevi pomažu premještanju predmeta s jedne točke na drugu određenom brzinom. Neki zadaci obrade ili identifikacije mogu biti
Sistem sjedala voza: 4 koraka (sa slikama)

Sistem sjedala za vozove: Danas smo napravili sistem koji se može implementirati na sjedala voza. Morali smo pronaći smetnju i pronaći rješenje za to. Odlučili smo da napravimo sistem koji će vam reći da li je dostupno mjesto u kolicima vlaka u kojima se trenutno nalazite. Ništa nije u redu