Përmbajtje:
- Hapi 1: Krijoni një model 3D
- Hapi 2: Shtypja e modelit 3D dhe përfundimeve
- Hapi 3: Përbërësit
- Hapi 4: Kodimi (Arduino & Përpunimi)
- Hapi 5: Qarku
- Hapi 6: Testi i Prototipit
- Hapi 7: Maket i vërtetë
- Hapi 8: Gëzoni
Video: Sistemi i Informacionit për Disponueshmërinë e Vendeve të Trenit - FGC: 8 Hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:28
Ky projekt bazohet në zbatimin, në një shkallë, të një treni që u lejon njerëzve që janë në stacion të dinë se cilat vende janë falas. Për të kryer prototipin, programi Arduino UNO përdoret së bashku me Përpunimin për pjesën grafike.
Ky koncept do të bënte të mundur revolucionarizimin e botës së transportit publik, pasi do të optimizonte në maksimum të gjitha vendet e trenit, duke siguruar përdorimin e të gjithë vagonëve, së bashku me mundësinë e mbledhjes së të dhënave dhe kryerjes së studimeve të sakta, më vonë më
Hapi 1: Krijoni një model 3D
Para së gjithash ne kemi bërë një hulumtim gjithëpërfshirës mbi modelet e trenave. Me gjithë informacionin e mbledhur, është zgjedhur treni GTW (prodhuar nga Stadler Rail) i përdorur në FGC (Ferrocarrils de la Generalitat de Catalunya).
Më vonë u krijua me softuerin 3D PTC Creo model për printimin e mëvonshëm 3D.
Hapi 2: Shtypja e modelit 3D dhe përfundimeve
Pasi treni është projektuar, ai kalon në printimin 3D. Pasi të jetë shtypur pjesa, duhet të lëmohet për të arritur një sipërfaqe të lëmuar.
Ky projekt mund të bëhet edhe me modelet ekzistuese të trenave.
Pasi të printohet, jepen përfundimet përfundimtare.
Hapi 3: Përbërësit
Për zhvillimin e këtij projekti nevojiten komponentët e mëposhtëm:
- FSR 0.04-4.5LBS (Sensori i presionit).
- Rezistorë 1.1K ohms
Hapi 4: Kodimi (Arduino & Përpunimi)
Tani është koha për të shkruar kodin Arduino që do t'i lejojë sensorët të dërgojnë një shenjë në programin e përpunimit që do të transmetojë informacionin në mënyrë grafike.
Si sensorë kemi 4 sensorë të presionit për arduino që ndryshojnë rezistencën e tij sipas forcës që zbatohet ndaj tyre. Pra, qëllimi është të përfitoni nga sinjali i dërguar nga sensorët (kur udhëtarët ulen) për të ndryshuar ekranet grafikë në Përpunim.
Pastaj, ne krijojmë pjesën grafike në të cilën kemi marrë parasysh modelin grafik të Ferrocarrils de la Generalitat de Catalunya, për të imituar realitetin në mënyrën më të mirë të mundshme.
Në përpunim është shkruar një kod që lidhet drejtpërdrejt me programin arduino, në këtë mënyrë, sa herë që dikush ulet në një vend, ai ndryshon ngjyrën, duke lejuar përdoruesin në platformën e trenit të dijë në kohë reale disponueshmërinë e vendeve të trenit Me
Këtu mund të shihni kodimin
ARDUINO:
tenxhere int = A0; // Lidhni kunjin e mesëm të tenxhere me këtë tenxhere me majë2 = A1; int pot3 = A2; int pot4 = A3; int lectura1; // ndryshore për ruajtjen e vlerave të tenxhere;
int lectura2; int lectura3; int lectura4;
void setup () {// inicio komunikimet serike me një normë 9600 baud Serial.begin (9600); }
void loop () {String s = ""; // // Llegir sensor1 lectura1 = analogRead (tenxhere); // lectura vlera analoge nëse (lectura1> 10) {s = "1"; vonesa (100); } else {s = "0"; vonesa (100); } Serial.println (s);
}
PCRPUNIMI:
përpunimi i importit.serial.*; // kjo bibliotekë trajton bisedën serike String val = ""; PImage s0000, s0001, s0010, s0011, s0100, s0101, s0110, s0111, s1000, s1001, s1010, s1011, s1100, s1101, s1110, s1111; Seriali myPort; // Krijo objekt nga klasa Seriale
void setup () // kjo funksionon vetëm një herë {fullScreen (); sfond (0); // vendosja e ngjyrës së sfondit në të zezë myPort = serial i ri (kjo, "COM5", 9600); // dhënia e parametrave për objektin e klasës serike, vendosni komin me të cilin është lidhur arduino juaj dhe normën e baudit
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);} barazim barazim () {nëse (val! = null) {
if (val.equals ("0001")) {image (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); } tjetër 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 {image (s0000, 0, 0); }}}
void serialEvent (Seriali myPort) // sa herë që ndodh ngjarja serike ajo shkon {val = myPort.readStringUntil ('\ n'); // sigurohuni që të dhënat tona të mos jenë të zbrazëta para se të vazhdoni nëse (val! = null) {// shkurtoni hapësirën e bardhë dhe formatimin e karaktereve (si kthimi i karrocës) val = trim (val); println (val); }}
Hapi 5: Qarku
Pas gjithë programimit, është koha për të lidhur të gjithë sensorët me bordin Arduino UNO.
Sensorët vendosen në 4 vende (të cilat më vonë do të mbulohen me një leckë) dhe ngjiten në kabllo që shkojnë direkt në motherboard të Arduino UNO. Sinjali i marrë në tabelë dërgohet në një kompjuter të lidhur përmes USB që dërgon informacionin në Processing në kohë reale, duke ndryshuar ngjyrën e sediljes.
Ju mund të shihni një skemë të lidhjeve.
Hapi 6: Testi i Prototipit
Pasi kodi të jetë ngarkuar në bordin arduino dhe programi i përpunimit dhe arduino të ndizet, sensorët testohen. Në ekran do të shihni ndryshimet në sediljet për shkak të ndryshimit të imazheve në ekran që informojnë për vendet e zëna dhe nr.
Hapi 7: Maket i vërtetë
Aplikacioni i vërtetë do të përpiqet ta instalojë atë në trena dhe platforma të rrjetit FGC për t'i shërbyer udhëtarëve.
Hapi 8: Gëzoni
Më në fund keni bërë një Tren të Sensorit të Forcës (prototip) që lejon përdoruesin në platformën e trenit të dijë se cila vend është e disponueshme në kohë reale.
MIRCO SE VINI N THE T ARDHmen!
Projekti i bërë nga Marc Godayol & Federico Domenech
Recommended:
Sistemi Smart i Trenit: 4 Hapa
Sistemi Smart i Trenit: Projektuar për të rritur sigurinë, parandaluar aksidentet dhe rritur përgjigjen pozitive dhe produktive për të ndihmuar nëse ndodhin aksidente
Sistemi i monitorimit të kalimit të trenit: 5 hapa (me fotografi)
Sistemi i monitorimit të kalimit të trenit: Ky udhëzues do t'ju mësojë se si të përdorni MatLab për të koduar një Arduino për të kontrolluar një pjesë të sistemit hekurudhor
Sistemi i ulëseve të trenit: 4 hapa (me fotografi)
Sistemi i ulëseve të trenit: Sot kemi bërë një sistem që mund të zbatohet në vendet e trenit. Duhej të gjenim një bezdi dhe të bënim një zgjidhje për të. Ne vendosëm që ne do të bënim një sistem që do t'ju tregonte nëse një vend është i disponueshëm në karrocën e trenit ku jeni aktualisht. Asgjë nuk është e vërtetë
Krijimi i Bookhuddle.com, një faqe në internet për zbulimin, organizimin dhe ndarjen e informacionit të librit: 10 hapa
Krijimi i Bookhuddle.com, një faqe në internet për zbulimin, organizimin dhe ndarjen e informacionit të librit: Ky post përshkruan hapat e përfshirë në krijimin dhe nisjen e Bookhuddle.com, një faqe në internet që synon të ndihmojë lexuesit të zbulojnë, organizojnë dhe ndajnë informacionin e librit. Hapat e përshkruar këtu do të zbatohej për zhvillimin e uebfaqeve të tjera
Sciphone I68 GPRS + MMS Konfigurimi i të gjitha vendeve Foolproof: 8 hapa
Sciphone I68 GPRS + MMS Konfigurimi i të gjitha vendeve Foolproof: Sciphone i68 + është një klon shumë i mirë i iphone gjithnjë e më popullor me një çmim të ulur. Ky udhëzues do t'ju tregojë se si të vendosni me lehtësi cilësimet e GPRS dhe MMS në sciphone i68 tuaj në mënyrë që të mundeni dërgoni dhe merrni mesazhe me fotografi dhe shfletoni i