Daftar Isi:
- Langkah 1: Bahan
- Langkah 2: Potong Potongan untuk Laci di MDF. (Untuk Hasil Lebih Baik Gunakan Pemotong Laser)
- Langkah 3: Tempel Semua Potongan Bersama untuk Membentuk Laci Dengan Dua Laci Kecil dan Satu Laci Besar
- Langkah 4: Pasang Sekrup di Tengah Setiap Laci
- Langkah 5: Dengan Bor Buat Lubang Melalui Laci di Sisi Belakang, Lubang Harus Seukuran Sensor
- Langkah 6: Las Setiap Sensor CNY 70 Dengan Kabel Tembaga. (ulangi 4 Kali Lebih Banyak)
- Langkah 7: Sirkuit Utama Digunakan untuk Sensor
- Langkah 8: Hubungkan Sensor Mezzanine ke Dragon Board 410c. (digunakan untuk Mengakses GPIO)
- Langkah 9: Hubungkan Sirkuit Dari Breadboard ke Mezzanine
- Langkah 10: Tulis atau Salin Kode
- Langkah 11: Jalankan Program
- Langkah 12: Kesimpulan
Video: Laci Inventaris "Smart Cities Hackathon Qualcomm17": 13 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Dalam dokumen berikutnya, Anda dapat melihat proses konstruksi dan pemrograman laci cerdas. Laci ini diprogram dalam Dragon Board 410c, dengan tujuan untuk meningkatkan kualitas kota. Proyek ini merupakan bagian dari kontes "kota pintar hackathon Qualcomm 17".
Ide proyek ini berawal dari masalah yang jarang dilihat orang, yaitu hilang dan rusaknya pengelolaan alat dan bahan yang disediakan oleh perusahaan seperti pabrik bahkan rumah sakit. Di tempat-tempat ini, beberapa bahan dan alat disediakan untuk para pekerja untuk melakukan aktivitas, bahan dan alat ini harus digunakan kembali karena harganya mahal atau kurangnya sumber daya ekonomi untuk menggantinya.
Di rumah sakit, ada orang yang mengendalikan bahan yang dikeluarkan, tetapi ketika ada campur tangan manusia, ada kesalahan, yang dapat menyebabkan pengeluaran yang tidak perlu. Solusi terbaik untuk masalah ini adalah laci cerdas yang mampu menjaga inventaris barang-barang yang dipinjam dan dikembalikan dan sekaligus tahu siapa yang bertanggung jawab.
Langkah 1: Bahan
Bahan yang dibutuhkan untuk proyek ini adalah: 1 x Dragon Board 410c
1 x Sensor Mezzanine 96 Papan untuk Papan Naga 410c
1 x papan tempat memotong roti
1 x lembar MDF (Medium Density Fiberboard) 61 x 122 cm
5 x sensor CNY 70
1 X TIP31B
1 x elektromagnet
1x7408
1 x Papan Ketik
1 x layar
3 x sekrup
Resistensi (berbagai)
Kabel tembaga
Lem
Mengebor
Langkah 2: Potong Potongan untuk Laci di MDF. (Untuk Hasil Lebih Baik Gunakan Pemotong Laser)
Langkah 3: Tempel Semua Potongan Bersama untuk Membentuk Laci Dengan Dua Laci Kecil dan Satu Laci Besar
Langkah 4: Pasang Sekrup di Tengah Setiap Laci
Langkah 5: Dengan Bor Buat Lubang Melalui Laci di Sisi Belakang, Lubang Harus Seukuran Sensor
Langkah 6: Las Setiap Sensor CNY 70 Dengan Kabel Tembaga. (ulangi 4 Kali Lebih Banyak)
Langkah 7: Sirkuit Utama Digunakan untuk Sensor
Langkah 8: Hubungkan Sensor Mezzanine ke Dragon Board 410c. (digunakan untuk Mengakses GPIO)
Sangat penting bahwa langkah ini dilakukan dengan papan naga mati, jika tidak bisa terbakar, selain itu semua PIN harus ditempatkan dengan benar.
Langkah 9: Hubungkan Sirkuit Dari Breadboard ke Mezzanine
Langkah 10: Tulis atau Salin Kode
#sertakan #sertakan #sertakan //#sertakan
#sertakan "libsoc_gpio.h"
#sertakan "libsoc_debug.h" #sertakan "libsoc_board.h"
/* Sedikit kode di bawah ini membuat contoh ini berfungsi di semua 96Boards */
unsigned int LED_1; // elektro iman
unsigned int BUTTON_1;//sensor pertama
unsigned int BUTTON_2;//sensor kedua unsigned int BUTTON_3;// tutup unsigned int BUTTON_4;//sensor ketiga
struct Pengguna{
char nama pengguna[20]; kata sandi karakter[20]; }Pengguna;
struct Database{
char Article_Name[20]; lokasi karakter[20]; }Basis data;
int sensor1;
int sensor2; int sensor3;
int sensor1_last_state;
int sensor2_last_state; int sensor3_last_state;
nama pengguna karakter[50];
kata sandi karakter[50];
char YaTidak[40];
FILE *pFILE;
char Ya[20] = {"Ya"};
int berjalan = 1;
_attribute_((konstruktor)) static void _init()
{ board_config *config = libsoc_board_init(); BUTTON_1 = libsoc_board_gpio_id(config, "GPIO-A");//sensor tinju BUTTON_2 = libsoc_board_gpio_id(config, "GPIO-C");// sensor kedua BUTTON_3 = libsoc_board_gpio_id(config, "GPIO-D"); // tutup rak BUTTON_4 = libsoc_board_gpio_id(config, "GPIO-B"); // sensor ketiga // BUTTON_5 = libsoc_board_gpio_id(config, "GPIO-E");
LED_1 = libsoc_board_gpio_id(config, "GPIO-E"); // elektro iman
libsoc_board_free(config); } /* Akhir dari kode khusus 96Boards */
int utama()
{ gpio *led_1, *button_1, *button_2, *button_3, *button_4; //int sentuh; struct Pengguna Karina; struct Manajer Pengguna; strcpy(Karina.namapengguna, "Karina Valverde"); strcpy(Karina.password, "Vertikal Lebih Tinggi"); strcpy(Manager.namapengguna, "Bos"); strcpy(Manager.kata sandi, "ITESM"); struct Alat Basis Data; struct Pena Basis Data; struct Kasus Basis Data; strcpy(Alat. Nama_Artikel, "Alat"); struct Alat Basis Data; struct Pena Basis Data; struct Kasus Basis Data; strcpy(Alat. Nama_Artikel, "Alat"); strcpy(Nama_Pena. Artikel, "Pena"); strcpy(Kasus. Nama_Artikel, "Kasus"); libsoc_set_debug(0); led_1 = libsoc_gpio_request(LED_1, LS_SHARED); button_1 = libsoc_gpio_request(BUTTON_1, LS_SHARED); button_2 = libsoc_gpio_request(BUTTON_2, LS_SHARED); button_3 = libsoc_gpio_request(BUTTON_3, LS_SHARED); button_4 = libsoc_gpio_request(BUTTON_4, LS_SHARED); //button_5 = libsoc_gpio_request(BUTTON_5, LS_SHARED);
if((led_1 == NULL) || (button_1 == NULL)|| (button_2 == NULL)|| (button_3 == NULL)||(button_4 == NULL))
{ gagal; } libsoc_gpio_set_direction(led_1, OUTPUT); libsoc_gpio_set_direction(button_1, INPUT); libsoc_gpio_set_direction(button_2, INPUT); libsoc_gpio_set_direction(button_3, INPUT); libsoc_gpio_set_direction(button_4, INPUT); //libsoc_gpio_set_direction(button_5, INPUT);
if((libsoc_gpio_get_direction(led_1) != OUTPUT)
|| (libsoc_gpio_get_direction(button_1) != INPUT) || (libsoc_gpio_get_direction(button_2) != INPUT) || (libsoc_gpio_get_direction(button_3) != INPUT) || (libsoc_gpio_get_direction(button_4) != INPUT)) { gagal; } sensor1 = libsoc_gpio_get_level(button_1); sensor2 = libsoc_gpio_get_level(button_2); sensor3 = libsoc_gpio_get_level(button_4); sensor1_last_state = sensor1; sensor2_last_state = sensor2; sensor3_last_state = sensor3; if (sensor1 ==1){ strcpy(Alat. Lokasi, "Terletak di Rak"); } else if (sensor1 == 0){ strcpy(Tool. Location, "Jangan pernah ditempatkan di Rak ini"); } if (sensor2 ==1){ strcpy(Pen. Location, "Terletak di Rak"); } else if (sensor2 == 0){ strcpy(Pen. Location, "Jangan pernah ditempatkan di Rak ini"); } if (sensor3 ==1){ strcpy(Kasus. Lokasi, "Terletak di Rak"); } else if (sensor3 == 0){ strcpy(Case. Location, "Jangan pernah ditempatkan di Rak ini"); } while(berjalan) { libsoc_gpio_set_level(led_1, TINGGI); printf("Silahkan masukkan nama pengguna: "); scanf("%s", nama pengguna); printf("Silahkan masukkan password: "); scanf("%s", kata sandi); if (strcmp(nama pengguna, "Karina") == 0 && strcmp(sandi, "Lebih Tinggi") == 0){ libsoc_gpio_set_level(led_1, RENDAH); libsoc_gpio_set_level(led_1, RENDAH); while(libsoc_gpio_get_level(button_3) != 1){ sensor1 = libsoc_gpio_get_level(button_1); sensor2 = libsoc_gpio_get_level(button_2); sensor3 = libsoc_gpio_get_level(button_4); } libsoc_gpio_set_level(led_1, TINGGI); if (sensor1 == 1 && sensor1 != sensor1_last_state){ strcpy(Alat. Lokasi, Karina.namapengguna); }else if (sensor1 == 0 && sensor1 != sensor1_last_state){ strcpy(Tool. Location, "Terletak di Rak"); } if (sensor2 == 1 && sensor2 != sensor2_last_state){ strcpy(Pen. Location, Karina.username); }else if (sensor2 == 0 && sensor2 != sensor2_last_state){ strcpy(Pen. Location, "Terletak di Rak"); }
if (sensor3 == 1 && sensor3 != sensor3_last_state){
strcpy(Kasus. Lokasi, Karina.namapengguna); }else if (sensor3 == 0 && sensor3 != sensor3_last_state){ strcpy(Case. Location, "Terletak di Rak"); } }else if (strcmp(username, "Boss") == 0 && strcmp(password, "ITESM") == 0){ printf(" Apakah Anda ingin membuat file teks dengan database? [Ya/Tidak] "); scanf("%s", YaTidak); if ((strcmp(YaTidak, Ya) == 0)){ //Manager_user(pFILE); pFILE = fopen("Database.txt", "w"); fprintf(pFILE, "%s", "--------Rack's Database----- \n"); fprintf(pFILE, "%s", "Nama Artikel:"); fprintf(pFILE, "%s", Tool. Article_Name); fprintf(pFILE, "%s", "\t"); fprintf(pFILE, "%s", "Lokasi Artikel:"); fprintf(pFILE, "%s", Alat. Lokasi); fprintf(pFILE, "%s", "\n"); fprintf(pFILE, "%s", "Nama Artikel:"); fprintf(pFILE, "%s", Nama_Pena. Artikel); fprintf(pFILE, "%s", "\t"); fprintf(pFILE, "%s", "Lokasi Artikel:"); fprintf(pFILE, "%s", Pena. Location); fprintf(pFILE, "%s", "\n");
fprintf(pFILE, "%s", "Nama Artikel:");
fprintf(pFILE, "%s", Case. Article_Name); fprintf(pFILE, "%s", "\t"); fprintf(pFILE, "%s", "Lokasi Artikel:"); fprintf(pFILE, "%s", Kasus. Lokasi); fprintf(pFILE, "%s", "\n");
fclose(pFILE);
}
printf("Akses Ditolak\n");
} } gagal: if(led_1 || button_1|| button_2|| button_3) { printf("terapkan sumber daya gpio gagal!\n"); libsoc_gpio_free(led_1); libsoc_gpio_free(button_1); libsoc_gpio_free(button_2); libsoc_gpio_free(button_3); }
Langkah 11: Jalankan Program
Langkah 12: Kesimpulan
Proyek ini memiliki masa depan yang menjanjikan, karena dapat ditingkatkan dengan cara yang sangat efektif, sensor dapat diubah untuk tag RFID´S dan pada saat yang sama dengan RFID dimungkinkan untuk menggunakan kartu ID untuk memantau siapa yang bertanggung jawab atas materi tersebut.
Direkomendasikan:
Laci Rahasia: 4 Langkah
Laci Rahasia: Saya selalu terpesona dengan ruang rahasia atau laci tersembunyi. Itulah alasan mengapa saya memutuskan untuk membuat laci tersembunyi saya sendiri suatu hari setelah menonton film Batman. Proyek ini terdiri dari patung dengan tombol rahasia yang dapat Anda tempatkan di
Tambahkan Kunci IOT ke Laci APAPUN!: 4 Langkah
Tambahkan Kunci IOT ke Laci APAPUN!: Halo! Setelah cukup lama saya memutuskan untuk membagikan proyek terbaru saya dengan Anda semua. Yang ini hanya ide yang saya dapatkan setelah membeli kunci solenoida murah secara online, dan ternyata menjadi proyek yang bagus. Jadi, pada dasarnya ide dasarnya adalah membuat se
Vintage Hipster Upcycled Bluetooth Speakers Dari Laci Kayu: 5 Langkah
Vintage Hipster Upcycled Bluetooth Speakers From Wooden Drawer: Mengapa tidak melakukan upcycle seperti kacamata skinny jean memakai hipster mengelas karamel latte semi-skim pada sepeda fixie! Apakah Anda tidak menyukai kata upcycle! Oh ya. Mari kita singkirkan semua omong kosong itu dan jadikan sesuatu yang menyenangkan, mudah, dan berguna. Yang Anda perlu
Sistem Manajemen Inventaris Terintegrasi: 10 Langkah (dengan Gambar)
Sistem Manajemen Inventaris Terpadu: Saya selalu menginginkan cara yang terjangkau untuk melacak semua yang ada di dapur saya, jadi beberapa bulan yang lalu saya mulai mengerjakan proyek yang akan melakukan hal itu. Tujuannya adalah untuk membuat sistem yang sederhana dan terjangkau yang sangat mudah digunakan sekaligus
Inventaris - Diagnostik Pc Cepat Sekarang Digantikan, Lihat Di Bawah: 6 Langkah
Inventaris - Diagnostik Pc Cepat Sekarang Digantikan, Lihat Di Bawah: Jika Anda perlu bekerja pada pc yang tidak ada di depan Anda, Anda memerlukan inventaris yang akurat. Instruksi ini muncul murni karena seorang rekan mengalami kesulitan menemukan driver untuk pc. Saya akan menggunakan Aida32 pribadi dari http://majorgeeks.com