Daftar Isi:

Sistem Informasi Ketersediaan Kursi Kereta - FGC: 8 Langkah
Sistem Informasi Ketersediaan Kursi Kereta - FGC: 8 Langkah

Video: Sistem Informasi Ketersediaan Kursi Kereta - FGC: 8 Langkah

Video: Sistem Informasi Ketersediaan Kursi Kereta - FGC: 8 Langkah
Video: Así es LA Gixxer 250 SF de Suzuki 2023 | La Deportiva Mas Barata de Cuarto de Litro 🤔 2024, Juli
Anonim
Sistem Informasi Ketersediaan Kursi Kereta - FGC
Sistem Informasi Ketersediaan Kursi Kereta - FGC

Proyek ini didasarkan pada implementasi, dalam skala, dari kereta api yang memungkinkan orang-orang yang berada di stasiun mengetahui kursi mana yang gratis. Untuk menjalankan prototype tersebut digunakan software Arduino UNO bersama dengan Processing untuk bagian grafisnya.

Konsep ini akan memungkinkan untuk merevolusi dunia angkutan umum, karena akan mengoptimalkan semua kursi kereta secara maksimal, memastikan penggunaan semua gerbong, serta kemungkinan pengumpulan data dan melakukan studi yang akurat, nanti pada.

Langkah 1: Desain Model 3D

Desain Model 3D
Desain Model 3D

Pertama-tama kami telah melakukan penelitian yang komprehensif tentang model kereta api. Dengan semua informasi yang dikumpulkan, kereta GTW (diproduksi oleh Stadler Rail) yang digunakan pada FGC (Ferrocarrils de la Generalitat de Catalunya) telah dipilih.

Itu kemudian dirancang dengan perangkat lunak 3D PTC Creo model untuk pencetakan 3D berikutnya.

Langkah 2: Mencetak Model 3D dan Selesai

Mencetak Model 3D dan Selesai
Mencetak Model 3D dan Selesai

Setelah kereta dirancang, itu diteruskan ke pencetakan 3D. Setelah potongan dicetak, itu harus dipoles untuk mencapai permukaan yang halus.

Proyek ini juga dapat dilakukan dengan model kereta api yang ada.

Setelah dicetak, hasil akhir diberikan.

Langkah 3: Komponen

Komponen
Komponen

Untuk pengembangan proyek ini diperlukan komponen-komponen berikut:

- FSR 0,04-4.5LBS (Sensor tekanan).

- Resistor 1.1K ohm

Langkah 4: Pengodean (Arduino & Pemrosesan)

Pengkodean (Arduino & Pemrosesan)
Pengkodean (Arduino & Pemrosesan)
Pengkodean (Arduino & Pemrosesan)
Pengkodean (Arduino & Pemrosesan)
Pengkodean (Arduino & Pemrosesan)
Pengkodean (Arduino & Pemrosesan)

Sekarang saatnya menulis kode Arduino yang akan membiarkan sensor mengirim tanda ke perangkat lunak Pemroses yang akan mengirimkan informasi secara grafis.

Sebagai sensor kami memiliki 4 sensor tekanan untuk arduino yang memvariasikan resistansinya sesuai dengan gaya yang diterapkan padanya. Jadi tujuannya adalah untuk memanfaatkan sinyal yang dikirim oleh sensor (saat penumpang duduk) untuk mengubah layar grafis di Processing.

Kemudian, kami membuat bagian grafis di mana kami telah memperhitungkan desain grafis Ferrocarrils de la Generalitat de Catalunya, untuk meniru kenyataan dengan cara terbaik.

Dalam pengolahannya telah ditulis sebuah kode yang terhubung langsung dengan software arduino, dengan cara ini, setiap kali seseorang duduk di kursi, itu berubah warna, memungkinkan pengguna di peron kereta mengetahui secara real-time ketersediaan kursi kereta..

Di sini Anda dapat melihat coding

ARDUINO:

int pot = A0; // Hubungkan pin tengah pot ke pin ini pot2 = A1; int pot3 = A2; int pot4 = A3; int lectura1;// variabel untuk menyimpan nilai pot;

int kuliah2;int dosen3; int kuliah4;

void setup(){ //menginisialisasi komunikasi serial pada 9600 baud rate Serial.begin(9600); }

void loop() { String s = ""; // //Llegir sensor1 lectura1 = analogRead(pot); // lectura nilai analog if (lectura1 > 10) { s = "1"; penundaan(100); } else { s = "0"; penundaan(100); } Serial.println(s);

}

PENGOLAHAN:

import processing.serial.*; // library ini menangani pembicaraan serial String val=""; PImage s0000, s0001, s0010, s0011, s0100, s0101, s0110, s0111, s1000, s1001, s1010, s1011, s1100, s1101, s1110, s1111; Port saya serial; // Buat objek dari kelas Serial

void setup()// ini hanya berjalan sekali{ fullScreen(); background(0);// mengatur warna latar belakang menjadi hitam myPort = new Serial(this, "COM5", 9600);// memberikan parameter ke objek kelas serial, masukkan com tempat arduino Anda terhubung dan baud rate

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 (lebar tampilan, tinggi tampilan); s0001.resize (lebar tampilan, tinggi tampilan); s0010.resize(lebar tampilan, tinggi tampilan); s0011.resize(lebar tampilan, tinggi tampilan); s0100.resize(lebar tampilan, tinggi tampilan); s0101.resize(lebar tampilan, tinggi tampilan); s0110.resize(lebar tampilan, tinggi tampilan); s0111.resize(lebar tampilan, tinggi tampilan); s1000.resize(lebar tampilan, tinggi tampilan); s1001.resize (lebar tampilan, tinggi tampilan); s1010.resize (lebar tampilan, tinggi tampilan); s1011.resize(lebar tampilan, tinggi tampilan); s1100.resize(lebar tampilan, tinggi tampilan); s1101.resize(lebar tampilan, tinggi tampilan); s1110.resize(lebar tampilan, tinggi tampilan); s1111.resize(lebar tampilan, tinggi tampilan);

val = trim(val);} void draw() { if (val!=null) {

if (val.equals("0001")) { gambar(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")) { gambar(s1101, 0, 0); } else if (val.equals("1110")) { image(s1110, 0, 0); } else if (val.equals("1111")) { image(s1111, 0, 0); } else { gambar(s0000, 0, 0); } } }

void serialEvent(Serial myPort)// setiap kali terjadi serial event itu berjalan{ val = myPort.readStringUntil('\n'); //pastikan data kita tidak kosong sebelum melanjutkan if (val != null) { //trim spasi putih dan memformat karakter (seperti carriage return) val = trim(val); println(val); } }

Langkah 5: Sirkuit

sirkuit
sirkuit

Setelah semua pemrograman, saatnya menghubungkan semua sensor dengan board Arduino UNO.

Sensor ditempatkan pada 4 kursi (yang nantinya akan ditutup dengan kain) dan dilas ke kabel yang langsung menuju motherboard Arduino UNO. Sinyal yang diterima di papan dikirim ke komputer yang terhubung melalui USB yang mengirimkan informasi ke Processing secara real time, mengubah warna kursi.

Anda dapat melihat skema koneksi.

Langkah 6: Uji Prototipe

Setelah kode diunggah ke papan arduino dan program pemrosesan dan arduino dihidupkan, sensor diuji. Di layar Anda akan melihat perubahan kursi karena perubahan gambar di layar yang menginformasikan tentang kursi yang terisi dan no.

Langkah 7: Mock-up Nyata

Mock-up nyata
Mock-up nyata
Mock-up nyata
Mock-up nyata
Mock-up nyata
Mock-up nyata
Mock-up nyata
Mock-up nyata

Aplikasi nyata akan mencoba menginstalnya di kereta dan platform jaringan FGC untuk melayani pelancong.

Langkah 8: NIKMATI

NIKMATI!
NIKMATI!
NIKMATI!
NIKMATI!

Anda akhirnya telah membuat Force Sensor Train (prototipe) yang memungkinkan pengguna di peron kereta mengetahui kursi mana yang tersedia secara real time.

SELAMAT DATANG DI MASA DEPAN!

Proyek yang dibuat oleh Marc Godayol & Federico Domenech

Direkomendasikan: