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

Kartu kunjungan permainan Tic Tac Toe

Komponen dan persediaan

Teknologi Microchip ATmega328
× 1
Strip LED, RGB Digital NeoPixel
× 1
Saklar Taktil, Digerakkan Atas
× 1
JLCPCB PCB yang Disesuaikan
× 1
Arduino UNO
× 1

Alat dan mesin yang diperlukan

Besi solder (generik)
Kawat Solder, Bebas Timah
Fluks Solder, Solder
10 Pc. Kit Kawat Jumper, Panjang 5 cm

Aplikasi dan layanan online

Arduino IDE

Tentang proyek ini

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.

Langkah 1:Merancang dan Mencetak PCB

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.

Langkah 2:Diperlukan Komponen

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

Langkah 3:Menyolder

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.

Langkah 4:Pemrograman

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

Langkah 5:MAINKAN DAN NIKMATI

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.

Kode

  • kode
kodeC/C++
//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;}

Skema


Proses manufaktur

  1. Game Arduino Gyroscope dengan MPU-6050
  2. Sensor Multi Suhu
  3. Game Roulette LED 37 DIY
  4. Pengontrol Game Arduino
  5. Arduino Due TIC TAC TOE dengan Layar Sentuh
  6. MotionSense
  7. Keselamatan Kebakaran Printer 3D
  8. Game Pixel Chaser
  9. Arduino Repulsive Electromagnetic Levitation
  10. CoroFence - Detektor Termal🖖