Isi kandungan:

EAL - SmartStorage: 3 Langkah
EAL - SmartStorage: 3 Langkah

Video: EAL - SmartStorage: 3 Langkah

Video: EAL - SmartStorage: 3 Langkah
Video: Smart Secret Storages and Space Saving Furniture Innovations 2024, November
Anonim
EAL - SmartStorage
EAL - SmartStorage
EAL - SmartStorage
EAL - SmartStorage

Ini adalah projek untuk SmartStorage oleh Kasper Borger Tulinius

Langkah 1: Kaedah

Kaedah
Kaedah

Untuk projek ini, saya telah menggunakan beberapa program yang berbeza.

Mesin itu sendiri dibuat dalam 123D Design dan printete di DaVinci jr. mesin pencetak

Bukan yang terbaik tetapi sangat mudah dan mesra pengguna.

Ia dikendalikan oleh Arduino yang diprogramkan di C.

Saya telah menggunakan Visual Studio 2017 untuk membuat WindowsFormApp (C #).

Langkah 2: Kod untuk Arduino

Kod untuk Arduino
Kod untuk Arduino
Kod untuk Arduino
Kod untuk Arduino

Untuk mesin itu sendiri, saya telah menggunakan Arduino Mega. Ia diprogramkan dalam C. Mesinnya sangat ringkas. Ia menjalankan urutan mudah untuk mendapatkan rak dan membentangkannya kepada pengendali.

Motor yang saya gunakan adalah 2 motor stepper kecil yang digerakkan oleh 2 SBT0811.

Untuk mengawal mesin saya telah membuat aplikasi yang berkomunikasi dengan port com.

#sertakan "Stepper.h"

#define LANGKAH 32 // Bilangan langkah untuk putaran poros dalaman // 2048 langkah untuk satu putaran poros luaran int cmd; // Fra WinApp int posZero = 0; int posOne = 1000; int posTwo = 1500; int posThree = 2000; int ambil = 100; int menyampaikan = -100; int step_extractor_out = 512; int step_extractor_back = -512; Stepper hoist (LANGKAH, 8, 10, 9, 11); Pengekstrak stepper (LANGKAH, 2, 3, 4, 5); persediaan kosong () {} gelung kosong () {Serial.begin (9600); cmd = Serial.read (); jika (cmd == 1) {Serial.end (); kelewatan (1000); } lain jika (cmd == 0) {hoist.setSpeed (600); hoist.step (posOne); kelewatan (200); extractor.setSpeed (300); extractor.step (step_extractor_out); kelewatan (200); hoist.setSpeed (100); hoist.step (ambil); kelewatan (200); extractor.step (step_extractor_back); kelewatan (200); hoist.setSpeed (600); hoist.step (-posOne-grab); kelewatan (200); extractor.step (step_extractor_out); kelewatan (5000); // EVT CMD FRA WINaPP extractor.step (step_extractor_back); kelewatan (200); hoist.step (posOne + ambil); kelewatan (200); extractor.step (step_extractor_out); kelewatan (200); hoist.setSpeed (100); hoist.step (-grab); kelewatan (200); extractor.step (step_extractor_back); kelewatan (200); hoist.setSpeed (600); hoist.step (-posOne); Serial.begin (9600); Bersiri.println (0); Bersiri.end (); } lain jika (cmd == 2) {hoist.setSpeed (600); hoist.step (posTwo); kelewatan (200); extractor.setSpeed (300); extractor.step (step_extractor_out); kelewatan (200); hoist.setSpeed (100); hoist.step (ambil); kelewatan (200); extractor.step (step_extractor_back); kelewatan (200); hoist.setSpeed (600); hoist.step (-posTwo-grab); kelewatan (200); extractor.step (step_extractor_out); kelewatan (5000); // EVT CMD FRA WINaPP extractor.step (step_extractor_back); kelewatan (200); hoist.step (posTwo + ambil); kelewatan (200); extractor.step (step_extractor_out); kelewatan (200); hoist.setSpeed (100); hoist.step (-grab); kelewatan (200); extractor.step (step_extractor_back); kelewatan (200); hoist.setSpeed (600); hoist.step (-posTwo); Serial.begin (9600); Bersiri.println (0); Bersiri.end (); } lain jika (cmd == 3) {hoist.setSpeed (600); hoist.step (posThree); kelewatan (200); extractor.setSpeed (300); extractor.step (step_extractor_out); kelewatan (200); hoist.setSpeed (100); hoist.step (ambil); kelewatan (200); extractor.step (step_extractor_back); kelewatan (200); hoist.setSpeed (600); hoist.step (-posThree-grab); kelewatan (200); extractor.step (step_extractor_out); kelewatan (5000); // EVT CMD FRA WINaPP extractor.step (step_extractor_back); kelewatan (200); hoist.step (posThree + ambil); kelewatan (200); extractor.step (step_extractor_out); kelewatan (200); hoist.setSpeed (100); hoist.step (-grab); kelewatan (200); extractor.step (step_extractor_back); kelewatan (200); hoist.setSpeed (600); hoist.step (-posThree); Serial.begin (9600); Bersiri.println (0); Bersiri.end (); }}

Langkah 3: Aplikasi

Aplikasi
Aplikasi

Aplikasi yang saya buat dibuat dalam VisualStudio 2017.

Ini adalah aplikasi bentuk windows yang dalam kes ini termasuk pangkalan data SQL.

Pangkalan data mempunyai 3 jadual yang mengandungi maklumat mengenai pengguna, lokasi setiap mesin dan isi setiap mesin.

Semasa memulakan aplikasi, anda log masuk dengan nama dan pw anda.

Kemudian anda akan memilih mesin mana yang akan dikendalikan dan kandungan setiap laci akan disediakan untuk anda.

Kemudian anda boleh menekan "get drawer" dan mesin akan mendapatkan laci dan anda boleh mengemas kini jumlah item yang telah anda ambil atau masukkan.

Disyorkan: