LCD Game

An Arduino plays with menus and sounds.\r\n

Jul 21, 2017

43554 views

38 respects

Components and supplies

1

Jumper wires (generic)

1

Arduino UNO

1

YwRobot Arduino LCM1602 IIC V1 conventer

1

Standard LCD - 16x2 White on Blue

1

Buzzer

3

Pushbutton switch 12mm

Apps and platforms

1

Arduino IDE

Project description

Code

Game code and scheme

arduino

Library: https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/ Sometimes you can find polish words.

Comments

Only logged in users can leave comments

lcd_monster

2 years ago

too bad i soldered the I2c converter to the display, can you share the design with the converter please?

DaBoiBen

2 years ago

Where are the schematics? I really want to make this game for my brother!!

saharshnair

2 years ago

You need a 12c for the project.the SCL goes to A5, the SDA goes to A4, add you know for vcc and gnd.you also need 3 buttons,one goes on gnd and rst, another one goes to gnd and Pwm2, and the last one goes from GND to Pwm4.

Anonymous user

2 years ago

hi loved the code have everything set up but it is saying 'POSITIVE' was not declared in this scope. and giving the following error codes: Arduino: 1.8.5 (Windows 10), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)" LCD_Game.ino:49: error: 'POSITIVE' was not declared in this scope LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); ^ C:\\Users\\Silve\\Documents\\Arduino\\LCD_Game\\LCD_Game.ino\\LCD_Game.ino.ino: In function 'void menu()': LCD_Game.ino:453: error: expected '}' at end of input } ^ exit status 1 'POSITIVE' was not declared in this scope This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences. Help would be appreciated

Techtonic21

2 years ago

Download the library from the link given below: https://www.google.com/url?sa=t&source=web&rct=j&url=https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/&ved=2ahUKEwiB0YrfzqjoAhW8yDgGHXqECPsQFjAAegQIBhAC&usg=AOvVaw0C9whCywuFEpyXhTyJl6kF Step 2: click on sketch>include library>Add Zip file>click on the downloaded library. Step 3: add two more header files: #include<Wire.h> #include<LCD.h> Then comes #include<LiquidCrystal_I2C.h> Note: make sure that Wire, LCD & LiquidCrystal_I2C turns red.. that indicates the code can be compiled successfully. I hope you found this comment helpful... -Techtonic21 (India) Cheeki Breeki!!👍🏻

Anonymous user

2 years ago

Hi, I really like your project. But I don't understand what scl, sda, and what the ground is. I have the mega UNO arduino and would like some help how to begin with the lcd.

navhem8

2 years ago

The SCL, SDA, and the Ground are some of the pins of the i2c LCD. That wiring will only work for I2c.

Anonymous user

2 years ago

Arduino: 1.8.8 (Windows 10), Board: "Arduino/Genuino Uno" WARNING: Category 'Display, Hangul' in library LiquidCrystal_I2C_Hangul is not valid. Setting to 'Uncategorized' sketch_dec28b:50:53: error: 'POSITIVE' was not declared in this scope LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); ^ sketch_dec28b:456:3: error: 'lcd' does not name a type lcd.clear(); ^ sketch_dec28b:457:3: error: 'lcd' does not name a type lcd.setCursor(0,0); ^ sketch_dec28b:458:3: error: 'lcd' does not name a type lcd.print("Select mode:"); ^ sketch_dec28b:459:3: error: 'lcd' does not name a type lcd.setCursor(0,1); ^ sketch_dec28b:460:3: error: 'lcd' does not name a type lcd.print("< >"); ^ sketch_dec28b:461:8: error: expected constructor, destructor, or type conversion before '(' token delay(500); ^ sketch_dec28b:462:1: error: expected unqualified-id before 'if' if(digitalRead(2) == LOW) { ^ sketch_dec28b:465:5: error: expected unqualified-id before 'break' break; ^ sketch_dec28b:467:5: error: expected unqualified-id before 'case' case 3: ^ sketch_dec28b:469:3: error: 'lcd' does not name a type lcd.print("Select mode:"); ^ sketch_dec28b:470:3: error: 'lcd' does not name a type lcd.setCursor(0,1); ^ sketch_dec28b:471:3: error: 'lcd' does not name a type lcd.print("< Hard >"); ^ sketch_dec28b:472:8: error: expected constructor, destructor, or type conversion before '(' token delay(500); ^ sketch_dec28b:473:3: error: 'lcd' does not name a type lcd.clear(); ^ sketch_dec28b:474:3: error: 'lcd' does not name a type lcd.setCursor(0,0); ^ sketch_dec28b:475:3: error: 'lcd' does not name a type lcd.print("Select mode:"); ^ sketch_dec28b:476:3: error: 'lcd' does not name a type lcd.setCursor(0,1); ^ sketch_dec28b:477:3: error: 'lcd' does not name a type lcd.print("< >"); ^ sketch_dec28b:478:8: error: expected constructor, destructor, or type conversion before '(' token delay(500); ^ sketch_dec28b:479:3: error: expected unqualified-id before 'if' if(digitalRead(2) == LOW) { ^ sketch_dec28b:483:5: error: expected unqualified-id before 'break' break; ^ sketch_dec28b:484:5: error: expected unqualified-id before 'case' case 4: ^ sketch_dec28b:486:3: error: 'lcd' does not name a type lcd.print("Select mode:"); ^ sketch_dec28b:487:3: error: 'lcd' does not name a type lcd.setCursor(0,1); ^ sketch_dec28b:488:3: error: 'lcd' does not name a type lcd.print("< impossible >"); ^ sketch_dec28b:489:8: error: expected constructor, destructor, or type conversion before '(' token delay(500); ^ sketch_dec28b:490:3: error: 'lcd' does not name a type lcd.clear(); ^ sketch_dec28b:491:3: error: 'lcd' does not name a type lcd.setCursor(0,0); ^ sketch_dec28b:492:3: error: 'lcd' does not name a type lcd.print("Select mode:"); ^ sketch_dec28b:493:3: error: 'lcd' does not name a type lcd.setCursor(0,1); ^ sketch_dec28b:494:3: error: 'lcd' does not name a type lcd.print("< >"); ^ sketch_dec28b:495:8: error: expected constructor, destructor, or type conversion before '(' token delay(500); ^ sketch_dec28b:496:3: error: expected unqualified-id before 'if' if(digitalRead(2) == LOW) { ^ sketch_dec28b:499:5: error: expected unqualified-id before 'break' break; ^ sketch_dec28b:501:3: error: expected unqualified-id before 'default' default: ^ sketch_dec28b:503:3: error: expected unqualified-id before 'break' break; ^ sketch_dec28b:504:5: error: expected declaration before '}' token } ^ exit status 1 'POSITIVE' was not declared in this scope This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences.

Techtonic21

2 years ago

Download the library from the link given below: https://www.google.com/url?sa=t&source=web&rct=j&url=https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/&ved=2ahUKEwiB0YrfzqjoAhW8yDgGHXqECPsQFjAAegQIBhAC&usg=AOvVaw0C9whCywuFEpyXhTyJl6kF Step 2: click on sketch>include library>Add Zip file>click on the downloaded library. Step 3: add two more header files: #include<Wire.h> #include<LCD.h> Then comes #include<LiquidCrystal_I2C.h> Note: make sure that Wire, LCD & LiquidCrystal_I2C turns red.. that indicates the code can be compiled successfully. I hope you found this comment helpful... -Techtonic21 (India) Cheeki Breeki!!👍🏻

Anonymous user

2 years ago

Thanks for sharing! You have done amazing work and research! A wonderful educational video. I would also like to share the gaming platform. At https://betsofa.nz/ you will find a lot of interesting things about different online games

Anonymous user

2 years ago

LCD does not show anything when even though everything is connected

Anonymous user

2 years ago

Amazing project... i like your code style.. congrants. Thanks for share. Best Regards from El salvador.

Anonymous user

2 years ago

Could anyone just send the schematics? This is terribly confusing for me.

Anonymous user

2 years ago

Where can I find the schematics on how to wire this? I could not find it and I really want to make this project. Can you help me with this?

Iron_Salsa

2 years ago

in code 1-10lines

navhem8

2 years ago

Ya it's in the code lines at the beginning. If you meant what was the wiring for a normal LCD then, I'm sorry i can't help you.

Anonymous user

2 years ago

Could you post a schematic? It would be very helpful. I would also like to see a version where you use a joystick... :) Thanks for making this, it's very important to play.

Anonymous user

2 years ago

To Techtonic21, When I click on the link you post in your (several) comment(s) it gives me a 404 and says that "This link has no power here." Help?

Anonymous user

2 years ago

Hi! When a highscore of for example 300 is reached, how is it possible to show a message like "Congratulations" on the screen?

Anonymous user

2 years ago

This project is mega cool. Even for a beginner like me. I learned a lot from it. For the people in the comments who have some trouble to troubleshoot the reason why it does not work: - check how a breadboard works - check how to correctly import new libraries (rename the zip and all that stuff) - if you don't get the Scheme: GND is the blue minus line on your breadboard Pin 3 (and so on) is on your arduino - If you don't get where the pins scl, sda, gnd and vcc are: Make sure you have the correct lcd. If you have the correct one it should have 4 pins and you should see the labels underneath the lcd

Anonymous user

2 years ago

the lcd display is showing nothing.

Anonymous user

2 years ago

it is not Working even though i have everything connected.

Anonymous user

2 years ago

When I run the code, I keep getting an error code saying "Error compiling for board Arduino Uno WiFi."

Techtonic21

2 years ago

Solution for those who're facing problems in the program: Step 1: Download the library from the link given below: https://www.google.com/url?sa=t&source=web&rct=j&url=https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/&ved=2ahUKEwiB0YrfzqjoAhW8yDgGHXqECPsQFjAAegQIBhAC&usg=AOvVaw0C9whCywuFEpyXhTyJl6kF Step 2: click on sketch>include library>Add Zip file>click on the downloaded library. Step 3: add two more header files: #include<Wire.h> #include<LCD.h> Then comes #include<LiquidCrystal_I2C.h> Note: make sure that Wire, LCD & LiquidCrystal_I2C turns red.. that indicates the code can be compiled successfully. I hope you found this comment helpful... -Techtonic21 (India) Cheeki Breeki!!👍🏻

harsh_ithaam

a month ago

Still I get same error

Anonymous user

2 years ago

@Author: This is originally from this project. Give credit when due! https://create.arduino.cc/projecthub/muhamd-magdy/arduino-game-by-lcd-9a3bc2?ref=similar&ref_id=57357&offset=2

Anonymous user

2 years ago

Hi there, Just looking through the report and curious about the difficulty levels. Which function/ variable are we using to change the frame rate. I can see in lines 359- onwards you have got the switch case which then correlates to the difficulty levels. Is it the gra() function that changes the frame rate and hence difficulty? Can anyone explain to me how? Additionally is anyone can explain what the grasw() variable does?

meoawwplyt

2 years ago

Dzień dobry, Polsko 😁

Anonymous user

3 years ago

Thanks for sharing! You have done amazing work and research! A wonderful educational video. I would also like to share the gaming platform. At https://betsofa.nz/ you will find a lot of interesting things about different online games

Anonymous user

4 years ago

Hi there, Just looking through the report and curious about the difficulty levels. Which function/ variable are we using to change the frame rate. I can see in lines 359- onwards you have got the switch case which then correlates to the difficulty levels. Is it the gra() function that changes the frame rate and hence difficulty? Can anyone explain to me how? Additionally is anyone can explain what the grasw() variable does?

roger656

4 years ago

When I run the code, I keep getting an error code saying "Error compiling for board Arduino Uno WiFi."

lcd_monster

4 years ago

too bad i soldered the I2c converter to the display, can you share the design with the converter please?

elegoo_coder

4 years ago

To Techtonic21, When I click on the link you post in your (several) comment(s) it gives me a 404 and says that "This link has no power here." Help?

elegoo_coder

4 years ago

Could you post a schematic? It would be very helpful. I would also like to see a version where you use a joystick... :) Thanks for making this, it's very important to play.

Anonymous user

5 years ago

@Author: This is originally from this project. Give credit when due! https://create.arduino.cc/projecthub/muhamd-magdy/arduino-game-by-lcd-9a3bc2?ref=similar&ref_id=57357&offset=2

MudMenGER

5 years ago

Hi! When a highscore of for example 300 is reached, how is it possible to show a message like "Congratulations" on the screen?

Techtonic21

5 years ago

Solution for those who're facing problems in the program: Step 1: Download the library from the link given below: https://www.google.com/url?sa=t&source=web&rct=j&url=https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/&ved=2ahUKEwiB0YrfzqjoAhW8yDgGHXqECPsQFjAAegQIBhAC&usg=AOvVaw0C9whCywuFEpyXhTyJl6kF Step 2: click on sketch>include library>Add Zip file>click on the downloaded library. Step 3: add two more header files: #include<Wire.h> #include<LCD.h> Then comes #include<LiquidCrystal_I2C.h> Note: make sure that Wire, LCD & LiquidCrystal_I2C turns red.. that indicates the code can be compiled successfully. I hope you found this comment helpful... -Techtonic21 (India) Cheeki Breeki!!👍🏻

elegoo_coder

2 years ago

When link clicked --> 404 This link has no power here. --> help? Thanks!

DaBoiBen

5 years ago

Where are the schematics? I really want to make this game for my brother!!

saharshnair

2 years ago

You need a 12c for the project.the SCL goes to A5, the SDA goes to A4, add you know for vcc and gnd.you also need 3 buttons,one goes on gnd and rst, another one goes to gnd and Pwm2, and the last one goes from GND to Pwm4.

Anonymous user

5 years ago

This project is mega cool. Even for a beginner like me. I learned a lot from it. For the people in the comments who have some trouble to troubleshoot the reason why it does not work: - check how a breadboard works - check how to correctly import new libraries (rename the zip and all that stuff) - if you don't get the Scheme: GND is the blue minus line on your breadboard Pin 3 (and so on) is on your arduino - If you don't get where the pins scl, sda, gnd and vcc are: Make sure you have the correct lcd. If you have the correct one it should have 4 pins and you should see the labels underneath the lcd

Anonymous user

5 years ago

Could anyone just send the schematics? This is terribly confusing for me.

Anonymous user

6 years ago

LCD does not show anything when even though everything is connected

Anonymous user

6 years ago

Arduino: 1.8.8 (Windows 10), Board: "Arduino/Genuino Uno" WARNING: Category 'Display, Hangul' in library LiquidCrystal_I2C_Hangul is not valid. Setting to 'Uncategorized' sketch_dec28b:50:53: error: 'POSITIVE' was not declared in this scope LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); ^ sketch_dec28b:456:3: error: 'lcd' does not name a type lcd.clear(); ^ sketch_dec28b:457:3: error: 'lcd' does not name a type lcd.setCursor(0,0); ^ sketch_dec28b:458:3: error: 'lcd' does not name a type lcd.print("Select mode:"); ^ sketch_dec28b:459:3: error: 'lcd' does not name a type lcd.setCursor(0,1); ^ sketch_dec28b:460:3: error: 'lcd' does not name a type lcd.print("< >"); ^ sketch_dec28b:461:8: error: expected constructor, destructor, or type conversion before '(' token delay(500); ^ sketch_dec28b:462:1: error: expected unqualified-id before 'if' if(digitalRead(2) == LOW) { ^ sketch_dec28b:465:5: error: expected unqualified-id before 'break' break; ^ sketch_dec28b:467:5: error: expected unqualified-id before 'case' case 3: ^ sketch_dec28b:469:3: error: 'lcd' does not name a type lcd.print("Select mode:"); ^ sketch_dec28b:470:3: error: 'lcd' does not name a type lcd.setCursor(0,1); ^ sketch_dec28b:471:3: error: 'lcd' does not name a type lcd.print("< Hard >"); ^ sketch_dec28b:472:8: error: expected constructor, destructor, or type conversion before '(' token delay(500); ^ sketch_dec28b:473:3: error: 'lcd' does not name a type lcd.clear(); ^ sketch_dec28b:474:3: error: 'lcd' does not name a type lcd.setCursor(0,0); ^ sketch_dec28b:475:3: error: 'lcd' does not name a type lcd.print("Select mode:"); ^ sketch_dec28b:476:3: error: 'lcd' does not name a type lcd.setCursor(0,1); ^ sketch_dec28b:477:3: error: 'lcd' does not name a type lcd.print("< >"); ^ sketch_dec28b:478:8: error: expected constructor, destructor, or type conversion before '(' token delay(500); ^ sketch_dec28b:479:3: error: expected unqualified-id before 'if' if(digitalRead(2) == LOW) { ^ sketch_dec28b:483:5: error: expected unqualified-id before 'break' break; ^ sketch_dec28b:484:5: error: expected unqualified-id before 'case' case 4: ^ sketch_dec28b:486:3: error: 'lcd' does not name a type lcd.print("Select mode:"); ^ sketch_dec28b:487:3: error: 'lcd' does not name a type lcd.setCursor(0,1); ^ sketch_dec28b:488:3: error: 'lcd' does not name a type lcd.print("< impossible >"); ^ sketch_dec28b:489:8: error: expected constructor, destructor, or type conversion before '(' token delay(500); ^ sketch_dec28b:490:3: error: 'lcd' does not name a type lcd.clear(); ^ sketch_dec28b:491:3: error: 'lcd' does not name a type lcd.setCursor(0,0); ^ sketch_dec28b:492:3: error: 'lcd' does not name a type lcd.print("Select mode:"); ^ sketch_dec28b:493:3: error: 'lcd' does not name a type lcd.setCursor(0,1); ^ sketch_dec28b:494:3: error: 'lcd' does not name a type lcd.print("< >"); ^ sketch_dec28b:495:8: error: expected constructor, destructor, or type conversion before '(' token delay(500); ^ sketch_dec28b:496:3: error: expected unqualified-id before 'if' if(digitalRead(2) == LOW) { ^ sketch_dec28b:499:5: error: expected unqualified-id before 'break' break; ^ sketch_dec28b:501:3: error: expected unqualified-id before 'default' default: ^ sketch_dec28b:503:3: error: expected unqualified-id before 'break' break; ^ sketch_dec28b:504:5: error: expected declaration before '}' token } ^ exit status 1 'POSITIVE' was not declared in this scope This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences.

Techtonic21

2 years ago

Download the library from the link given below: https://www.google.com/url?sa=t&source=web&rct=j&url=https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/&ved=2ahUKEwiB0YrfzqjoAhW8yDgGHXqECPsQFjAAegQIBhAC&usg=AOvVaw0C9whCywuFEpyXhTyJl6kF Step 2: click on sketch>include library>Add Zip file>click on the downloaded library. Step 3: add two more header files: #include<Wire.h> #include<LCD.h> Then comes #include<LiquidCrystal_I2C.h> Note: make sure that Wire, LCD & LiquidCrystal_I2C turns red.. that indicates the code can be compiled successfully. I hope you found this comment helpful... -Techtonic21 (India) Cheeki Breeki!!👍🏻

Mr101

6 years ago

the lcd display is showing nothing.

Mr101

6 years ago

it is not Working even though i have everything connected.

Anonymous user

7 years ago

Hi, I really like your project. But I don't understand what scl, sda, and what the ground is. I have the mega UNO arduino and would like some help how to begin with the lcd.

navhem8

2 years ago

The SCL, SDA, and the Ground are some of the pins of the i2c LCD. That wiring will only work for I2c.

Anonymous user

7 years ago

hi loved the code have everything set up but it is saying 'POSITIVE' was not declared in this scope. and giving the following error codes: Arduino: 1.8.5 (Windows 10), Board: "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)" LCD_Game.ino:49: error: 'POSITIVE' was not declared in this scope LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); ^ C:\\Users\\Silve\\Documents\\Arduino\\LCD_Game\\LCD_Game.ino\\LCD_Game.ino.ino: In function 'void menu()': LCD_Game.ino:453: error: expected '}' at end of input } ^ exit status 1 'POSITIVE' was not declared in this scope This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences. Help would be appreciated

Techtonic21

2 years ago

Download the library from the link given below: https://www.google.com/url?sa=t&source=web&rct=j&url=https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads/&ved=2ahUKEwiB0YrfzqjoAhW8yDgGHXqECPsQFjAAegQIBhAC&usg=AOvVaw0C9whCywuFEpyXhTyJl6kF Step 2: click on sketch>include library>Add Zip file>click on the downloaded library. Step 3: add two more header files: #include<Wire.h> #include<LCD.h> Then comes #include<LiquidCrystal_I2C.h> Note: make sure that Wire, LCD & LiquidCrystal_I2C turns red.. that indicates the code can be compiled successfully. I hope you found this comment helpful... -Techtonic21 (India) Cheeki Breeki!!👍🏻

TwoPilots

7 years ago

Where can I find the schematics on how to wire this? I could not find it and I really want to make this project. Can you help me with this?

Iron_Salsa

2 years ago

in code 1-10lines

navhem8

2 years ago

Ya it's in the code lines at the beginning. If you meant what was the wiring for a normal LCD then, I'm sorry i can't help you.

Anonymous user

7 years ago

Amazing project... i like your code style.. congrants. Thanks for share. Best Regards from El salvador.