123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- #include <Arduino.h>
- #include <U8x8lib.h>
- #define BtnPin 35
- #define BuzzerPin 26
- int pos = 0;
- int score = 0;
- int pace = 100;
- U8X8_SH1107_64X128_4W_HW_SPI u8x8(14, 27, 33);
- void setup() {
- u8x8.begin();
- pinMode(BtnPin, INPUT_PULLUP);
- pinMode(BuzzerPin, OUTPUT);
- u8x8.setFont(u8x8_font_chroma48medium8_r);
-
- digitalWrite(BuzzerPin, LOW);
- u8x8.drawString(0,0,"Catch");
- u8x8.drawString(0,1,"the ball");
- u8x8.drawString(0,2,"in the");
- u8x8.drawString(0,3,"middle");
- u8x8.drawString(0,4,"to score");
- delay(2000);
- }
-
- void lines(){
-
- uint8_t Lline[16] = { 0xf0, 0x0f, 1, 0xf0, 1, 0x0f, 1, 0xf0,1,0x0f,1,1,1,1,0xf0,1};
- uint8_t Rline[16] = { 0xf0, 0x0f, 1, 0xf0, 1, 0x0f, 1, 0xf0,1,0x0f,1,1,1,1,0xf0,1};
- u8x8.drawTile(0, 7, 1, Lline);
- u8x8.drawTile(7, 7, 1, Rline);
- u8x8.setCursor(0, 0);
- u8x8.print(score);
- }
- void scoreCheck(){
- if(digitalRead(BtnPin) == 0 && pos == 7){
- score = score + 1;
- }
-
-
- if (pos == 0 || pos == 15) {
- for(int f=0;f<100;f++){
- digitalWrite(BuzzerPin,HIGH);
- delay(1);
- digitalWrite(BuzzerPin,LOW);
- delay(1);
- }
- }
- }
- void loop()
- {
- lines();
- scoreCheck();
-
- for(pos=0;pos<=15;pos++){
- uint8_t square[16] = { 255, 255, 255,255, 255, 255, 255, 255};
- u8x8.drawTile(4, pos, 2, square);
- lines();
- delay(pace);
- scoreCheck();
- u8x8.clearDisplay();
-
-
- }
- for(pos=15;pos>=0;pos--){
- uint8_t square[16] = { 255, 255, 255,255, 255, 255, 255, 255};
- u8x8.drawTile(4, pos, 2, square);
- lines();
- delay(pace);
- scoreCheck();
- u8x8.clearDisplay();
-
- }
-
- pace = pace - 5;
- }
|