Indholdsfortegnelse:
- Trin 1: Design 3D -model
- Trin 2: Udskrivning af 3D -model og finish
- Trin 3: Komponenter
- Trin 4: Kodning (Arduino og behandling)
- Trin 5: Kredsløb
- Trin 6: Prototypetest
- Trin 7: Ægte mock-up
- Trin 8: NYD
Video: Togsæde tilgængelighed informationssystem - FGC: 8 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Dette projekt er baseret på implementering i en skala af et tog, der gør det muligt for folk på stationen at vide, hvilke pladser der er gratis. For at udføre prototypen bruges Arduino UNO -softwaren sammen med Processing for den grafiske del.
Dette koncept ville gøre det muligt at revolutionere verden af offentlig transport, da det ville optimere alle sæder i toget til det maksimale og sikre brugen af alle vogne sammen med muligheden for at indsamle data og udføre nøjagtige undersøgelser senere på.
Trin 1: Design 3D -model
Først og fremmest har vi foretaget en omfattende undersøgelse af togmodeller. Med alle de indsamlede oplysninger er GTW -toget (produceret af Stadler Rail) brugt på FGC (Ferrocarrils de la Generalitat de Catalunya) blevet valgt.
Det blev senere designet med 3D -softwaren PTC Creo modellen til den efterfølgende 3D -udskrivning.
Trin 2: Udskrivning af 3D -model og finish
Når toget er designet, overføres det til 3D -print. Når stykket er trykt, skal det poleres for at opnå en glat overflade.
Dette projekt kan også udføres med eksisterende togmodeller.
Når de er udskrevet, gives de sidste finish.
Trin 3: Komponenter
Følgende komponenter er nødvendige til udviklingen af dette projekt:
- FSR 0.04-4.5LBS (tryksensor).
- 1.1K ohm modstande
Trin 4: Kodning (Arduino og behandling)
Nu er det tid til at skrive Arduino -koden, der lader sensorerne sende et tegn til Processing -softwaren, der vil overføre informationen grafisk.
Som sensorer har vi 4 trykfølere for arduino, der varierer dens modstand alt efter den kraft, der påføres dem. Så målet er at udnytte det signal, der sendes af sensorerne (når passagererne sidder) for at ændre de grafiske skærme i Processing.
Derefter skaber vi den grafiske del, hvor vi har taget hensyn til det grafiske design af Ferrocarrils de la Generalitat de Catalunya, for at efterligne virkeligheden på den bedst mulige måde.
Under behandlingen er det blevet skrevet en kode, der er direkte forbundet til arduino-softwaren, på denne måde, hver gang nogen sidder på et sæde, skifter det farve, så brugeren på togplatformen kan kende togets tilgængelighed i realtid i realtid.
Her kan du se kodningen
ARDUINO:
int pot = A0; // Tilslut den midterste pin af potten til denne pinint pot2 = A1; int pot3 = A2; int pot4 = A3; int lectura1; // variabel til lagring af potværdierne;
int lectura2; int lectura3; int lectura4;
void setup () {// initialiser seriel kommunikation med en 9600 baud rate Serial.begin (9600); }
void loop () {String s = ""; // // Llegir sensor1 lectura1 = analogRead (pot); // lectura den analoge værdi hvis (lectura1> 10) {s = "1"; forsinkelse (100); } andet {s = "0"; forsinkelse (100); } Serial.println (s);
}
FORARBEJDNING:
import behandling. serie.*; // dette bibliotek håndterer den serielle tale String val = ""; PImage s0000, s0001, s0010, s0011, s0100, s0101, s0110, s0111, s1000, s1001, s1010, s1011, s1100, s1101, s1110, s1111; Seriel myPort; // Opret objekt fra seriel klasse
void setup () // dette kører bare én gang {fullScreen (); baggrund (0); // indstilling af baggrundsfarve til sort myPort = new Serial (dette, "COM5", 9600); // giver parametre til objekt af seriel klasse, sæt den com, som din arduino er forbundet til, og baudhastigheden
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 (displayBredde, displayHøjde); s0110.resize (displayWidth, displayHeight); s0111.resize (displayBredde, displayHøjde); 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")) {image (s0001, 0, 0); } ellers if (val.equals ("0010")) {image (s0010, 0, 0); } ellers if (val.equals ("0011")) {image (s0011, 0, 0); } ellers if (val.equals ("0100")) {billede (s0100, 0, 0); } ellers if (val.equals ("0101")) {billede (s0101, 0, 0); } ellers if (val.equals ("0110")) {image (s0110, 0, 0); } ellers if (val.equals ("0111")) {image (s0111, 0, 0); } ellers if (val.equals ("1000")) {image (s1000, 0, 0); } ellers if (val.equals ("1001")) {image (s1001, 0, 0); } ellers if (val.equals ("1010")) {billede (s1010, 0, 0); } ellers if (val.equals ("1011")) {image (s1011, 0, 0); } ellers if (val.equals ("1100")) {image (s1100, 0, 0); } ellers if (val.equals ("1101")) {image (s1101, 0, 0); } ellers if (val.equals ("1110")) {image (s1110, 0, 0); } ellers if (val.equals ("1111")) {billede (s1111, 0, 0); } andet {billede (s0000, 0, 0); }}}
void serialEvent (Serial myPort) // når der sker en seriel hændelse, kører den {val = myPort.readStringUntil ('\ n'); // sørg for, at vores data ikke er tomme, før du fortsætter, hvis (val! = null) {// trimmer mellemrum og formaterer tegn (som vognretur) val = trim (val); println (val); }}
Trin 5: Kredsløb
Efter al programmering er det tid til at forbinde alle sensorerne med Arduino UNO -kortet.
Sensorerne er placeret på 4 sæder (som senere vil blive dækket af en klud) og svejset til kabler, der går direkte til bundkortet til Arduino UNO. Signalet, der modtages på tavlen, sendes til en computer, der er tilsluttet via USB, der sender informationerne til Processing i realtid og ændrer sædefarven.
Du kan se et skema af forbindelserne.
Trin 6: Prototypetest
Når koden er blevet uploadet til arduino -kortet, og behandlings- og arduino -programmet er tændt, testes sensorerne. På skærmen vil du se ændringerne i sæderne på grund af ændring af billeder på displayet, der informerer om de besatte pladser og nr.
Trin 7: Ægte mock-up
Den rigtige applikation ville prøve at installere den på tog og platforme i FGC -netværket for at betjene rejsende.
Trin 8: NYD
Du har endelig lavet et Force Sensor Train (prototype), der gør det muligt for brugeren på togplatformen at vide, hvilket sæde der er tilgængeligt i realtid.
VELKOMMEN TIL FREMTIDEN!
Projekt lavet af Marc Godayol & Federico Domenech
Anbefalede:
Arduino bil omvendt parkering alarmsystem - Trin for trin: 4 trin
Arduino bil omvendt parkering alarmsystem. Trin for trin: I dette projekt vil jeg designe en simpel Arduino bil omvendt parkeringssensorkreds ved hjælp af Arduino UNO og HC-SR04 ultralydssensor. Dette Arduino -baserede bilomvendt alarmsystem kan bruges til en autonom navigation, robotafstand og andre rækkevidde
Trin for trin pc -bygning: 9 trin
Trin for trin PC Building: Supplies: Hardware: MotherboardCPU & CPU -køler PSU (strømforsyningsenhed) Opbevaring (HDD/SSD) RAMGPU (ikke påkrævet) CaseTools: Skruetrækker ESD -armbånd/mathermal pasta m/applikator
Tre højttalerkredsløb -- Trin-for-trin vejledning: 3 trin
Tre højttalerkredsløb || Trin-for-trin vejledning: Højttalerkredsløb styrker lydsignalerne, der modtages fra miljøet til MIC og sender det til højttaleren, hvorfra forstærket lyd produceres. Her vil jeg vise dig tre forskellige måder at lave dette højttalerkredsløb på:
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)
Bio-adaptiv mediecontroller til tilgængelighed eller underholdning: 7 trin
Bio-adaptiv mediecontroller til tilgængelighed eller underholdning: I denne instruktør vil du lære at bygge din egen biooptimerede mediecontroller ved hjælp af Arduino ligesom det open source-system, jeg udviklede. Se den linkede video for en ekstra hurtig forklaring. Hvis du bygger en og foretager yderligere test