Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Liontin CNC Berbasis HID Arduino

Komponen dan persediaan

Arduino Leonardo
× 1
Tombol, lampu, dan label sementara dapat ditambahkan!
× 1

Tentang proyek ini

Pembaruan artikel terakhir:

31-07-2018:menambahkan file CAD

24-07-2018:menambahkan bagian skema dan pemrograman

Mengapa Proyek Ini?

Anda dapat membeli liontin untuk mesin CNC Anda, tetapi saya membuat mesin CNC kayu saya, jadi mengapa tidak membuat liontin sendiri?

Selain itu, liontin biasa untuk papan pengontrol saya berharga 100 euro dan hanya memiliki 2 tombol dan roda tangan.

Liontin saya memiliki 23 tombol dengan hingga 6 fungsi per tombol dan roda tangan.

Satu komentar bisa jadi, "itu besar dan berat!" Namun dalam praktiknya, ternyata sangat berguna untuk memiliki liontin yang tetap terpasang saat memutar roda tangan...

Bagaimana cara kerjanya?

Keindahan Arduino dengan chip 32u4 (tidak semua model memiliki chip ini) adalah kemampuan untuk meniru keyboard dan/atau mouse. Saat Anda menghubungkan Leonardo ke pc, ia 'melihat' keyboard. Hebat!

Jadi ketika Anda memprogram Arduino, menambahkan beberapa sakelar ke dalamnya dan menghubungkannya ke PC atau Mac, Anda dapat mengirim (beberapa) penekanan tombol/gerakan mouse ke komputer dengan menekan tombol. Seperti yang saya sebutkan, 23 tombol/6 fungsi per tombol =banyak pilihan..

Itu semua tergantung pada penggunaan perpustakaan yang tepat untuk sketsa Arduino! Setelah berjam-jam mencari, akhirnya saya menemukan perpustakaan hebat yang saya sertakan di halaman ini:Clickbutton.

Dengan perpustakaan ini, Anda mendapatkan kemungkinan ini untuk setiap tombol (sesaat!):

  • Satu klik
  • Klik dua kali
  • Cek tiga kali
  • Satu klik dan tahan
  • Klik dua kali dan tahan
  • Klik tiga kali dan tahan

Anda juga mendapatkan fungsi debounce di perpustakaan Clickbutton yang penting.

Anda dapat menyesuaikan pengaturan waktu untuk setiap tombol tetapi pengaturan waktu standar adalah>=250 md untuk mengenali klik dan>=1000 md untuk mengenali penekanan tombol.

Hanya kutipan dari sketsa saya untuk tombol 3 fungsi sumbu X (kunci 13):

if (button[13].clicks !=0)
{
switch (button[13].clicks)
{
case 1:// Satu klik
// Handwheel pada X
shortcut_HANDWHEEL_X();
break;
case 2:// Klik dua kali
// Nol X
shortcut_ZERO_X( );
break;
case 3:// Klik tiga kali
break;
case -1:// Satu Klik dan Tahan
// USER MAKRO 18:X -sumbu:goto work posisi nol G0 X0.0000
press_ESC();
goto_MAIN_MENU();
user_MACRO_18();
break;
case -2:/ / Klik dan Tahan Dua Kali
break;
case -3:// Klik Tiga Kali dan Tahan
break;
}
}

Kandang

Saya memilih menggunakan kayu mahoni untuk penutup liontin. Saya suka bekerja dengan kayu dan tampilan serta nuansanya luar biasa. Juga dengan cara ini saya dapat membuat kasing yang benar-benar dibuat khusus yang tidak selalu memungkinkan dengan kasing tipe ABS siap pakai yang dapat Anda beli seharga 20-50 euro.

Gambar dibuat dengan software Vectric Cut2D. Saya senang saya berinvestasi dalam paket perangkat lunak ini karena membuat kurva pembelajaran CNC jauh lebih tidak curam dan lebih menyenangkan. Ini juga membantu Anda mendesain pekerjaan dua sisi dengan sangat mudah.

Setelah diamplas sedikit, kayunya mendapat banyak lapisan pernis bening.

Frekuensi makan dalam video ini:

2400mm/mnt (~ 94"/mnt) 40 mm/dtk (~ 1,57") dengan potongan 3 mm (1/8") pada saat itu

Sakelar

Switchnya bagus. Mereka adalah tipe sesaat, kecuali sakelar yang saya gunakan untuk menghidupkan/mematikan LED. Anda dapat meletakkan label di belakang penutup atas yang bening dan jika mau, Anda dapat menyalakan sakelar dengan LED bawaan.

Saya menggunakan resistor 1KΩ per sakelar, menggunakan 2mA pada 5Volt.

Ini adalah video dengan audio belanda, hanya untuk membiarkan Anda mendengar suara sakelar. Komentar saya tidak penting. Saya memang mengatakan bahwa sakelarnya agak keras tetapi setidaknya Anda tahu kapan Anda menekannya;)

Satu kelemahan menggunakan sakelar ini adalah mereka membutuhkan penutup yang agak tinggi atau 'tebal'. Ketebalan kayu adalah 21mm (0,82" atau 53/64") untuk bagian atas DAN bawah. setelah pemesinan, total ketebalan liontin adalah 36,5 mm (14,37 atau 14 3/8 inci)

Menghubungkan sakelar sangat mudah... Saya menggunakan resistor pull-up bawaan Arduino sehingga Anda hanya perlu menghubungkan satu sisi sakelar ke ground dan sisi lainnya ke input Arduino.

Label Beralih

Untuk memberi label pada sakelar, saya menggunakan stiker Poly-Vinyl berkualitas tinggi untuk printer laser warna saya. (Juga tersedia untuk printer inkjet). Mencetak pada kertas biasa bukanlah pilihan karena Anda melihat struktur kertas sangat bagus saat dinyalakan.

Kemudian saya melepas tutup transparan dari sakelar dan menempelkan label pada potongan plastik di bawahnya.

Ikon sama dengan yang digunakan dalam perangkat lunak Eding CNC yang disertakan dengan perangkat keras saat Anda membelinya. Saya baru saja menyalin ikon JPEG dari direktori perangkat lunak dan saya mengubah beberapa di program grafis untuk menyesuaikannya dengan kebutuhan saya.

Roda Tangan

Nah yang ini adalah Roda Tangan Eletronic CNC CNC 60mm 100PPR 6 Terminal standar

Jadi 100 pulsa per rotasi, di sebagian besar perangkat lunak CNC Anda dapat mengedit nilai ini.

Elektronik

Sebagai HID (Human Interface Device), saya menggunakan mikrokontroler Arduino Leonardo.

Papan mikrokontroler ini telah dihentikan tetapi saya dapat membelinya di beberapa toko online. Sebagai alternatif, Anda dapat menggunakan Mikro Arduino yang menggunakan chip 32u4 yang sama.

Dengan cara ini saya dapat meniru gerakan keyboard dan mengontrol banyak fungsi perangkat lunak permesinan CNC, dalam kasus saya Eding CNC.

Arduino Leonardo memiliki 23 pin input jadi lebih dari cukup. Seperti yang dikatakan, Anda dapat menetapkan 6 fungsi per tombol.

Konsumsi daya total adalah 150mA dengan LED kunci menyala.

Memprogram mikrokontroler Arduino

Untuk memprogram Arduino, Anda harus membiarkan liontin terhubung ke catu daya CNC dan mengunggah sketsa baru menggunakan perangkat lunak Arduino IDE. (Lihat catatan di bawah) Jadi, Anda tentu saja menggunakan colokan USB yang sama dengan yang digunakan untuk meniru keyboard.

Jika Anda ingin menggunakan pc (laptop) lain untuk pemrograman, cukup masukkan steker USB ke PC lain dan program Arduino, sekali lagi biarkan liontin terhubung dan beri daya dengan catu daya CNC

Bersenang-senang membuat liontin Anda sendiri!

Kode

  • Kode Liontin CNC
Kode Liontin CNCArduino
/* Sketsa ini menggunakan Leanardo sebagai HID untuk dalam hal ini Eding CNC Pendant Keindahan menggunakan Leonardo adalah Anda sangat fleksibel! Saya memiliki 20 kunci di Liontin saya tetapi per kunci Anda dapat menggunakan 6 fungsi yang berbeda. Terlalu banyak tapi saya menggunakan beberapa tombol 3 fungsi. Sangat nyaman dan mudah digunakan dan dikelola.*/#include "ClickButton.h"#include "Keyboard.h"long int aux1_delay =0;// Nr. dari tombol dalam arrayconst int keys =20;// the Button// buttonPin0 adalah tiruan karena saya ingin memulai dengan '1' bukannya '0'const int buttonPin0 =0;// ini sebenarnya digunakanconst int buttonPin1 =0;const int buttonPin2 =1;const int buttonPin3 =2;const int buttonPin4 =3;const int buttonPin5 =4;const int buttonPin6 =5;const int buttonPin7 =6;const int buttonPin8 =7;const int buttonPin9 =8;const int buttonPin10 =9;const int buttonPin11 =10;const int buttonPin12 =11;const int buttonPin13 =12;const int buttonPin14 =13;const int buttonPin15 =A0;const int buttonPin16 =A1;const int buttonPin17 =A2;const int buttonPin18 =A3;const int buttonPin19 =A4;const int buttonPin20 =A5;// Membuat instance objek ClickButton dalam arrayClickButton button[21] ={ // dummy ClickButton (buttonPin0, LOW, CLICKBTN_PULLUP), // menggunakan instance Clickbutton ClickButton (buttonPin1 , RENDAH, CLICKBTN_PULLUP), ClickButton (buttonPin2, LOW, CLICKBTN_PULLUP), ClickButton (buttonPin3, LOW, CLI CKBTN_PULLUP), ClickButton (buttonPin4, LOW, CLICKBTN_PULLUP), ClickButton (buttonPin5, RENDAH, CLICKBTN_PULLUP), ClickButton (buttonPin6, RENDAH, CLICKBTN_PULLUP), ClickButton (buttonPin7, RENDAH, CLICKBTN_PULLUP), (Button_PULLUP) buttonPin9, LOW, CLICKBTN_PULLUP), ClickButton (buttonPin10, LOW, CLICKBTN_PULLUP), ClickButton (buttonPin11, RENDAH, CLICKBTN_PULLUP), ClickButton (buttonPin12, RENDAH, CLICKBTN_PULLUP), ClickButton (tombol KBPTin14, LOW_CPULL ), ClickButton (buttonPin15, RENDAH, CLICKBTN_PULLUP), ClickButton (buttonPin16, RENDAH, CLICKBTN_PULLUP), ClickButton (buttonPin17, RENDAH, CLICKBTN_PULLUP), ClickButton (buttonPin18, RENDAH, CLICKBTN_PULLUP), ClickButton (tombol LOW) , LOW, CLICKBTN_PULLUP),};void setup(){ // Atur pengatur waktu tombol (semua dalam milidetik / md) untuk (int i =1; saya <=tombol; i++) { button[i].debounceTime =20; // Debounce timer di tombol ms[i].multiclickTime =250; // Batas waktu untuk tombol multi klik[i].longClickTime =1000; // Waktu hingga klik lama mendaftar }}void loop(){ // Perbarui status semua tombol dalam larik // CATATAN:tidak dimulai pada '0' tetapi '1' untuk (int i =1; i <=tombol; i++) { // Perbarui status semua tombol buitton[i].Perbarui(); } // jalankan penekanan tombol if (button[1].clicks !=0) { switch (button[1].clicks) { case 1:// Satu klik // tekan tombol RESET (F1) press_RESET(); merusak; case 2:// Klik dua kali press_ESC(); merusak; kasus 3:// Istirahat klik tiga kali; case -1:// Satu Klik dan Tahan // MATIKAN DRIVER press_ESC(); // keluar dari mode handwheel goto_MACHINE_IO_MENU(); tekan_F2(); goto_MAIN_MENU(); merusak; case -2:// Klik Dua Kali dan Tahan break; case -3:// Klik Tiga Kali dan Tahan break; } } if (button[2].clicks !=0) { switch (button[2].clicks) { case 1:// Satu klik // ke menu MAIN press_ESC(); // keluar dari mode handwheel goto_MAIN_MENU(); merusak; kasus 2:// klik dua kali istirahat; kasus 3:// Istirahat klik tiga kali; case -1:// Satu Klik dan Tahan break; case -2:// Klik Dua Kali dan Tahan break; case -3:// Klik Tiga Kali dan Tahan break; } } if (button[3].clicks !=0) { switch (button[3].clicks) { case 1:// Satu klik break; kasus 2:// klik dua kali istirahat; kasus 3:// Istirahat klik tiga kali; case -1:// Satu Klik dan Tahan // HOME semua sumbu press_ESC(); // keluar dari mode handwheel goto_MAIN_MENU(); shortcut_HOME_ALL(); merusak; case -2:// Klik Dua Kali dan Tahan break; case -3:// Klik Tiga Kali dan Tahan break; } } if (button[4].clicks !=0) { switch (button[4].clicks) { case 1:// Satu klik // TOGGLE MDI shortcut_TOGGLE_MDI(); merusak; kasus 2:// klik dua kali istirahat; kasus 3:// Istirahat klik tiga kali; case -1:// Satu Klik dan Tahan break; case -2:// Klik Dua Kali dan Tahan break; case -3:// Klik Tiga Kali dan Tahan break; } } if (button[5].clicks !=0) { switch (button[5].clicks) { case 1:// Satu klik // USER MACRO 1:SET Z HEIGHT press_ESC(); // keluar dari mode handwheel goto_AUTO_MENU(); pengguna_MACRO_1(); // SET Z HEIGHT istirahat; kasus 2:// klik dua kali istirahat; kasus 3:// Istirahat klik tiga kali; case -1:// Satu Klik dan Tahan break; case -2:// Klik Dua Kali dan Tahan break; case -3:// Klik Tiga Kali dan Tahan break; } } if (button[6].clicks !=0) { switch (button[6].clicks) { case 1:// Satu klik // goto menu AUTO press_ESC(); // keluar dari mode handwheel goto_AUTO_MENU(); merusak; kasus 2:// klik dua kali istirahat; kasus 3:// Istirahat klik tiga kali; case -1:// Satu Klik dan Tahan break; case -2:// Klik Dua Kali dan Tahan break; case -3:// Klik Tiga Kali dan Tahan break; } } if (button[7].clicks !=0) { switch (button[7].clicks) { case 1:// Satu klik // REDRAW GRAPHICS SCREEN press_ESC(); // keluar dari mode handwheel goto_AUTO_MENU(); tekan_F3(); // gambar ulang jeda; kasus 2:// klik dua kali istirahat; kasus 3:// Istirahat klik tiga kali; case -1:// Satu Klik dan Tahan break; case -2:// Klik Dua Kali dan Tahan break; case -3:// Klik Tiga Kali dan Tahan break; } } if (button[8].clicks !=0) { switch (button[8].clicks) { case 1:// Satu klik // LOAD FILE press_ESC(); // keluar dari mode handwheel goto_AUTO_MENU(); tekan_F2(); // memuat file break; kasus 2:// klik dua kali istirahat; kasus 3:// Istirahat klik tiga kali; case -1:// Satu Klik dan Tahan break; case -2:// Klik Dua Kali dan Tahan break; case -3:// Klik Tiga Kali dan Tahan break; } } if (button[9].clicks !=0) { switch (button[9].clicks) { case 1:// Satu klik // AUX1 TOGGLE (VACUUM CLEANER) // mencegah peralihan ke segera jadi hanya setelah / / penundaan 1000 md jika ( milis() - aux1_delay> 1000 ) { // mengaktifkan atau menonaktifkan AUX1 shortcut_TOGGLE_AUX1(); // mulai pengatur waktu tunda aux1 aux1_delay =milis(); } merusak; kasus 2:// klik dua kali istirahat; kasus 3:// Istirahat klik tiga kali; case -1:// Satu Klik dan Tahan break; case -2:// Klik Dua Kali dan Tahan break; case -3:// Klik Tiga Kali dan Tahan break; } } if (button[10].clicks !=0) { switch (button[10].clicks) { case 1:// Satu klik // MIST TOGGLE (ringan) shortcut_TOGGLE_MIST(); merusak; kasus 2:// klik dua kali istirahat; kasus 3:// Istirahat klik tiga kali; case -1:// Satu Klik dan Tahan break; case -2:// Klik Dua Kali dan Tahan break; case -3:// Klik Tiga Kali dan Tahan break; } } if (button[11].clicks !=0) { switch (button[11].clicks) { case 1:// Satu klik // Goto P1 (g28) - USER MENU OPTIE 16 press_ESC(); pengguna_MACRO_16(); merusak; kasus 2:// klik dua kali istirahat; kasus 3:// Istirahat klik tiga kali; case -1:// Satu Klik dan Tahan break; case -2:// Klik Dua Kali dan Tahan break; case -3:// Klik Tiga Kali dan Tahan break; } } if (button[12].clicks !=0) { switch (button[12].clicks) { case 1:// Satu klik // Goto P2 (g30) - USER MENU OPTIE 17 press_ESC(); pengguna_MACRO_17(); merusak; kasus 2:// klik dua kali istirahat; kasus 3:// Istirahat klik tiga kali; case -1:// Satu Klik dan Tahan break; case -2:// Klik Dua Kali dan Tahan break; case -3:// Klik Tiga Kali dan Tahan break; } } if (button[13].clicks !=0) { switch (button[13].clicks) { case 1:// Satu klik // Handwheel pada X shortcut_HANDWHEEL_X(); merusak; case 2:// Klik dua kali // Nol X shortcut_ZERO_X(); merusak; kasus 3:// Istirahat klik tiga kali; case -1:// Satu Klik dan Tahan // MAKRO PENGGUNA 18:Sumbu X:bekerja posisi nol G0 X0.0000 press_ESC(); goto_MAIN_MENU(); pengguna_MACRO_18(); merusak; case -2:// Klik Dua Kali dan Tahan break; case -3:// Klik Tiga Kali dan Tahan break; } } if (button[14].clicks !=0) { switch (button[14].clicks) { case 1:// Satu klik // Handwheel pada Y shortcut_HANDWHEEL_Y(); merusak; case 2:// Klik dua kali // Nol Y shortcut_ZERO_Y(); merusak; kasus 3:// Istirahat klik tiga kali; case -1:// Satu Klik dan Tahan // MAKRO PENGGUNA 19:Sumbu Y:bekerja posisi nol G0 Y0,0000 press_ESC(); goto_MAIN_MENU(); pengguna_MACRO_19(); merusak; case -2:// Klik Dua Kali dan Tahan break; case -3:// Klik Tiga Kali dan Tahan break; } } if (button[15].clicks !=0) { switch (button[15].clicks) { case 1:// Satu klik // Handwheel pada Z shortcut_HANDWHEEL_Z(); merusak; case 2:// Klik dua kali // Nol Z shortcut_ZERO_Z(); merusak; kasus 3:// Istirahat klik tiga kali; case -1:// Satu Klik dan Tahan // USER MACRO 20:Z-axis-goto MACHINE up position G53 G0 Z29.0000 press_ESC(); goto_MAIN_MENU(); pengguna_MACRO_20(); merusak; case -2:// Klik Dua Kali dan Tahan break; case -3:// Klik Tiga Kali dan Tahan break; } } // Sebuah sumbu if (button[16].clicks !=0) { switch (button[16].clicks) { case 1:// Satu klik break; kasus 2:// klik dua kali istirahat; kasus 3:// Istirahat klik tiga kali; case -1:// Satu Klik dan Tahan break; case -2:// Klik Dua Kali dan Tahan break; case -3:// Klik Tiga Kali dan Tahan break; } } if (button[17].clicks !=0) { switch (button[17].clicks) { case 1:// Satu klik // Kecepatan handwheel 1x shortcut_HANDWHEEL_X1(); merusak; kasus 2:// klik dua kali istirahat; kasus 3:// Istirahat klik tiga kali; case -1:// Satu Klik dan Tahan break; case -2:// Klik Dua Kali dan Tahan break; case -3:// Klik Tiga Kali dan Tahan break; } } if (button[18].clicks !=0) { switch (button[18].clicks) { case 1:// Satu klik // Kecepatan handwheel 10x shortcut_HANDWHEEL_X10(); merusak; kasus 2:// klik dua kali istirahat; kasus 3:// Istirahat klik tiga kali; case -1:// Satu Klik dan Tahan break; case -2:// Klik Dua Kali dan Tahan break; case -3:// Klik Tiga Kali dan Tahan break; } } if (button[19].clicks !=0) { switch (button[19].clicks) { case 1:// Satu klik // Kecepatan handwheel 100x shortcut_HANDWHEEL_X100(); merusak; kasus 2:// klik dua kali istirahat; kasus 3:// Istirahat klik tiga kali; case -1:// Satu Klik dan Tahan break; case -2:// Klik Dua Kali dan Tahan break; case -3:// Klik Tiga Kali dan Tahan break; } } if (button[20].clicks !=0) { switch (button[20].clicks) { case 1:// Satu klik shortcut_TOGGLE_MACHINE_COORDINATES(); merusak; kasus 2:// klik dua kali istirahat; kasus 3:// Istirahat klik tiga kali; case -1:// Satu Klik dan Tahan break; case -2:// Klik Dua Kali dan Tahan break; case -3:// Klik Tiga Kali dan Tahan break; } }}/* Catatan situs web Aduino tentang penggunaan Leonardo sebagai HID:Fungsi keyboard memungkinkan Leonardo, Micro, atau Due untuk mengirim penekanan tombol ke komputer yang terpasang. Catatan:Tidak semua karakter ASCII yang mungkin, terutama yang tidak dapat dicetak, dapat dikirim dengan perpustakaan Keyboard. Pustaka mendukung penggunaan kunci pengubah. Tombol pengubah mengubah perilaku tombol lain saat ditekan secara bersamaan. Lihat di sini untuk informasi tambahan tentang kunci yang didukung dan penggunaannya. Keyboard.begin() Keyboard.end() Keyboard.press() Keyboard.print() Keyboard.println() Keyboard.release() Keyboard.releaseAll() Keyboard.write() Bahasa Referensi | Perpustakaan | Perbandingan | Mengubah Pengubah Keyboard Perintah Keyboard.write() dan Keyboard.press() dan Keyboard.release() tidak bekerja dengan setiap karakter ASCII yang mungkin, hanya yang sesuai dengan tombol pada keyboard. Misalnya, backspace berfungsi, tetapi banyak karakter lain yang tidak dapat dicetak menghasilkan hasil yang tidak terduga. Untuk huruf kapital (dan tombol lainnya), yang dikirim adalah shift plus karakter (yaitu sama dengan menekan kedua tombol tersebut pada keyboard). Tombol pengubah adalah tombol khusus pada keyboard komputer yang mengubah tindakan normal tombol lain ketika keduanya ditekan secara bersamaan. Untuk informasi lebih lanjut tentang nilai ASCII dan karakter atau fungsi yang diwakilinya, lihat asciitable.com Untuk beberapa penekanan tombol gunakan Keyboard.press() Definisi Leonardo untuk tombol pengubah tercantum di bawah ini:Kunci Nilai heksadesimal Nilai desimal KEY_LEFT_CTRL 0x80 128 KEY_LEFT_SHIFT 0x81 129 KEY_LEFT_ALT 0x82 130 KEY_LEFT_GUI 0x83 131 KEY_RIGHT_CTRL 0x84 132 KEY_RIGHT_SHIFT 0x85 133 KEY_RIGHT_ALT 0x86 134 KEY_RIGHT_GUI 0x87 135 KEY_UP_ARROW 0xDA 218 KEY_DOWN_ARROW 0xD9 217 KEY_LEFT_ARROW 0xD8 216 KEY_RIGHT_ARROW 0xD7 215 KEY_BACKSPACE 0xB2 178 KEY_TAB 0xB3 179 KEY_RETURN 0xB0 176 KEY_ESC 0xB1 177 KEY_INSERT 0xD1 209 KEY_DELETE 0xD4 212 KEY_PAGE_UP 0xD3 211 KEY_PAGE_DOWN 0xD6 214 KEY_HOME 0xD2 210 KEY_END 0xD5 213 KEY_CAPS_LOCK 0xC1 193 KEY_F1 0xC2 194 KEY_F2 0xC3 195 KEY_F3 0xC4 196 KEY _F4 0xC5 197 KEY_F5 0xC6 198 KEY_F6 0xC7 199 KEY_F7 0xC8 200 KEY_F8 0xC9 201 KEY_F9 0xCA 202 KEY_F10 0xCB 203 KEY_F11 0xCC 204 KEY_F12 0xCD tekan 205RE*/void Keyboard.tekan(KEY_F1); penundaan(100); Keyboard.releaseAll();}void press_ESC(){ Keyboard.begin(); Keyboard.tekan(KEY_ESC); penundaan(100); Keyboard.releaseAll();} batal tekan_F2(){ Keyboard.begin(); Keyboard.tekan(KEY_F2); penundaan(100); Keyboard.releaseAll();} batal tekan_F3(){ Keyboard.begin(); Keyboard.tekan(KEY_F3); penundaan(100); Keyboard.releaseAll();} batal tekan_F4(){ Keyboard.begin(); Keyboard.tekan(KEY_F4); penundaan(100); Keyboard.releaseAll();} batal tekan_F5(){ Keyboard.begin(); Keyboard.tekan(KEY_F5); penundaan(100); Keyboard.releaseAll();} batal tekan_F6(){ Keyboard.begin(); Keyboard.tekan(KEY_F6); penundaan(100); Keyboard.releaseAll();} batal tekan_F7(){ Keyboard.begin(); Keyboard.tekan(KEY_F7); penundaan(100); Keyboard.releaseAll();} batal tekan_F8(){ Keyboard.begin(); Keyboard.tekan(KEY_F8); penundaan(100); Keyboard.releaseAll();} batal tekan_F9(){ Keyboard.begin(); Keyboard.tekan(KEY_F9); penundaan(100); Keyboard.releaseAll();} batal tekan_F10(){ Keyboard.begin(); Keyboard.tekan(KEY_F10); penundaan(100); Keyboard.releaseAll();} batal tekan_F11(){ Keyboard.begin(); Keyboard.tekan(KEY_F11); penundaan(100); Keyboard.releaseAll();} batal tekan_F12(){ Keyboard.begin(); Keyboard.tekan(KEY_F12); penundaan(100); Keyboard.releaseAll();}void goto_MAIN_MENU(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_ALT); Keyboard.tekan(KEY_F1); penundaan(100); Keyboard.releaseAll();}void goto_HOME_MENU(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_ALT); Keyboard.tekan(KEY_F2); penundaan(100); Keyboard.releaseAll();}void goto_ZERO_MENU(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_ALT); Keyboard.tekan(KEY_F3); penundaan(100); Keyboard.releaseAll();}void goto_AUTO_MENU(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_ALT); Keyboard.tekan(KEY_F4); penundaan(100); Keyboard.releaseAll();}void goto_MACHINE_IO_MENU(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_ALT); Keyboard.tekan(KEY_F7); penundaan(100); Keyboard.releaseAll();}void goto_GRAPHICS_MENU(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_ALT); Keyboard.tekan(KEY_F8); penundaan(100); Keyboard.releaseAll();}void goto_JOG_MENU(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_ALT); Keyboard.tekan(KEY_F9); penundaan(100); Keyboard.releaseAll();}void goto_JOG_PAD(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_ALT); Keyboard.tekan(KEY_F10); penundaan(100); Keyboard.releaseAll();}void goto_USER1_MENU(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_ALT); Keyboard.tekan(KEY_F11); penundaan(100); Keyboard.releaseAll();}void goto_USER2_MENU(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_ALT); Keyboard.tekan(KEY_F12); penundaan(100); Keyboard.releaseAll();}void shortcut_HOME_ALL(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_CTRL); Keyboard.tekan('h'); penundaan(100); Keyboard.releaseAll();}void shortcut_ZERO_X(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_CTRL); Keyboard.tekan('1'); penundaan(100); Keyboard.releaseAll();}void shortcut_ZERO_Y(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_CTRL); Keyboard.tekan('2'); penundaan(100); Keyboard.releaseAll();}void shortcut_ZERO_Z(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_CTRL); Keyboard.tekan('3'); penundaan(100); Keyboard.releaseAll();}void shortcut_HANDWHEEL_X(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_CTRL); Keyboard.tekan(KEY_LEFT_SHIFT); Keyboard.tekan('x'); penundaan(100); Keyboard.releaseAll();}void shortcut_HANDWHEEL_Y(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_CTRL); Keyboard.tekan(KEY_LEFT_SHIFT); Keyboard.tekan('y'); penundaan(100); Keyboard.releaseAll();}void shortcut_HANDWHEEL_Z(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_CTRL); Keyboard.tekan(KEY_LEFT_SHIFT); Keyboard.tekan('z'); penundaan(100); Keyboard.releaseAll();}void shortcut_HANDWHEEL_X1(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_CTRL); Keyboard.tekan('n'); penundaan(100); Keyboard.releaseAll();}void shortcut_HANDWHEEL_X10(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_CTRL); Keyboard.tekan('o'); penundaan(100); Keyboard.releaseAll();}void shortcut_HANDWHEEL_X100(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_CTRL); Keyboard.tekan('p'); penundaan(100); Keyboard.releaseAll();}void shortcut_TOGGLE_MDI(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_CTRL); Keyboard.tekan(KEY_F6); penundaan(100); Keyboard.releaseAll();}void shortcut_TOGGLE_MACHINE_COORDINATES(){ Keyboard.begin(); // BERAKHIR MESIN/KOORDINASI KERJA Keyboard.tekan(KEY_LEFT_CTRL); Keyboard.tekan('w'); penundaan(100); Keyboard.releaseAll();}void shortcut_TOGGLE_AUX1(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_CTRL); Keyboard.tekan('m'); penundaan(100); Keyboard.releaseAll();}void shortcut_TOGGLE_MIST(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_CTRL); Keyboard.press('l'); penundaan(100); Keyboard.releaseAll();}void shortcut_TOGGLE_FLOOD(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_CTRL); Keyboard.tekan('k'); penundaan(100); Keyboard.releaseAll();}void user_MACRO_1(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_ALT); Keyboard.tekan('1'); penundaan(100); Keyboard.releaseAll();}void user_MACRO_2(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_ALT); Keyboard.tekan('2'); penundaan(100); Keyboard.releaseAll();}void user_MACRO_3(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_ALT); Keyboard.tekan('3'); penundaan(100); Keyboard.releaseAll();}void user_MACRO_4(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_ALT); Keyboard.tekan('4'); penundaan(100); Keyboard.releaseAll();}void user_MACRO_5(){ Keyboard.begin(); Keyboard.tekan(KEY_LEFT_ALT); Keyboard.tekan('5'); penundaan(100); Keyboard.releaseAll();...File ini telah terpotong, silakan unduh untuk melihat konten lengkapnya.

Suku cadang dan penutup khusus

Ini adalah perpustakaan terpenting yang Anda butuhkan untuk mendapatkan fungsi paling banyak per tombol clickbutton_hq5qeT4toX.zip cnc_pendant_SenmxC8UCj.zip

Skema

Skema yang tidak begitu bagus tetapi akan berhasil ...

Proses manufaktur

  1. Tombol
  2. Peredupan Lampu dengan PWM menggunakan Tombol Tekan
  3. Arduino Spybot
  4. FlickMote
  5. TV Buatan Sendiri B-Gone
  6. Jam Master
  7. Temukan Saya
  8. Cara Membuat Tombol Keyboard Punchable yang Dapat Disesuaikan
  9. Liontin Nirkabel Terhubung ke Sistem CNC
  10. Apa itu Tombol RESET pada Panel Operator CNC