Proses manufaktur
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
| ||||
| ||||
| ||||
|
|
Halo
Dalam tutorial ini, saya akan menunjukkan cara membuat kartu kunjungan/bisnis. Bukan hanya kartu kunjungan. Ini adalah PCB tapi Sama seperti kartu kunjungan biasa. Anda dapat melihat nama EDISON SCIENCE CORNER, logo, Ikon media sosial dan kode QR. Kode QR akan mengarahkan Anda ke saluran youtube saya. Tetapi di sisi yang berlawanan, Anda dapat melihat sebuah sirkuit. Ini adalah tic tac toe sirkuit permainan. Tic tac toe adalah permainan dua pemain. Juga dikenal sebagai Game X O . dua pemain yang bergiliran menandai ruang dalam kotak tiga-kali-tiga dengan X atau O. Pemain yang berhasil menempatkan tiga tandanya dalam barisan horizontal, vertikal, atau diagonal adalah pemenangnya. Sebagian besar waktu permainan akan menarik. di sini saya mengganti X dan O dengan warna dan juga mengubah 3*3 tradisional menjadi 4*4. Jadi total 16 led dan 16 sakelar masing-masing sakelar mewakili led yang sesuai. Pemain satu berwarna hijau dan pemain 2 berwarna merah. Itu saja saya pikir Anda mengerti.
Sekarang mari kita lihat cara membuatnya.
Jadi ini adalah sirkuit game yang saya rancang menggunakan easyeda . disini saya menggunakan atmega328 sebagai jantung dari proyek ini. Kemudian saya mengubah rangkaian menjadi PCB. Saya mendesain PCB dengan dimensi 89mm*50mm karena ini adalah ukuran standar kartu kunjungan. Saya menggunakan alat gambar insert easyeda untuk membuat desain. ini hanya tentang seni yang dapat Anda buat dengan ide-ide Anda. Setelah mendesain PCB, saya mengunduh file Gerber. Lalu saya pergi ke jlcpcb.com. Saya memilih JLCPCB karena mereka hanya menawarkan $2 untuk 5 PCB. Untuk memesan PCB Cukup klik pesan sekarang dan pilih file Gerber Anda. setelah mengunggah, saya memilih warna hitam ketebalan .8mm dan memesan. setelah 2 minggu saya menerima PCB. PCB hanya memiliki ketebalan 0,8 mm tetapi kualitasnya sempurna seperti yang saya harapkan.
ATMEGA328P-AU* 1
0805 kapasitor 22pf *2
0805 kapasitor 100nF* 2
SMD WS2812B-B*16
0805 LED SMD* 2
0805 resistor 1K* 3
0805 resistor10K 1
16MHZ*1
micro USBPerempuan*1
unduh BOM dari sini
setelah mengambil semua komponen saya mulai menyolder
Saya mulai dengan port micro USB. Kemudian saya menyolder semua komponen lainnya. Setelah menyolder sirkuit kontrol, saya mulai menyolder LED neopiksel dan setelah selesai, saya menyolder Switch yang sesuai. Setelah 1 jam saya menyelesaikan semua penyolderan dan sekarang PCB kami terlihat seperti ini.
setelah menyelesaikan penyolderan saya menghubungkan kabel USB dan mengujinya. Sekarang saatnya mengunggah kode. Saya menghubungkan pin spi ke Arduino ISP dan mengunggah sketsa
UNDUH KODE DARI SINI
Beginilah cara saya membuat kartu kunjungan dengan PCB 4*4 tic tac toe game. Anda dapat mengunduh sirkuit, kode, gerbers dari tautan. Semoga Anda menikmati dan belajar sesuatu dari tutorial saya.
//edison science corner#include#include #define LED_PIN 5#define NUM_LEDS 16#define LED_TYPE WS2812B#define COLOR_ORDER GBR#define BRIGHTNESS led 30CRGB[NUM_LEDS]; 1;int n,i,e=0,j=0;char a[16]={'1','2','3','4','5','6','7', '8','9','10','11','12','13','14','15','16'};char key;int w=0;const byte ROWS =4; //empat barisconst byte COLS =4; //empat kolom//menentukan simbal pada tombol keypadschar hexaKeys[ROWS][COLS] ={ {'1','2','3','A'}, {'4','5' ,'6','B'}, {'7','8','9','C'}, {'*','0','#','D'}};byte rowPins[ BARIS] ={A0,A1,A2,A3}; //sambungkan ke pinout baris dari keypadbyte colPins[COLS] ={A4,A5,2,3}; //sambungkan ke pin kolom keypadKeypad customKeypad =Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); void setup(){ Serial.begin(9600); LEDS.addLeds (leds, NUM_LEDS); FastLED.setBrightness(KECERAHAN); for(int m=0;m<3;m++) { leds[0].setRGB(0, 255, 0); leds[1].setRGB(0, 255, 0); leds[2].setRGB(0, 255, 0); leds[3].setRGB(0, 255, 0); leds[4].setRGB(0, 255, 0); leds[5].setRGB(0, 255, 0); leds[6].setRGB(0, 255,0 ); leds[7].setRGB(0, 255, 0); leds[8].setRGB(0, 255, 0); leds[9].setRGB(0, 255, 0); leds[10].setRGB(0, 255, 0); leds[11].setRGB(0, 255, 0); leds[12].setRGB(0, 255, 0); leds[13].setRGB(0, 255, 0); leds[14].setRGB(0, 255, 0); leds[15].setRGB(0, 255, 0); FastLED.show(); penundaan (500); leds[0].setRGB(0, 0, 225); leds[1].setRGB(0, 0, 225); leds[2].setRGB(0, 0, 225); leds[3].setRGB(0, 0, 225); leds[4].setRGB(0, 0, 225); leds[5].setRGB(0, 0, 225); leds[6].setRGB(0, 0, 225); leds[7].setRGB(0, 0, 225); leds[8].setRGB(0, 0, 225); leds[9].setRGB(0, 0, 225); leds[10].setRGB(0, 0, 225); leds[11].setRGB(0, 0, 225); leds[12].setRGB(0, 0, 225); leds[13].setRGB(0, 0, 225); leds[14].setRGB(0, 0, 225); leds[15].setRGB(0, 0, 225); FastLED.show(); penundaan (500); } FastLED.clear(); FastLED.show();} void loop(){ key =customKeypad.getKey(); if (kunci &&pemutar==1) { Serial.println("\nP1"); Serial.println(kunci); n=angka(kunci); Serial.println(n); leds[n].setRGB(0, 255, 0); FastLED.show(); a[n]='X'; Serial.println(a[n]); w=centang(a,n); if(w==1) { Serial.println("Pemain 1 Menang!"); while(1) { leds[0].setRGB(0, 255, 0); leds[1].setRGB(0, 255, 0); leds[2].setRGB(0, 255, 0); leds[3].setRGB(0, 255, 0); leds[4].setRGB(0, 255, 0); leds[5].setRGB(0, 255, 0); leds[6].setRGB(0, 255,0 ); leds[7].setRGB(0, 255, 0); leds[8].setRGB(0, 255, 0); leds[9].setRGB(0, 255, 0); leds[10].setRGB(0, 255, 0); leds[11].setRGB(0, 255, 0); leds[12].setRGB(0, 255, 0); leds[13].setRGB(0, 255, 0); leds[14].setRGB(0, 255, 0); leds[15].setRGB(0, 255, 0); FastLED.show(); penundaan (500); FastLED.clear(); FastLED.show(); penundaan (500); } } pemain++; penundaan (1000); } penundaan (20); kunci =customKeypad.getKey(); if (kunci &&pemutar==2) { Serial.println("\nP2"); Serial.println(kunci); n=angka(kunci); Serial.println(n); leds[n].setRGB(0, 0, 225); FastLED.show(); a[n]='0'; Serial.println(a[n]); w=centang(a,n); if(w==2) { Serial.println("Pemain 2 Menang!"); while(1) { leds[0].setRGB(0, 0, 225); leds[1].setRGB(0, 0, 225); leds[2].setRGB(0, 0, 225); leds[3].setRGB(0, 0, 225); leds[4].setRGB(0, 0, 225); leds[5].setRGB(0, 0, 225); leds[6].setRGB(0, 0, 225); leds[7].setRGB(0, 0, 225); leds[8].setRGB(0, 0, 225); leds[9].setRGB(0, 0, 225); leds[10].setRGB(0, 0, 225); leds[11].setRGB(0, 0, 225); leds[12].setRGB(0, 0, 225); leds[13].setRGB(0, 0, 225); leds[14].setRGB(0, 0, 225); leds[15].setRGB(0, 0, 225); FastLED.show(); penundaan (500); FastLED.clear(); FastLED.show(); penundaan (500); } } e++; pemain--; penundaan (1000); } if(e==8) { Serial.println("Game Draw"); while(1) { leds[0].setRGB(255, 0, 0); leds[1].setRGB(255, 0, 0); leds[2].setRGB(255, 0, 0); leds[3].setRGB(255, 0, 0); leds[4].setRGB(255, 0, 0); leds[5].setRGB(255, 0, 0); leds[6].setRGB(255, 0, 0); leds[7].setRGB(255, 0, 0); leds[8].setRGB(255, 0, 0); leds[9].setRGB(255, 0, 0); leds[10].setRGB(255, 0, 0); leds[11].setRGB(255, 0, 0); leds[12].setRGB(255, 0, 0); leds[13].setRGB(255, 0, 0); leds[14].setRGB(255, 0, 0); leds[15].setRGB(255, 0, 0); FastLED.show(); penundaan (1000); FastLED.clear(); FastLED.show(); penundaan (500); } } delay(20);}int number(char keyn){ if(keyn =='1') return 0; if(keyn =='2') kembali 1; if(keyn =='3') kembalikan 2; if(kunci =='A') kembali 3; if(keyn =='4') kembalikan 4; if(keyn =='5') kembalikan 5; if(keyn =='6') kembalikan 6; if(keyn =='B') kembali 7; if(keyn =='7') kembalikan 8; if(keyn =='8') kembalikan 9; if(keyn =='9') kembalikan 10; if(keyn =='C') mengembalikan 11; if(kunci =='*') kembali 12; if(keyn =='0') kembali 13; if(keyn =='#') kembali 14; if(keyn =='D') return 15;}int check(char a[16],int n){ if(a[0]=='X' &&a[1]=='X' &&a[ 2]=='X' &&a[3]=='X') kembali 1; if(a[0]=='0' &&a[1]=='0' &&a[2]=='0' &&a[3]=='0') kembali 2; if(a[0]=='X' &&a[4]=='X' &&a[8]=='X' &&a[12]=='X') return 1; if(a[0]=='0' &&a[4]=='0' &&a[8]=='0' &&a[12]=='0') kembali 2; if(a[0]=='X' &&a[5]=='X' &&a[10]=='X' &&a[15]=='X') return 1; if(a[0]=='0' &&a[5]=='0' &&a[10]=='0' &&a[15]=='0') kembali 2; if(a[1]=='X' &&a[5]=='X' &&a[9]=='X' &&a[13]=='X') return 1; if(a[1]=='0' &&a[5]=='0' &&a[9]=='0' &&a[13]=='0') kembali 2; if(a[2]=='X' &&a[6]=='X' &&a[10]=='X' &&a[14]=='X') return 1; if(a[2]=='0' &&a[6]=='0' &&a[10]=='0' &&a[14]=='0') kembali 2; if(a[3]=='X' &&a[7]=='X' &&a[11]=='X' &&a[15]=='X') return 1; if(a[3]=='0' &&a[7]=='0' &&a[11]=='0' &&a[15]=='0') kembali 2; if(a[3]=='X' &&a[6]=='X' &&a[9]=='X' &&a[12]=='X') return 1; if(a[3]=='0' &&a[6]=='0' &&a[9]=='0' &&a[12]=='0') kembali 2; if(a[4]=='X' &&a[5]=='X' &&a[6]=='X' &&a[7]=='X') return 1; if(a[4]=='0' &&a[5]=='0' &&a[6]=='0' &&a[7]=='0') kembali 2; if(a[8]=='X' &&a[9]=='X' &&a[10]=='X' &&a[11]=='X') return 1; if(a[8]=='0' &&a[9]=='0' &&a[10]=='0' &&a[11]=='0') kembali 2; if(a[12]=='X' &&a[13]=='X' &&a[14]=='X' &&a[15]=='X') return 1; if(a[12]=='0' &&a[13]=='0' &&a[14]=='0' &&a[15]=='0') return 2;}
Proses manufaktur
Komponen dan persediaan Teknologi Microchip ATmega32U4 × 1 Espressif ESP8266 ESP-12E × 1 Kristal 16 MHz × 1 N-Channel MOSFET Daya × 4 Modul Regulator Tegangan Digilent × 1 Sensor Suhu &Kelembaban DHT11 (4 pin) × 1 Maxim Integrated
Komponen dan persediaan Arduino UNO × 1 Teknologi Microchip ATmega8A-PU × 1 Konverter USB Ke TTL CH340G × 1 Kristal 16 MHz × 1 Kapasitor 22 pF × 2 Resistor 10k ohm × 1 Sakelar Tombol Tekan SparkFun 12mm × 1 Breadboard (ge
Komponen dan persediaan Arduino UNO × 1 Tentang proyek ini lihat perkembangannya di github Skema penganalisis logika semua kode ada di sinihttps://github.com/aster94/logic-analyzer
Komponen dan persediaan Arduino UNO × 1 Adafruit RGB Backlight LCD - 16x2 × 1 Breadboard (generik) × 1 Resistor 220 ohm × 1 Sakelar Tombol Tekan SparkFun 12mm × 1 Kabel jumper (generik) × 1 Kabel USB-A ke B × 1 Aplik