Isi kandungan:
- Langkah 1: Litar
- Langkah 2: Pemacu Linear
- Langkah 3: Drum
- Langkah 4: Petua Pembinaan
- Langkah 5: Algoritma Lukisan Garisan Bresenham
- Langkah 6: Kodnya
- Langkah 7: Menu
- Langkah 8: Penentukuran
- Langkah 9: Pemprosesan Gcode
- Langkah 10: Hasil
- Langkah 11: Kemas kini Kod
- Langkah 12: Drum_plotter_v3.ino
- Langkah 13: Drum_plotter_plotter_v4.ino
Video: CNC Drum Plotter: 13 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Petunjuk ini menerangkan plotter A4 / A3 yang dibuat dari bahagian paip plastik, dua motor stepper BYJ-48 dan servo SG-90. Pada dasarnya ia adalah plotter katil rata yang digulung ke dalam tong dram.
Satu motor memutar drum sementara yang lain menggerakkan kepala cetak. Servo digunakan untuk menaikkan dan menurunkan pen.
Plotter ini mempunyai beberapa kelebihan berbanding plotter flatbed tradisional:
- jejak kaki yang jauh lebih kecil
- hanya memerlukan satu rel panduan linier
- mudah dibina
- murah
Jurubahasa on-board menerima output gcode dari Inkscape.
Komunikasi dengan plotter adalah melalui pautan bluetooth.
Ploter ini sesuai dengan Tablet Grafik CNC yang dijelaskan dalam https://www.instructables.com/id/CNC-Graphics-Table Table yang boleh saya instruksikan.
Walaupun bukan instrumen ketepatan, ketepatan plotter ini memuaskan untuk tujuannya untuk memindahkan garis cat air ke kertas.
Langkah 1: Litar
Litar ini terdiri daripada mikrokontroler Arduino UNO R3 dan perisai khas di mana komponen diskrit dipasang. Kuasa digunakan melalui pengatur 5 volt 1 amp luaran. Arus purata sekitar 500mA.
Motor melangkah BYJ-48 dipasang pada PORTB (pin D8, D9, D10, D11) dan PORTC (pin A0, A1, A2, A3). Servo pena SG-90 dipasang pada pin D3.
Perintang 560 ohm, yang mungkin ditinggalkan, memberikan ukuran perlindungan litar pintas ke arduino sekiranya berlaku sesuatu yang tidak kena. Mereka juga mempermudah memasang wayar ketika mereka bertindak sebagai "jumper" di rel pasokan.
Perintang 1k2 dan 2K2 mencegah kerosakan pada modul bluetooth HC-06 [1] dengan menjatuhkan output 5 volt dari arduino ke 3.3 volt.
[1] Cabut modul Bluetooth HC-06 ketika memuat naik kod ke arduino melalui port USB. Ini akan mengelakkan konflik port bersiri.
Langkah 2: Pemacu Linear
Pemacu linier dibuat dari bar aluminium sepanjang 3mm x 32mm, sehelai kepingan aluminium, dan empat takal galas bebola kecil.
Aluminium boleh didapati di kebanyakan kedai perkakasan. Katrol U-groove U624ZZ 4x13x7mm boleh didapati dari
Alat tangan sederhana adalah semua yang anda perlukan. Potong bar aluminium agar sesuai dengan dimensi plotter anda.
Pemasangan motor
Pasang motor melangkah BJY-48 melalui bar pada satu hujung dan pasangkan gigi GT2 20, lubang 5mm, takal ke batang motor. Sekarang pasangkan pulley GT2 yang lain di hujung bar anda supaya pulley dapat berputar dengan bebas. Saya menggunakan spacer tubular (radio) berdiameter 5mm dan bolt 3mm untuk mencapainya.
Sekarang gelung panjang tali pinggang GT2 di sekitar takal. Sambungkan hujung timing belt dengan cara memutar setengah sehingga gigi menyekat dan terpaku dengan tali leher.
Akhirnya pasangkan pemasangan kereta ke tali pinggang masa dengan tali leher.
Perhimpunan kereta
Pemasangan kereta dibuat dari jalur kepingan aluminium [1] di mana takal U624ZZ dilekatkan. Sekiranya perlu, gunakan mesin basuh 4mm untuk melepaskan pulley dari kepingan aluminium.
Katrol, yang mempunyai alur 4mm, mengangkut aluminium bar atas dan bawah sehingga tidak ada pergerakan menegak namun jalur aluminium bergerak bebas ke kiri dan kanan.
Untuk memastikan bahawa kereta berjalan bebas, pasangkan dua takal teratas terlebih dahulu kemudian, dengan takal duduk di bar, tandakan kedudukan dua takal bawah. Lubang untuk kedua-dua takal ini sekarang boleh digerudi. Gunakan gerudi kecil "pilot" terlebih dahulu untuk mengelakkan gerudi 4mm yang lebih besar daripada melayang.
Sebelum membengkokkan jalur alumium ke dalam "U", gerudi lubang atas dan bawah sesuai dengan diameter pen anda. Sekarang lengkapkan selekoh.
Pasang tali pinggang masa ke unit kereta dengan tali leher dan bolt 3mm di antara dua takal teratas.
Pemasangan pen pen
Pasang servo SG-90 ke bahagian atas unit kereta dengan menggunakan satu atau dua ikatan kabel.
Jatuhkan pen anda ke dua lubang yang telah anda latih. Pastikan pena meluncur ke atas dan ke bawah dengan bebas.
Kencangkan "kerah" ke pena anda sehingga pena hanya keluar dari drum ketika servo berada dalam kedudukan pena.
[1] Aluminium boleh dipotong dengan mencetak kedua-dua sisi lembaran dengan pisau tajam (pemotong kotak) kemudian melenturkan potongan di tepi meja. Beberapa goyangan dan helaiannya akan patah meninggalkan putus. Tidak seperti pemotongan timah, kaedah ini tidak merosakkan aluminium.
Langkah 3: Drum
Drum terdiri daripada bahagian paip plastik dengan dua palam akhir kayu [1].
Gunakan kompas, tetapkan ke jari-jari bahagian dalam paip anda, untuk menggambar garis besar palam akhir. Sekarang potong setiap garis besar menggunakan gergaji pisau halus ("coping", "fret") kemudian pasangkan setiap palam hujung dengan bantuan serpihan kayu. Kencangkan palam hujung dengan menggunakan skru kayu yang kecil.
Baut kejuruteraan 6 mm melalui pusat setiap palam akhir membentuk gandar.
Dimensi Drum
Dimensi dram ditentukan oleh ukuran kertas anda. Diameter dram 100mm menyokong potret A4 dan landskap A3. Diameter drum 80 mm hanya akan menyokong landskap A4. Gunakan sekecil diameter dram untuk mengurangkan inersia… motor BYJ-48 hanya kecil.
Diameter drum 90mm sangat sesuai untuk potret A4 dan kertas lanskap A3 sebagai pinggir yang bertentangan, apabila melilit drum, tumpang tindih kira-kira 10mm yang bermaksud bahawa anda hanya mempunyai satu jahitan untuk dilekatkan pada tempatnya.
Memusingkan dram
Setiap gandar melewati pendakap hujung aluminium sehingga dram dapat berputar dengan bebas. Pengapungan akhir dihalang dengan menggunakan GT-2, 20 gigi, lubang 6mm, takal diikat pada gandar pada satu hujungnya. Jalur pemasa GT-2 berterusan menghubungkan motor melangkah BJY-48 ke drum. Motor memerlukan takal dengan ukuran bore 5mm.
[1] Palam akhir plastik tersedia untuk kebanyakan diameter paip tetapi ditolak kerana dipasang di atas paip daripada di dalam dan plastik cenderung lentur. Mereka mungkin akan baik-baik saja jika gandar berterusan digunakan sebagai ganti bolt… tetapi kemudian anda memerlukan beberapa kaedah memasang gandar ke penutup akhir.
Langkah 4: Petua Pembinaan
Pastikan pena bergerak di sepanjang pusat dram. Ini dapat dicapai dengan memotong sudut dari penyokong kayu. Sekiranya pena berada di tengah, ia cenderung meluncur ke bahagian bawah dram.
Penggerudian tepat dua lubang pen adalah penting. Sebarang goyangan dalam panduan pen atau pemasangan kereta akan menyebabkan goyangan di sepanjang paksi-X.
Jangan ketatkan tali pinggang masa GT-2 … mereka hanya perlu diketatkan. Motor melangkah BYJ-48 tidak mempunyai banyak tork.
Motor melangkah BJY-48 sering menunjukkan sedikit tindak balas yang tidak signifikan di sepanjang paksi-X tetapi menjadi perhatian ketika datang ke paksi-Y. Sebabnya ialah satu putaran motor paksi-Y sama dengan satu putaran drum, sedangkan kereta pena memerlukan banyak putaran motor paksi-X untuk melintasi panjang drum. Sebarang tindak balas sumbu Y dapat dihilangkan dengan mengekalkan daya kilas berterusan pada drum. Kaedah yang mudah adalah dengan memasang berat kecil pada tali nilon yang melilit drum.
Langkah 5: Algoritma Lukisan Garisan Bresenham
Plotter ini menggunakan versi dioptimumkan [1] algoritma lukisan garis Bresenham. Malangnya algoritma ini hanya berlaku untuk cerun garis kurang dari atau sama dengan 45 darjah (iaitu satu oktan bulatan).
Untuk mengatasi batasan ini, saya "memetakan" semua input XY ke "oktan" pertama, kemudian "unmap" mereka apabila tiba masanya untuk merancang. Fungsi pemetaan input dan output untuk mencapainya ditunjukkan dalam rajah di atas.
Derivasi
Selebihnya langkah ini mungkin dihilangkan jika anda sudah biasa dengan algoritma Bresenham.
Mari kita gariskan dari (0, 0) hingga (x1, y1) di mana:
- x1 = 8 = jarak mendatar
- y1 = 6 = jarak menegak
Persamaan untuk garis lurus yang melewati asal (0, 0) diberikan oleh persamaan y = m * x di mana:
m = y1 / x1 = 6/8 = 0.75 = cerun
Algoritma Ringkas
Algoritma mudah untuk merancang garis ini adalah:
- int x1 = 8;
- int y1 = 6;
- apungan m = y1 / x1;
- plot (0, 0);
- untuk (int x = 1; x <= x1; x ++) {
- int y = bulat (m * x);
- plot (x, y);
- }
Jadual 1: Algoritma Mudah
x | m | m * x | y |
---|---|---|---|
0 | 0.75 | 0 | 0 |
1 | 0.75 | 0.75 | 1 |
2 | 0.75 | 1.5 | 2 |
3 | 0.75 | 2.25 | 2 |
4 | 0.75 | 3 | 3 |
5 | 0.75 | 3.75 | 4 |
6 | 0.75 | 4.5 | 5 |
7 | 0.75 | 5.25 | 5 |
8 | 0.75 | 6 | 6 |
Terdapat dua masalah dengan algoritma mudah ini:
- gelung utama mengandungi pendaraban yang perlahan
- ia menggunakan nombor titik terapung yang juga perlahan
Graf y berbanding x untuk garis ini ditunjukkan di atas.
Algoritma Bresenham
Bresenham memperkenalkan konsep istilah kesalahan 'e' yang dimulakan menjadi sifar. Dia menyedari bahawa nilai m * x yang ditunjukkan dalam jadual 1 dapat diperoleh dengan penambahan berturut-turut 'm' ke 'e'. Dia seterusnya menyedari bahawa y hanya bertambah jika bahagian pecahan m * x lebih besar daripada 0.5. Untuk memastikan perbandingannya berada dalam julat 0 <= 0,5 <= 1 dia mengurang 1 dari 'e' setiap kali y bertambah.
- int x1 = 8;
- int y1 = 6;
- apungan m = y1 / x1;
- int y = 0;
- apungan e = 0;
- plot (0, 0);
- untuk (int x = 1; x <= x1; x ++) {
- e + = m;
- jika (e> = 0.5) {
- e - = 1;
- y ++;
- }
- plot (x, y);
- }
Jadual 2: Algoritma Bresenham
x | m | e | e-1 | y |
---|---|---|---|---|
0 | 0.75 | 0 | 0 | 0 |
1 | 0.75 | 0.75 | -0.25 | 1 |
2 | 0.75 | 0.5 | -0.5 | 2 |
3 | 0.75 | 0.25 | 2 | |
4 | 0.75 | 1 | 0 | 3 |
5 | 0.75 | 0.75 | -0.25 | 4 |
6 | 0.75 | 0.5 | -0.5 | 5 |
7 | 0.75 | 0.25 | 5 | |
8 | 0.75 | 1 | 0 | 6 |
Sekiranya anda mengkaji algoritma dan jadual 2, anda akan melihatnya;
- gelung utama hanya menggunakan penambahan dan pengurangan… tidak ada pendaraban
- corak untuk y adalah sama seperti jadual 1.
Tetapi kita masih menggunakan nombor titik terapung … mari kita perbaiki.
Algoritma Bresenham (Dioptimumkan)
Algoritma titik terapung Bresenham dapat ditukar menjadi bentuk integer jika kita skala 'm' dan 'e' dengan 2 * x1 dalam hal m = (y1 / x1) * 2 * x1 = 2 * y1
Selain penskalaan 'm' dan 'e' algoritma serupa dengan yang di atas kecuali:
- kita menambah 2 * y1 ke 'e' setiap kali kita menambah 'x"
- kita menambah y jika e sama atau lebih besar daripada x1.
- kita tolak 2 * x1 dari 'e' dan bukannya 1
- x1 digunakan untuk perbandingan dan bukannya 0.5
Kelajuan algoritma dapat ditingkatkan lebih jauh jika gelung menggunakan sifar untuk ujian. Untuk melakukan ini, kita perlu menambahkan ofset pada istilah kesalahan 'e'.
- int x1 = 8;
- int y1 = 6;
- int m = (y1 << 1); // pemalar: cerun berskala 2 * x1
- int E = (x1 << 1); // pemalar: 2 * x1 untuk digunakan dalam gelung
- int e = -x1; // mengimbangi -E / 2: ujian kini dilakukan pada sifar
- plot (0, 0);
- int y = 0;
- untuk (x = 1; x <= x1; x ++) {
- e + = m;
- jika (e> = x1) {
- e - = E
- y ++;
- }
- plot (x, y);
- }
Jadual 3: Algoritma Bresenham (Dioptimumkan)
x | m | E | e | e - E | y |
---|---|---|---|---|---|
0 | 12 | 16 | -8 | 0 | |
1 | 12 | 16 | 4 | -12 | 1 |
2 | 12 | 16 | 0 | -16 | 2 |
3 | 12 | 16 | -4 | 2 | |
4 | 12 | 16 | 8 | -8 | 3 |
5 | 12 | 16 | 4 | -12 | 4 |
6 | 12 | 16 | 0 | -16 | 5 |
7 | 12 | 16 | -4 | 5 | |
8 | 12 | 16 | 8 | -8 | 6 |
Sekali lagi corak untuk y adalah sama seperti pada jadual lain. Sangat menarik untuk diperhatikan bahawa jadual 3 hanya mengandungi bilangan bulat dan nisbah m / E = 12/16 = 0.75 yang merupakan cerun 'm' garis.
Algoritma ini sangat pantas kerana gelung utama hanya melibatkan penambahan, pengurangan, dan perbandingan dengan sifar. Pendaraban tidak digunakan selain ketika kita menginisialisasi nilai untuk 'E' dan 'm' menggunakan "shift kiri" untuk menggandakan nilai x1 dan y1.
[1] Versi algoritma Bresenham yang dioptimumkan ini adalah dari kertas "Bresenham Line and Circle Drawing", hak cipta © 1994-2006, W Randolph Franklin (WRF). Bahannya boleh digunakan untuk penyelidikan dan pendidikan bukan keuntungan, dengan syarat anda memberi kredit kepadanya, dan pautan kembali ke halaman rumahnya,
Langkah 6: Kodnya
Muat turun fail yang dilampirkan ke dalam folder dengan nama yang sama kemudian muat naik ke plotter menggunakan arduino IDE anda (persekitaran pembangunan bersepadu).
Cabut palam modul bluetoorh HC-06 sebelum mencuba muat naik. Ini diperlukan untuk mengelakkan konflik port bersiri dengan kabel USB.
Kod Pihak Ketiga
Sebagai tambahan kepada kod.ino di atas, anda akan memerlukan pakej perisian berikut yang percuma / sumbangan:
- Teraterm yang boleh didapati dari
- Inkscape yang boleh didapati dari
Arahan untuk memasang dan menggunakan setiap pakej pihak ketiga di atas boleh didapati dalam artikel saya
Langkah 7: Menu
Buat sambungan bluetooth dengan plotter anda menggunakan "Teraterm".
Hidupkan "caps lock" anda kerana semua perintah berada dalam huruf besar.
Ketik huruf 'M' dan menu akan muncul seperti gambar di atas.
Menu ini cukup jelas:
- M (atau M0) memunculkan menu
- G0 membolehkan anda menghantar pen ke koordinat XY tertentu dengan pen yang dinaikkan.
- G1 membolehkan anda menghantar pen ke koordinat XY tertentu dengan pen diturunkan.
- T1 membolehkan anda meletakkan pena di atas koordinat 0, 0 anda. Taip 'E' untuk keluar.
- T2 membolehkan anda memperbesar gambar anda. Contohnya "T2 S2.5" akan membuat skala gambar anda 250%. Skala lalai adalah 100%
- T3 dan T4 membolehkan anda menaikkan atau menurunkan pen.
- T5 melukis corak ujian "ABC".
- T6 menarik "sasaran".
- T7 melukis satu set garis radial, yang tujuannya adalah untuk mengesahkan bahawa algoritma Bresenham berfungsi di setiap lapan "oktan"
Catatan:
- semua pergerakan pen menggunakan set skala lukisan menggunakan pilihan menu T2
- nombor "17:" dan "19:" adalah kod jabat tangan terminal "Xon" dan "Xoff" dari jurubahasa arduino.
Langkah 8: Penentukuran
Nilai untuk X_STEPS_PER_MM dan Y_STEPS_PER_MM adalah untuk dram berdiameter 90mm.
Nilai untuk diameter dram yang lain dapat dikira menggunakan hubungan berikut:
- lilitan dram adalah diameter PI *
- 2048 langkah sama dengan satu putaran setiap batang motor
- satu revolusi takal GT-2 bersamaan dengan pergerakan linear 40 milimeter tali pinggang masa
Kaedah lain adalah memasukkan perintah berikut,
- G1 X0 Y100
- G1 X100 Y100
kemudian ukur panjang garis yang dihasilkan dan "skala" nilai untuk X-STEPS_PER_MM dan Y_STEPS_PER_MM
Langkah 9: Pemprosesan Gcode
Plotter ini hanya memerlukan empat daripada kod Inkscape (iaitu: G0, G1, G2, G3). Kod ini akan dilaksanakan dengan lebih cepat jika kita membuang semua kod dan komen yang tidak diperlukan.
Untuk melakukan ini, anda memerlukan salinan "Notepad ++". Editor teks percuma ini mengandungi mesin carian "ungkapan biasa" untuk mencari dan membuang teks yang tidak diingini. Notepad ++ boleh didapati dari
Buka fail yang akan diubah suai dengan Notepad ++ dan letakkan kursor anda di bahagian atas fail.
Pilih "Lihat / Tunjukkan Simbol / Semua Karakter" diikuti dengan "Cari / Ganti …" dari bar menu atas.
Klik kotak centang "Ekspresi Biasa" (lihat gambar pertama) dan masukkan setiap urutan kod berikut ke dalam kotak carian.
Klik "Ganti Semua" selepas setiap entri:
- %
- (.*)
- ^ M * $
- Z. * $
Ungkapan biasa di atas membuang semua simbol%, semua komen ditunjukkan dalam tanda kurung, semua kod M, semua kod Z dan kod yang mengikuti.
Sekarang klik kotak centang "Ekspresi Diperluas" (lihat gambar ke-2) dan masukkan urutan kod berikut:
r / n / r / n / r / n
Ungkapan ini menghilangkan pengembalian kereta dan makanan yang tidak diingini yang dibuat oleh urutan pertama.
Simpan fail anda dengan nama lain menggunakan "Save As".
Selesai.
Langkah 10: Hasil
Perancang ini dibina sebagai "bukti konsep" dan tidak pernah bermaksud sempurna. Setelah mengatakan bahawa hasilnya tidak terlalu buruk. Mereka pasti memenuhi matlamat reka bentuk saya untuk memindahkan garis besar cat air ke kertas.
Tiga gambar pertama adalah corak ujian terbina dalam T5, T6, T7 masing-masing.
"Hello World!" corak dihantar ke plotter melalui bluetooth. Salinan "pra-proses" fail ini dilampirkan.
Langkah 11: Kemas kini Kod
Kod untuk plotter ini telah dikemas kini kepada Drum_Plotter_V2.ino.
Perubahan dari Drum_Plotter.ino yang asal merangkumi:
- kedudukan pen yang lebih lancar
- kini mengenali arahan kod G02 (busur mengikut arah jam)
- kini mengenali arahan kod G03 (busur berlawanan arah jam)
Gambar rajah yang dilampirkan menggariskan kaedah saya untuk mengira sudut lengkok.
Langkah 12: Drum_plotter_v3.ino
Kemas kini kod untuk "CNC Drum Plotter" dilampirkan.
"drum_plotter_v3.ino" memperbaiki bug kecil yang mempengaruhi ketepatan plotter.
Perubahan sejarah
Versi 2:
Lengkung dwi-arka ditambah
Versi 3:
Fungsi berikut ditulis semula untuk mengatasi bug kecil yang mempengaruhi ketepatan plotter.
- (int) diganti dengan bulat () dalam fungsi move_to ().
- draw_line () fungsi algoritma carian "oktan" diperbaiki
- Jurubahasa kini menggunakan fungsi rentetan daripada penunjuk yang mempermudah reka bentuk. Sebagai contoh kita sekarang boleh mencari "MENU" daripada mencari huruf 'M' kemudian mengeluarkan nombor bulat yang berikut. Ini membolehkan anda memperibadikan plotter dengan arahan anda sendiri.
Langkah 13: Drum_plotter_plotter_v4.ino
16 Januari 2017:
Kod untuk drum plotter ini telah dioptimumkan lagi. Ciri tambahan telah ditambah.
Perubahan tersebut merangkumi:
- algoritma draw_line () lebih pantas
- memadankan fungsi move_to ()
- kaunter langkah
- pembetulan pepijat kecil
Untuk keterangan lebih lanjut baca komen dalam "drum_plotter_v4.ino" yang dilampirkan.
Klik di sini untuk melihat arahan saya yang lain.
Disyorkan:
ROTARY CNC BOTTLE PLOTTER: 9 Langkah (dengan Gambar)
ROTARY CNC BOTTLE PLOTTER: Saya mengambil beberapa penggelek, yang mungkin digunakan dalam pencetak. Saya datang dengan idea untuk menjadikannya paksi putaran plotter botol CNC. Hari ini, saya ingin berkongsi cara membina plotter botol CNC dari penggelek ini dan sekerap lain. Untuk
Putar Drum Band Rock X ke dalam Drum Elektronik Sendiri Midi: 4 Langkah (dengan Gambar)
Ubah Drum Band Rock X ke dalam Drum Elektronik Midi Berdiri Sendiri .: Saya bernasib baik kerana mendapat set drum x-box bekas, ia dalam bentuk agak kasar, dan tidak ada dayung, tetapi tidak ada yang tidak dapat diperbaiki. ubahnya menjadi set dram elektrik yang berdiri sendiri. Membaca nilai analog dari sensor piezo dan mengubahnya menjadi MIDI comman
CNC Robot Plotter: 11 Langkah (dengan Gambar)
CNC Robot Plotter: a.articles {font-size: 110.0%; font-weight: tebal; gaya fon: miring; hiasan teks: tiada; background-color: red;} a.articles: hover {background-color: black;} Petunjuk ini menerangkan mengenai robot plotter terkawal CNC. Robot terdiri
Arduino CNC Plotter (MESIN LUKISAN): 10 Langkah (dengan Gambar)
Arduino CNC Plotter (MESIN LUKIS): Hai kawan-kawan! Saya harap anda sudah menikmati arahan saya yang terdahulu " Cara membuat platform latihan Arduino anda sendiri " dan anda sudah bersedia untuk yang baru, seperti biasa saya membuat tutorial ini untuk membimbing anda selangkah demi selangkah sambil membuat super hebat seperti ini
Arduino Mini CNC Plotter (Dengan Proteus Project & PCB): 3 Langkah (dengan Gambar)
Arduino Mini CNC Plotter (With Proteus Project & PCB): Plotter arduino mini CNC atau XY ini boleh menulis dan membuat reka bentuk dalam jarak 40x40mm. Ya, jarak ini pendek, tetapi permulaan yang baik untuk terjun ke dunia arduino. [Saya telah memberikan semua yang ada dalam projek ini, bahkan PCB, Proteus File, Contoh reka bentuk