Isi kandungan:
- Langkah 1: Kriteria
- Langkah 2: Sarung
- Langkah 3: Elektronik
- Langkah 4: Penerima Bil
- Langkah 5: Menguji
- Langkah 6: Elektronik ke Sarung
- Langkah 7: Ujian Akhir
- Langkah 8: Arduino Code + Links
Video: Mesin layan diri berasaskan Arduino $ 1: 8 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:11
Kami mendapat idea dari guru kejuruteraan kami - kami semua berpendapat bahawa adalah idea yang baik untuk mempunyai mesin layan diri untuk kelas kami dan dia berkata - "keren, buat satu". Ternyata mesin layan diri akan menjadi projek senior yang hebat dan apabila selesai akan berfungsi sebagai penggalangan dana untuk program kejuruteraan kami.
Ia dipanggil Mesin Penjual Wang $ 1 bukan kerana harganya $ 1 untuk dibuat, tetapi hanya kerana penerima bil adalah model lama yang hanya memerlukan $ 1 bil:)
Langkah 1: Kriteria
Kami mahukan mesin layan diri yang sesuai di atas meja dan tidak terlalu tinggi. Kami mengambil ukuran lebar meja untuk memastikan bahawa mesin penjual tidak tergantung dari meja.
Langkah 2: Sarung
Kami membuat kotak kami selebar 19 inci dengan panjang 17 inci dengan tinggi 25 inci. Kami menggunakan Mesin CNC untuk memotong kayu kami. Kami menggunakan kerja keras untuk merancang wajah dan kemudian menukarnya menjadi jenis fail gambar untuk perisian CNC kami. Kami mencampakkan tepinya dan kemudian memasukkannya dengan 1 ¼”. Kami memasang panel depan dengan engsel dan menggunakan skru ¼ , supaya skru tidak dapat masuk ke sisi lain. Kami juga menggunakan Kaca Akrilik yang kami potong untuk rak dan panel depan.
Langkah 3: Elektronik
Arduino
Kami menggunakan Arduino Mega 2560 Board. Kami juga menggunakan Adafruit Motor Boards supaya mereka dapat menjalankan motor stepper. Kami menambah pin pada adafruit agar mereka saling berhubung. Mereka memasukkannya di atas satu sama lain. Masing-masing boleh menjalankan 2 motor. Juga, harap maklum bahawa pelompat perlu disambungkan.
Bekalan Kuasa Desktop
Bekalan kuasa Bestek ATX menggunakan penyesuai untuk mengekalkan bekalan kuasa. Penyesuai berasal dari sparkfun.com dan memberikan pelbagai voltan.
Gegelung ke dalam Motor
Kami membuat model solidworks untuk menahan motor, merebut gegelung, dan memandu gegelung di sepanjang rak. Kami telah mencapai gegelung kami dari ebay dan memotongnya ke dimensi. Kami juga terpaksa membengkokkan 3 daripadanya kerana kami tidak mendapat 6 dengan hujung lurus untuk menyambung ke pelekap gegelung. Kami kemudian mencetak 3D dan melekatkannya pada gegelung dan motor. Motor stepper yang kami miliki, kami masukkan ke dalam pelekap. Ia akan menahan motor dan memandu gegelung di sepanjang jalan yang lurus.
LCD dan Pad Kekunci
Kami menggunakan Arduino Keypad dan skrin LCD yang disambungkan ke plumbum 5V pada penyesuai bekalan kuasa untuk mendapatkan kuasa dan kemudian ke Arduino Board yang sama
Pendawaian
Kami mengesyorkan penggunaan wayar 18 tolok. Dalam kes kami, kami terpaksa berkompromi dengan menggunakan pelbagai alat pengukur kerana kehabisan 18 pengukur
Jalur LED
Kami menggunakan jalur LED untuk menyalakan mesin. Kami menyambungkannya ke plumbum 12V pada penyesuai bekalan kuasa. Jalur LED yang kami gunakan dengan bersyukur mempunyai + dan - di atasnya yang menjadikan proses penyambungannya lebih mudah.
Langkah 4: Penerima Bil
Kami menggunakan Coinco BA30B sebagai penerima tagihan kami. Ia harus dihubungkan terus ke dinding sebagai sumber kuasa. Kami menggabungkannya dengan penyesuai 24-pin dari bekalan kuasa atx untuk memasang dan membolehkan pendawaian lebih mudah. Pinout yang kami ikuti terdapat dalam pautan berikut:
techvalleyprojects.blogspot.com/2011/07/ard…
Dalam kes kami, kami harus membuat mount untuk menaikkan akseptor tagihan kerana jika tidak, itu terlalu rendah untuk selongsong kami.
Langkah 5: Menguji
Uji elektronik di luar selongsong terlebih dahulu untuk memastikan komponen berfungsi. Segala masalah yang timbul harus diperbaiki sebelum meletakkannya di dalam selongsong.
Langkah 6: Elektronik ke Sarung
Setelah anda menguji elektronik dan berpuas hati dengan hasilnya, mulailah memasukkannya ke dalam selongsong anda. Laraskan panjang wayar supaya sesuai dengan dalamnya.
Langkah 7: Ujian Akhir
Setelah dimasukkan ke dalam selongsong, uji semula semuanya. Sekiranya semuanya berjalan seperti yang anda harapkan, tahniah! Anda membuat mesin layan diri.
Langkah 8: Arduino Code + Links
Muat turun:
Kod Arduino
drive.google.com/drive/folders/1oC4MhOcMFy…
SolidWorks Folder dengan fail bahagian dan pemasangan
drive.google.com/drive/folders/1amZoypiWcZ…
Sekiranya ada sesuatu yang berlaku pada pautan, inilah kod arduino yang dipaparkan sepenuhnya. Kod Arduino <<
#include #include #include "Arduino.h" #include #include #include "utiliti / Adafruit_MS_PWMServoDriver.h" #include
const int stepsPerRevolution = 200; const byte ROWS = 4; // empat baris const byte COLS = 3; // kekunci tiga lajur [ROWS] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}}; byte rowPins [ROWS] = {5, 6, 7, 8}; // sambungkan ke pinout baris dari colypins byte keypad [COLS] = {2, 3, 4}; // sambungkan ke pinout lajur keypad Keypad keypad = Pad Kekunci (makeKeymap (kekunci), rowPins, colPins, ROWS, COLS); Adafruit_MotorShield AFMS1 = Adafruit_MotorShield (); Adafruit_StepperMotor * myMotor1 = AFMS1.getStepper (-200, 1); Adafruit_StepperMotor * myMotor2 = AFMS1.getStepper (-200, 2); Adafruit_MotorShield AFMS2 = Adafruit_MotorShield (0x61); Adafruit_StepperMotor * myMotor3 = AFMS2.getStepper (-200, 1); Adafruit_StepperMotor * myMotor4 = AFMS2.getStepper (-200, 2); Adafruit_MotorShield AFMS3 = Adafruit_MotorShield (0x62); Adafruit_StepperMotor * myMotor5 = AFMS3.getStepper (-200, 1); Adafruit_StepperMotor * myMotor6 = AFMS3.getStepper (-200, 2); Adafruit_MotorShield AFMS4 = Adafruit_MotorShield (0x63); Adafruit_StepperMotor * myMotor7 = AFMS4.getStepper (-200, 1); Adafruit_StepperMotor * myMotor8 = AFMS4.getStepper (-200, 2); LiquidCrystal lcd (1, 11, 9, 10, 12, 13); // Pin Digital lcd disambungkan ke // Constants // // pin untuk kredit pengesahan bil (-) line const int billValidator = 22;
// Pemboleh ubah /
/ merakam jangka masa nadi (milisaat) jangka panjang yang tidak ditandatangani;
// menahan jumlah dolar yang dicatatkan int dollarCounter = 0; persediaan tidak sah () {lcd.begin (16, 1); // tetapkan koordinat teks lcd lcd.print ("Masukkan $ 1 Sahaja"); // Tetapkan teks Serial.begin (9600); // Memulakan port bersiri untuk komunikasi. Serial.println ("Ujian Stepper!"); // Type Out Stepper Test di monitor bersiri sehingga kita tahu motor stepper mana yang ditekan. AFMS1.begin (); AFMS2.begin (); AFMS3.begin (); AFMS4.begin (); myMotor1-> setSpeed (100); // Tetapkan Kelajuan Motor di mana mereka akan menjalankan myMotor2-> setSpeed (100); myMotor3-> setSpeed (100); myMotor4-> setSpeed (100); myMotor5-> setSpeed (100); myMotor6-> setSpeed (100); myMotor7-> setSpeed (100); myMotor8-> setSpeed (100); // Penyediaan pin untuk pengesahan bil dan pinMode butang (billValidator, INPUT); // Menetapkan tongkat suara
// Memulakan port bersiri untuk komunikasi. Serial.begin (9600); Serial.println ("Menunggu dolar …"); } gelung void () {{tempoh = pulseIn (billValidator, TINGGI); // Mula mencari panjang nadi yang diterima dari akseptor bil sekiranya (tempoh> 12000) // Nilai yang harus melebihi untuk mengesahkannya sebagai dolar yang diproses dan sahih {// Hitung dolar dolarCounter ++; // Memeriksa untuk memahami Serial.print ("Dolar dikesan. / N Jumlah:"); // Paparkan jumlah dolar baru Serial.println (dollarCounter); // gelung untuk menunggu sehingga butang ditekan semasa (tempoh> 12000) {char key = keypad.getKey (); // membuat kekunci disambungkan dan mula melihat mana yang ditekan jika (kunci! = NO_KEY) {// akan mencari tombol yang ditekan Serial.println (kunci); // beritahu kami mana yang ditekan di monitor bersiri} {if (key == '1') {// Jika Key 1 ditekan, lakukan yang berikut: int keyPressed = key - '1'; myMotor8-> langkah (580, KE DEPAN, GANDA); // Memulakan Motor dan berpusing selama 350 darjah ke arah hadapan. myMotor8-> pelepasan (); // Melepaskan motor dari keadaan menahan diri di tempatnya. kembali; // Kembali ke awal kod gelung}
if (key == '2') {// Sekiranya Key 2 ditekan, lakukan perkara berikut: int keyPressed = key - '2'; langkah myMotor7-> (400, KE DEPAN, GANDA); // Memulakan Motor dan berputar selama 350 darjah ke arah hadapan. myMotor7-> pelepasan (); // Melepaskan motor dari keadaan menahan diri di tempatnya. kembali; // Kembali ke awal kod gelung} jika (kunci == '3') {// Jika Kunci 3 ditekan, lakukan perkara berikut: int keyPressed = key - '3'; langkah myMotor6-> (400, KE DEPAN, GANDA); // Memulakan Motor dan berpusing selama 350 darjah ke arah hadapan. myMotor6-> pelepasan (); // Melepaskan motor dari keadaan menahan diri di tempatnya. kembali; // Kembali ke awal kod gelung} jika (kunci == '4') {// Sekiranya Kekunci 4 ditekan, lakukan perkara berikut: int keyTekanan = kunci - '4'; myMotor5-> langkah (180, KE DEPAN, GANDA); // Memulakan Motor dan berputar selama 350 darjah ke arah hadapan. myMotor5-> pelepasan (); // Melepaskan motor dari keadaan menahan diri di tempatnya. kembali; // Kembali ke awal kod gelung} jika (kunci == '5') {// Sekiranya Kekunci 5 ditekan, lakukan perkara berikut: int keyPressed = key - '5'; myMotor4-> langkah (6900, KE DEPAN, GANDA); // Memulakan Motor dan berputar selama 350 darjah ke arah hadapan. myMotor4-> pelepasan (); // Melepaskan motor dari keadaan menahan diri di tempatnya. kembali; // Kembali ke awal kod gelung} jika (kunci == '6') {// Sekiranya Kekunci 6 ditekan, lakukan perkara berikut: int keyTekanan = kunci - '6'; langkah myMotor3-> (400, KE DEPAN, GANDA); // Memulakan Motor dan berpusing selama 350 darjah ke arah hadapan. myMotor3-> pelepasan (); // Melepaskan motor dari keadaan menahan diri di tempatnya. kembali; // Kembali ke awal kod gelung} jika (kunci == '7') {// Sekiranya Kekunci 7 ditekan, lakukan perkara berikut: int keyPressed = key - '7'; langkah myMotor7-> (400, KE DEPAN, GANDA); // Memulakan Motor dan berpusing selama 350 darjah ke arah hadapan. myMotor7-> pelepasan (); // Melepaskan motor dari keadaan menahan diri di tempatnya. kembali; // Kembali ke awal kod gelung} jika (kunci == '8') {// Sekiranya Kekunci 8 ditekan, lakukan perkara berikut: int keyPressed = key - '8'; langkah myMotor8-> (400, KE DEPAN, GANDA); // Memulakan Motor dan berputar selama 350 darjah ke arah hadapan. myMotor8-> pelepasan (); // Melepaskan motor dari keadaan menahan diri di tempatnya. kembali; // Kembali ke awal kod gelung}}}}}} >>
Disyorkan:
Mesin Layan Diri DIY: 8 Langkah
Mesin Layan Diri DIY: Tiga tahun yang lalu, saya mula belajar di sebuah kolej teknikal elektronik. Salah satu fakta yang mengejutkan saya pada masa itu ialah bilangan perokok kerana semasa rehat, separuh daripada pelajar meninggalkan dinding sekolah untuk melepaskan emosi mereka setelah
Mesin layan diri dengan skala untuk mengesahkan Itemdrop (Raspberry Pi): 5 Langkah
Mesin Layan Diri Dengan Skala untuk Mengkonfirmasi Itemdrop (Raspberry Pi): Selamat datang rakan rakan, untuk projek sekolah saya memutuskan untuk membuat mesin penjual makanan ringan. Tugasan kami adalah membuat alat yang boleh dicipta semula yang menggunakan sekurang-kurangnya 3 sensor dan 1 penggerak. Saya pergi membuat mesin layan diri sebahagian kerana saya mempunyai akses ke beberapa
Mesin Layan Diri Tanpa Rumah: 3 Langkah
Mesin Layan Diri Tanpa Rumah: Saya berusaha untuk mengelakkan rasa lapar di komuniti kita. Terdapat kira-kira 3,000+ orang di Oklahoma yang mengalami kehilangan tempat tinggal. Kami memilih untuk bersekongkol dengan penyelesaian agar masalah ini dapat memperbaiki dan mengembangkan komuniti kami secara keseluruhan. Sebilangan besar orang di
Mesin Layan Diri Servo Arduino: 8 Langkah
Servo Arduino Vending Machine: Mesin layan diri ini memegang tiga batang snickers bersaiz senang dan akan menjual satu per satu menggunakan Arduino Uno dan motor servo
Mesin Layan Diri -- Dispenser gula-gula -- Arduino Bluetooth terkawal -- DIY: 11 Langkah (dengan Gambar)
Mesin Layan Diri || Dispenser gula-gula || Arduino Bluetooth Controlled || DIY: Dalam instruksional ini saya menunjukkan cara membina mesin layan diri menggunakan Arduino.DO KOMENTAR APA YANG ANDA FIKIRKAN TENTANG INSTRUCTABLE INI, JADI SAYA DAPAT MENINGKATKAN DALAM INSTRUKTABLAH LANJUT SAYA, lihat tutorial video untuk pemahaman yang lebih baik entiti