Съдържание:
- Стъпка 1: Проектирайте 3D модел
- Стъпка 2: Отпечатване на 3D модел и завършване
- Стъпка 3: Компоненти
- Стъпка 4: Кодиране (Arduino и обработка)
- Стъпка 5: Схема
- Стъпка 6: Тест на прототип
- Стъпка 7: Истински макет
- Стъпка 8: Насладете се
Видео: Информационна система за наличност на влакови седалки - FGC: 8 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:54
Този проект се основава на изпълнението, в мащаб, на влак, който позволява на хората, които са на гарата, да знаят кои места са свободни. За да се изпълни прототипът, софтуерът Arduino UNO се използва заедно с Processing за графичната част.
Тази концепция ще направи възможно революцията в света на обществения транспорт, тъй като ще оптимизира максимално всички седалки на влака, като гарантира използването на всички вагони, заедно с възможността за събиране на данни и извършване на точни изследвания, по -късно На.
Стъпка 1: Проектирайте 3D модел
Преди всичко направихме цялостно проучване на моделите на влаковете. С цялата събрана информация е избран GTW влакът (произведен от Stadler Rail), използван за FGC (Ferrocarrils de la Generalitat de Catalunya).
По -късно той е проектиран с 3D софтуера PTC Creo като модел за последващия 3D печат.
Стъпка 2: Отпечатване на 3D модел и завършване
След като влакът е проектиран, той се предава на 3D печат. След като парчето е отпечатано, то трябва да се полира, за да се постигне гладка повърхност.
Този проект може да се осъществи и със съществуващи модели влакове.
След като бъдат отпечатани, се дава окончателното завършване.
Стъпка 3: Компоненти
За разработването на този проект са необходими следните компоненти:
- FSR 0.04-4.5LBS (сензор за налягане).
- 1.1K ома резистори
Стъпка 4: Кодиране (Arduino и обработка)
Сега е време да напишем кода на Arduino, който ще позволи на сензорите да изпратят знак към софтуера за обработка, който ще предава информацията графично.
Като сензори имаме 4 сензора за налягане за arduino, които променят съпротивлението си според силата, която се прилага към тях. Така че целта е да се възползвате от сигнала, изпратен от сензорите (когато пътниците седнат), за да смените графичните екрани в Processing.
След това създаваме графичната част, в която сме взели предвид графичния дизайн на Ferrocarrils de la Generalitat de Catalunya, за да подражаваме на реалността по възможно най -добрия начин.
При обработката е написан код, който е директно свързан със софтуера arduino, по този начин всеки път, когато някой седне на седалка, той променя цвета си, позволявайки на потребителя на пероната на влака да знае в реално време наличните места на влака.
Тук можете да видите кодирането
ARDUINO:
int pot = A0; // Свържете средния щифт на саксията към този пинтинг2 = A1; int pot3 = A2; int pot4 = A3; int lectura1; // променлива за съхраняване на стойностите на пота;
int lectura2; int lectura3; int lectura4;
void setup () {// инициализира серийните комуникации със скорост 9600 бода Serial.begin (9600); }
void loop () {String s = ""; // // Llegir sensor1 lectura1 = analogRead (pot); // lectura аналоговата стойност if (lectura1> 10) {s = "1"; забавяне (100); } else {s = "0"; забавяне (100); } Serial.println (s);
}
ОБРАБОТКА:
обработка на внос.serial.*; // тази библиотека обработва серийния разговор String val = ""; PImage s0000, s0001, s0010, s0011, s0100, s0101, s0110, s0111, s1000, s1001, s1010, s1011, s1100, s1101, s1110, s1111; Сериен myPort; // Създаване на обект от сериен клас
void setup () // това се изпълнява само веднъж {fullScreen (); background (0); // задаване на цвят на фона на черен myPort = new Serial (this, "COM5", 9600); // даване на параметри на обект от сериен клас, поставяне на com, към който е свързан вашият arduino, и скорост на предаване
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")) {изображение (s0001, 0, 0); } иначе ако (val.equals ("0010")) {изображение (s0010, 0, 0); } иначе ако (val.equals ("0011")) {изображение (s0011, 0, 0); } иначе ако (val.equals ("0100")) {изображение (s0100, 0, 0); } иначе ако (val.equals ("0101")) {изображение (s0101, 0, 0); } иначе ако (val.equals ("0110")) {изображение (s0110, 0, 0); } иначе ако (val.equals ("0111")) {изображение (s0111, 0, 0); } иначе ако (val.equals ("1000")) {изображение (s1000, 0, 0); } иначе ако (val.equals ("1001")) {изображение (s1001, 0, 0); } иначе ако (val.equals ("1010")) {изображение (s1010, 0, 0); } иначе ако (val.equals ("1011")) {изображение (s1011, 0, 0); } иначе ако (val.equals ("1100")) {изображение (s1100, 0, 0); } иначе ако (val.equals ("1101")) {изображение (s1101, 0, 0); } иначе ако (val.equals ("1110")) {изображение (s1110, 0, 0); } иначе ако (val.equals ("1111")) {изображение (s1111, 0, 0); } else {изображение (s0000, 0, 0); }}}
void serialEvent (Serial myPort) // когато се случи серийно събитие, то се изпълнява {val = myPort.readStringUntil ('\ n'); // уверете се, че данните ни не са празни, преди да продължите if (val! = null) {// изрязване на празни пространства и форматиращи символи (като връщане на каретка) val = trim (val); println (val); }}
Стъпка 5: Схема
След цялото програмиране е време да свържете всички сензори с платката Arduino UNO.
Сензорите са поставени на 4 места (които по -късно ще бъдат покрити с плат) и са заварени към кабели, които отиват директно към дънната платка на Arduino UNO. Сигналът, получен на дъската, се изпраща към компютър, свързан чрез USB, който изпраща информацията до Processing в реално време, променяйки цвета на седалката.
Можете да видите схема на връзките.
Стъпка 6: Тест на прототип
След като кодът бъде качен на платката arduino и програмата за обработка и arduino е включена, сензорите се тестват. На екрана ще видите промените в седалките поради промяната на изображенията на дисплея, информиращи за заетите места и не.
Стъпка 7: Истински макет
Истинското приложение би се опитало да го инсталира във влакове и платформи на мрежата на FGC, за да обслужва пътуващите.
Стъпка 8: Насладете се
Най -накрая сте направили влак със сензор за сила (прототип), който позволява на потребителя на платформата на влака да знае коя седалка е налична в реално време.
ДОБРЕ ДОШЛИ В БЪДЕЩЕТО!
Проектът е направен от Марк Годайол и Федерико Доменех
Препоръчано:
СИСТЕМА ЗА ФАКТУРИРАНЕ И СИСТЕМА ЗА КОНТРОЛ НА ИНВЕНТАРИ: 3 стъпки
СИСТЕМА ЗА ФАКТУРИРАНЕ И СИСТЕМА ЗА КОНТРОЛ НА ИНВЕНТАЦИИТЕ: С тези инструкции ще ви дам идея за създаване на система за контрол на фактури и запаси. Използвайки MS достъп. Много е лесно и не се нуждаете от повече познания за компютър или програмиране. Ако имате основни познания за Ms Достъп, таблици. формуляри и отчети t
ИНФОРМАЦИЯ: Информационна информация, която се предлага на 5 етапа
IN-FORMA: a Plataforma De Informações Sobre Sua Cidade: Quem nunca saiu de casa com roupas de frio e quando chegou no destino estava fazendo o maior sol ?! Представете си, ent ã o, poder acompanhar em tempo real a temperature de diversos pontos de sua cidade, semper estando preparado para o que der e vier
Система за сортиране на цветовете: Ардуино базирана система с два колана: 8 стъпки
Система за сортиране на цветовете: Система на базата на Arduino с две ленти: Транспортирането и/или опаковането на продукти и артикули в индустриалната сфера се извършва с помощта на линии, направени с помощта на конвейерни ленти. Тези колани помагат за преместване на елемента от една точка в друга със специфична скорост. Някои задачи за обработка или идентификация може да са
Информационна станция (Arduino): 5 стъпки (със снимки)
Информационна станция (Arduino): Добре дошли в най -новата ми инструкция за изграждане на самостоятелна информационна станция! Това страхотно устройство използва Arduino Uno с Ethernet щит, за да се свърже с интернет и да изтегли последните новини и местното време и да го покаже на LCD дисплей
Система за седалки за влак: 4 стъпки (със снимки)
Система за седалки за влакове: Днес направихме система, която може да бъде внедрена в седалките на влака. Трябваше да намерим досада и да намерим решение за това. Решихме, че ще направим система, която да ви каже дали има налично място във вагона на влака, в който се намирате в момента. Нищо не е