반응형
버튼을 누를 시 주사위를 랜덤으로 돌려 승패를 출력하는 실습
코드
#include <Wire.h> // i2C 통신을 위한 라이브러리
#include <LiquidCrystal_I2C.h> // LCD 1602 I2C용 라이브러리
LiquidCrystal_I2C lcd(0x27,16,2); // 접근주소: 0x3F or 0x27
int button = 13; // LCD에서 4,5번 사용
int nYou;
int nCom;
void setup()
{
lcd.init();
lcd.backlight();
pinMode(button, INPUT_PULLUP);
randomSeed(analogRead(A0));
lcd.setCursor(0, 0); //첫번째 줄
lcd.print("YOU : ");
lcd.setCursor(0, 1); //두번째 줄
lcd.print("COM : ");
}
void loop()
{
if(digitalRead(button) == LOW)
{
lcd.setCursor(8, 0); //첫번째 줄
lcd.print(" ");
lcd.setCursor(8, 1); //두번째 줄
lcd.print(" ");
for (int i = 0; i < 10; i++)
{ //횟수는 적당히 조절
nYou = random(1, 6);
lcd.setCursor(6, 0); //YOU : 다음 위치
lcd.print(nYou);
nCom = random(1, 6);
lcd.setCursor(6, 1); //COM : 다음 위치
lcd.print(nCom);
delay(200);
}
//판정 부분
if(nYou > nCom)
{
lcd.setCursor(8, 0); //0 또는 1
lcd.print("WON! ");
lcd.setCursor(8, 1); //0 또는 1
lcd.print(" ");
}
else if(nYou < nCom)
{
lcd.setCursor(8, 0); //0 또는 1
lcd.print(" ");
lcd.setCursor(8, 1); //0 또는 1
lcd.print("WON! ");
}
else //(nYou == nCom)
{
lcd.setCursor(8, 0); //0 또는 1
lcd.print("DRAW!");
lcd.setCursor(8, 1); //0 또는 1
lcd.print("DRAW!");
}
delay(200);
}
}
실행영상
외부 TV소리가 나오는곳에서 촬영해서 좀 시끄럽습니다. 양해바랄게요,,, ㅜ
반응형
'🕹️IOT' 카테고리의 다른 글
[Arduino] LED와 버튼으로 메모리 게임 구현하기 (2) | 2020.12.14 |
---|---|
[Arduino] 사운드 센서값을 LCD 패널에 출력하기 (0) | 2020.12.12 |
[Arduino] 파도치는 LED (0) | 2020.12.09 |
RaspBerry PI 3 B+ (라즈베리파이) 보드 설명 (2) | 2020.02.17 |
Arduino 무료 시뮬레이션 사이트 (1) | 2020.02.17 |