산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

카탄 주사위의 정착민

구성품 및 소모품

Arduino UNO
× 1
Adafruit Standard LCD - 파란색 바탕에 16x2 흰색
× 1
SparkFun 푸시버튼 스위치 12mm
× 1

이 프로젝트 정보

저는 Settlers of Catan의 좋은 게임을 좋아하는데 디지털 주사위를 만들어 보는 것은 어떻습니까? 처음에는 7개의 빨간색 LED를 사용했는데 Catan에는 2개의 주사위가 필요하다는 것을 깨달았습니다. LCD 디스플레이를 사용하기로 결정했습니다.

디스플레이 설정

평소와 같이 LCD 디스플레이를 설정합니다. 방법을 모르는 경우 다음 지침을 따르세요.

버튼 추가

주사위를 굴릴 때마다 누를 버튼을 추가하십시오. 기울기 센서를 사용하여 주사위를 굴리는 움직임을 모방할 수도 있습니다.

코드 및 초기 텍스트

이제 코드를 추가할 준비가 되었습니다. Liquid Crystal 라이브러리를 포함하는 것을 잊지 마십시오. 설정에서 디스플레이의 초기 텍스트를 "Roll the dice!"로 설정했습니다. 원하는 모든 텍스트를 만들 수 있습니다.

긴장을 고조

버튼을 누를 때마다 사용하는 buildUp이라는 함수를 작성하여 주사위가 표시할 숫자의 텐션을 높였습니다. 내 디스플레이에는 16자의 두 행이 있습니다. 나는 모든 숫자와 함께 더 빨리 올 임의의 숫자(실제 주사위와 같이 최대 6개)로 두 행을 모두 채우고 싶었습니다. 이것이 buildUp 함수의 for 루프가 사용하는 것입니다. 디스플레이에 더 많은 행이나 문자가 있는 경우 이 코드를 조정할 수 있습니다.

나는 지연을 220밀리초로 설정하고 이것을 16으로 나눕니다. 당신이 얻는 숫자는 루프가 실행될 때마다 countDelay에서 뺄 숫자입니다. 숫자를 더 빠르게 또는 느리게 표시하려면 이 숫자를 조정해야 합니다.

주사위 숫자 표시

이제 실제 주사위입니다. 나는 Catan에 필요한 두 개의 주사위와 유사하게 각 행에 숫자를 표시하고 싶었습니다. setCursor를 사용하여 디스플레이 중앙에 숫자를 배치했습니다. 원하는 모든 위치에 배치할 수 있습니다.

강도

7은 Settlers of Catan에서 특별한 숫자이기 때문에 이 숫자에 추가 메시지를 추가했습니다. 7을 굴릴 때마다 그 아래에 "도둑"이 표시됩니다. 이렇게 하면 모든 사람이 자신의 카드를 세는 방법을 알 수 있습니다. 이 주사위를 다른 게임에서 사용하고 싶다면 이 코드를 삭제하거나 메시지나 숫자를 조정할 수 있습니다.

즐기세요!

친구를 초대하고 Settlers of Catan을 플레이하고 즐거운 시간을 보내세요!

<섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

코드

<울>
  • 카탄 주사위 코드의 정착민
  • 카탄 주사위 코드의 개척자Arduino
    Liquid Crystal 라이브러리를 포함하는 것을 잊지 마십시오.
    #include LiquidCrystal lcd(12, 11, 5, 4, 3, 2);int diceButton =10;int reply;int count =0; 긴 주사위 1개; 긴 주사위 2개; 무효 설정() { lcd.begin(16, 2); 핀모드(주사위 버튼, 입력); randomSeed(analogRead(0)); lcd.setCursor(1, 0); lcd.print("주사위를 굴려라!");}buildUp() { lcd.clear(); 정수 카운트 지연 =220; 정수 집합 열 =0; for (count =0; count <=16; count++) { lcd.setCursor(setColumn, 0); lcd.print(랜덤(1, 7)); lcd.setCursor(setColumn, 1); lcd.print(랜덤(1, 7)); 지연(카운트 지연); countDelay -=13; setColumn +=1; }} 무효 루프() { 주사위 버튼 =디지털 읽기(10); 주사위 1개 =무작위(1, 7); 주사위 2개 =무작위(1, 7); if (diceButton ==HIGH) { buildUp(); lcd.clear(); lcd.setCursor(7, 0); lcd.print(diceOne); lcd.setCursor(7, 1); lcd.print(diceTwo); if (diceOne + diceTwo ==7) { lcd.clear(); lcd.setCursor(7, 0); lcd.print("7"); lcd.setCursor(3, 1); lcd.print("도둑"); } }}

    제조공정

    1. 7-세그먼트 디스플레이
    2. 디스플레이 튜브
    3. 스펙트럼 분석에 대한 추가 정보
    4. 주사위
    5. 액정 디스플레이(LCD)
    6. C# 메서드 오버로딩
    7. 전시:원시 전시
    8. Kuman TFT 3.5 RetroPie 2018
    9. Verilog 작업
    10. Verilog 디스플레이 작업