Mundarija:
- 1 -qadam: 3D modelini loyihalash
- 2 -qadam: 3D model va tugatishlarni chop etish
- 3 -qadam: komponentlar
- 4 -qadam: kodlash (Arduino va ishlov berish)
- 5 -qadam: O'chirish
- 6 -qadam: prototip sinovi
- 7-qadam: haqiqiy maket
- 8 -qadam: Xursand bo'ling
Video: Poyezd o'rindig'ining mavjudligi to'g'risida ma'lumot tizimi - FGC: 8 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
Bu loyiha poezdni amalga oshirishga asoslangan, bu stansiyada bo'lgan odamlarga qaysi o'rindiqlar bepul ekanligini bilish imkonini beradi. Prototipni amalga oshirish uchun Arduino UNO dasturiy ta'minoti grafik qismni qayta ishlash bilan birga ishlatiladi.
Bu kontseptsiya jamoat transporti dunyosida inqilob qilish imkonini beradi, chunki u poezdning barcha o'rindiqlarini maksimal darajada optimallashtiradi, barcha vagonlardan foydalanishni ta'minlaydi, shuningdek ma'lumotlarni to'plash va aniqroq tadqiqotlar o'tkazish imkoniyatini beradi. yoqilgan.
1 -qadam: 3D modelini loyihalash
Birinchidan, biz poezd modellari bo'yicha keng qamrovli tadqiqotlar o'tkazdik. To'plangan barcha ma'lumotlar bilan FGC (Ferrocarrils de la Generalitat de Catalunya) da ishlatiladigan GTW poezdi (Stadler Rail ishlab chiqargan) tanlangan.
Keyinchalik u PTC Creo 3D dasturi yordamida keyingi 3D bosib chiqarish uchun yaratilgan.
2 -qadam: 3D model va tugatishlarni chop etish
Poyezd loyihalashtirilgach, u 3D bosib chiqarishga o'tkaziladi. Parcha chop etilgandan so'ng, silliq yuzaga erishish uchun uni silliqlash kerak.
Ushbu loyiha, shuningdek, mavjud poezd modellari bilan ham amalga oshirilishi mumkin.
Bosib chiqarilgandan so'ng, oxirgi tugatish beriladi.
3 -qadam: komponentlar
Loyihani ishlab chiqish uchun quyidagi komponentlar zarur:
- FSR 0.04-4.5LBS (bosim sensori).
- 1,1 K ohmli rezistorlar
4 -qadam: kodlash (Arduino va ishlov berish)
Endi sensorlarga ma'lumotlarni qayta ishlash dasturiga signal yuborish imkonini beradigan Arduino kodini yozish vaqti keldi.
Datchiklar sifatida bizda 4 ta bosim sensori mavjud bo'lib, ular qarshilik kuchini ta'sir kuchiga qarab o'zgartiradi. Shunday qilib, maqsad - ishlov berishda grafik ekranlarni o'zgartirish uchun sensorlar yuborgan signaldan foydalanish (yo'lovchilar o'tirganda).
Keyin, biz haqiqatni eng yaxshi tarzda taqlid qilish uchun Ferrocarrils de la Generalitat de Catalunya -ning grafik dizaynini hisobga olgan grafik qismini yaratamiz.
Qayta ishlashda arduino dasturiy ta'minotiga to'g'ridan-to'g'ri ulangan kod yozilgan, shuning uchun har safar kimdir o'tirganda, u rangini o'zgartiradi, bu esa poezd platformasidagi foydalanuvchiga o'rindiqlar borligini real vaqtda bilishga imkon beradi..
Bu erda siz kodlashni ko'rishingiz mumkin
ARDUINO:
int pot = A0; // Idishning o'rta pinini shu pinint qozonga ulang2 = A1; int pot3 = A2; int pot4 = A3; int lektura1; // pot qiymatlarini saqlash uchun o'zgaruvchi;
int lektura2; int lektura3; int lektura4;
void setup () {// ketma -ket aloqani 9600 bayd tezligida Serial.begin (9600) ishga tushirish; }
void loop () {String s = ""; // // Llegir sensor1 lektura1 = analogRead (pot); // lektura analog qiymati agar (lektura1> 10) {s = "1"; kechikish (100); } boshqa {s = "0"; kechikish (100); } Serial.println (lar);
}
Ishlov berish:
importni qayta ishlash.serial.*; // bu kutubxona String val = "" ketma -ket suhbatini boshqaradi. PImage s0000, s0001, s0010, s0011, s0100, s0101, s0110, s0111, s1000, s1001, s1010, s1011, s1100, s1101, s1110, s1111; Seriyali myPort; // Serial sinfidan ob'ekt yaratish
void setup () // bu faqat bir marta ishlaydi {fullScreen (); background (0); // fon rangini qora qilib belgilash myPort = new Serial (this, "COM5", 9600); // ketma -ket sinf ob'ektiga parametrlar berish, sizning arduino ulangan com va bod tezligini qo'ying.
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")) {tasvir (s0001, 0, 0); } else if (val.equals ("0010")) {image (s0010, 0, 0); } if if (val.equals ("0011")) {image (s0011, 0, 0); } if if (val.equals ("0100")) {image (s0100, 0, 0); } if if (val.equals ("0101")) {image (s0101, 0, 0); } if if (val.equals ("0110")) {image (s0110, 0, 0); } if if (val.equals ("0111")) {image (s0111, 0, 0); } if if (val.equals ("1000")) {image (s1000, 0, 0); } if if (val.equals ("1001")) {image (s1001, 0, 0); } if if (val.equals ("1010")) {image (s1010, 0, 0); } if if (val.equals ("1011")) {image (s1011, 0, 0); } if if (val.equals ("1100")) {image (s1100, 0, 0); } if if (val.equals ("1101")) {image (s1101, 0, 0); } if if (val.equals ("1110")) {image (s1110, 0, 0); } if if (val.equals ("1111")) {image (s1111, 0, 0); } boshqa {rasm (s0000, 0, 0); }}}
void serialEvent (Serial myPort) // ketma -ket voqea sodir bo'lganda u ishlaydi {val = myPort.readStringUntil ('\ n'); // davom etishdan oldin, ma'lumotlarimiz bo'sh emasligiga ishonch hosil qiling, agar (val! = null) {// bo'sh joyni kesish va belgilarni formatlash (aravachani qaytarish kabi) val = trim (val); println (val); }}
5 -qadam: O'chirish
Barcha dasturlardan so'ng, barcha sensorlarni Arduino UNO platasiga ulash vaqti keldi.
Datchiklar 4 o'rindiqqa o'rnatiladi (keyinchalik ular mato bilan yopiladi) va Arduino UNO anakartiga to'g'ridan -to'g'ri o'tadigan kabellarga payvandlanadi. Bortda qabul qilingan signal USB orqali ulangan kompyuterga yuboriladi, u ma'lumotni ishlov berishga real vaqtda yuboradi va o'rindiq rangini o'zgartiradi.
Siz ulanish sxemasini ko'rishingiz mumkin.
6 -qadam: prototip sinovi
Kod arduino kartasiga yuklanganidan so'ng, ishlov berish va arduino dasturi yoqilgandan so'ng, datchiklar sinovdan o'tkaziladi. Ekranda siz o'rindiqlardagi o'zgarishlarni ko'rasiz, chunki displeyda bo'sh joylar haqida ma'lumot berilgan.
7-qadam: haqiqiy maket
Haqiqiy dastur sayohatchilarga xizmat ko'rsatish uchun uni FGC tarmog'ining poezdlari va platformalariga o'rnatishga harakat qiladi.
8 -qadam: Xursand bo'ling
Siz nihoyat kuch sensori poezdini (prototipini) yaratdingiz, bu poezd platformasidagi foydalanuvchiga qaysi o'rindiq real vaqtda mavjudligini bilish imkonini beradi.
Kelajakka xush kelibsiz!
Loyiha Mark Godayol va Federiko Domenech
Tavsiya:
Poyezd o'rindig'ining ko'rsatkichi: 6 qadam
Poezd o'rindig'ining ko'rsatkichi: Bu siz bilan sodir bo'ladimi? Poyezdning old qismida odamlar turishi kerak, poezdning oxirgi qismida esa bo'sh stullar ko'p. Agar poyezd tashqarisida qancha o'rindiq bo'sh ekanligini ko'rsatuvchi belgi bo'lsa nima bo'lardi
Shovqin darajasi to'g'risida ogohlantirish tizimi: 11 qadam (rasmlar bilan)
Xavfli shovqin darajasidagi ogohlantirish tizimi: Oshman muhandislik dizayn oshxonasi (OEDK) Rays universitetining eng katta ishlab chiqaruvchisi bo'lib, barcha talabalar uchun haqiqiy muammolarni hal qilish uchun dizayn va prototip yaratish uchun joy beradi. Shu maqsadda OEDK bir qator elektr asboblarini o'z ichiga oladi
IoT -ga asoslangan kir yuvish to'g'risida bildirishnoma tizimi: 18 qadam
IoT -ga asoslangan kir yuvish to'g'risida bildirishnoma tizimi: HiThis yo'riqnomada kirga kirishga oid xabarnomalar tizimini yaratish bo'yicha bosqichma -bosqich tushuntirishlar berilgan. Qurilma sizning tortmalaringizga va kir yuvish sumkangizga biriktirilgan. Bu erda demo qilish uchun biz ikkita tortma va bitta kir yuvish sumkasini oldik. Sezadi
Poyezd o'tish joyi monitor tizimi: 5 qadam (rasmlar bilan)
Poezdlar kesishgan monitor tizimi: Bu ko'rsatma sizga temir yo'l tizimining bir qismini boshqarish uchun Arduino -ni kodlash uchun MatLab -dan qanday foydalanishni o'rgatadi
Poyezd o'rindiqlari tizimi: 4 qadam (rasmlar bilan)
Poezd o'rindiqlari tizimi: Bugun biz poezd o'rindiqlarida qo'llaniladigan tizimni yaratdik. Biz bezovtalikni topib, uni hal qilishimiz kerak edi. Biz siz hozirda bo'lgan poyezd aravachasida o'rindiq bor yoki yo'qligini ko'rsatadigan tizim yaratishga qaror qildik. Hech narsa yo'q