基于Gamebuino设计的算盘小游戏

目录

一、引言

1.1技术背景

Gamebuino 让玩家可以在一个小巧的设备上玩他们喜欢的像素化游戏,并学习编程来制作自己的游戏。Gamebuino 可以装在口袋里,里面有很多免费的独家游戏,电池可以持续使用一整天。一个可选的micro SD卡可以容纳更多的游戏,玩家可以在几秒钟内切换游戏。你可以在这个平台上DIY自己的项目。

1.2实验意义

通过参考手册、实例游戏代码的分析,到搭建自己的游戏机创新一个小游戏。在实验过程中锻炼了我们的自学能力和学行合一的实验精神。

二、实验内容

2.1硬件搭建

材料准备
  • 单片机:ATmega328P,ArduinoUNO
  • 显示屏:Nokia5110液晶屏,84*48
  • SD卡:2G存储容量一下
  • 按键:7个
  • 面包板:2个,8.5cm*5.5cm
  • 杜邦线若干
  • USBtinyISP下载线一根
  • SD卡模块 CH376S
    只准备了实现最基础功能的元器件,其他元器件可以参见官方说明Hardware.
搭建步骤
  • 将下载好的gamebuino_boot文件复制到C:\arduino\hardware\arduino\avr\bootloaders目录下
  • BootLoader烧写:在正常运行的情况下,通过USB虚拟COM端口对Gamebuino进行编程,选择设备为“Arduino UNO”。但是,如果希望使用外部硬件程序(例如,另一个Arduino)来编写它或上传引导加载程序,那么必须在Arduino包中编辑board .txt文件(C:\arduino\hardware\arduino\boards.txt)在后面加上。
gamebuino.name=Gamebuino
	gamebuino.upload.protocol=arduino
	gamebuino.upload.maximum_size=30592
	gamebuino.upload.speed=115200
	gamebuino.bootloader.low_fuses=0xff
	gamebuino.bootloader.high_fuses=0xda
	gamebuino.bootloader.extended_fuses=0x05
	gamebuino.bootloader.path=gamebuino_boot
	gamebuino.bootloader.file=gamebuino_boot.hex
	gamebuino.bootloader.unlock_bits=0x3F
	gamebuino.bootloader.lock_bits=0x0F
	gamebuino.build.mcu=atmega328p
	gamebuino.build.f_cpu=
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的Arduino代码示例,用于设计一个可以执行基本算术运算的电子算盘。该算盘具有一个LCD显示屏和一些按钮,用于输入数字和进行运算。该代码支持加法、减法、乘法和除法运算。 ``` #include <LiquidCrystal.h> //定义LCD连接引脚 LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //定义按钮引脚 int btnAdd = 6; int btnSub = 7; int btnMul = 8; int btnDiv = 9; int btnEqual = 10; int btnClear = 13; //定义变量 float num1 = 0; float num2 = 0; float result = 0; char op; void setup() { //初始化LCD lcd.begin(16, 2); //设置按钮引脚为输入模式 pinMode(btnAdd, INPUT); pinMode(btnSub, INPUT); pinMode(btnMul, INPUT); pinMode(btnDiv, INPUT); pinMode(btnEqual, INPUT); pinMode(btnClear, INPUT); //显示欢迎信息 lcd.print("Welcome to"); lcd.setCursor(0, 1); lcd.print("Electronic Calc"); delay(2000); lcd.clear(); } void loop() { //读取按钮状态 int btnAddState = digitalRead(btnAdd); int btnSubState = digitalRead(btnSub); int btnMulState = digitalRead(btnMul); int btnDivState = digitalRead(btnDiv); int btnEqualState = digitalRead(btnEqual); int btnClearState = digitalRead(btnClear); //读取第一个数字 if (Serial.available() > 0) { num1 = Serial.parseFloat(); lcd.print(num1); } //读取运算符 if (btnAddState == HIGH) { op = '+'; lcd.print(op); } else if (btnSubState == HIGH) { op = '-'; lcd.print(op); } else if (btnMulState == HIGH) { op = '*'; lcd.print(op); } else if (btnDivState == HIGH) { op = '/'; lcd.print(op); } //读取第二个数字 if (Serial.available() > 0) { num2 = Serial.parseFloat(); lcd.print(num2); } //计算结果 if (btnEqualState == HIGH) { switch (op) { case '+': result = num1 + num2; break; case '-': result = num1 - num2; break; case '*': result = num1 * num2; break; case '/': result = num1 / num2; break; } lcd.print('='); lcd.print(result); } //清空屏幕 if (btnClearState == HIGH) { lcd.clear(); } } ``` 注意,这只是一个简单的示例,实际的电子算盘可能需要更复杂的代码来处理更多的功能和错误情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值