arduino ide编写的esp32和st773580*160的一个接球小游戏

Arduino+esp8266+1.4寸TFT屏(st7735驱动)解决显示图片偏色以及屏幕边缘花边问题 首先偏色问题存在,且屏幕花边(没复现的出来,假装有)。这个库下的用户配置选择,既需要更改。所以需要尝试选择测试,我是选择。 阅读详情

#include<TFT_eSPI.h>

#define led 2

int bx,by=5,x=65,y=57,mark,level=1;

const int r=5,sjs=23,pin=13;

TFT_eSPI tft=TFT_eSPI();

uint16_t color=tft.color565(128,0,128); //RGB颜色转GBR565,紫色

void setup()

{

  // put your setup code here, to run once:

  Serial.begin(921600);

  pinMode(led,OUTPUT);

  pinMode(pin,INPUT);

  digitalWrite(led,LOW);

  tft.init();

  tft.fillScreen(TFT_WHITE);

  tft.setRotation(3);

  tft.setTextSize(2);

  tft.setTextColor(TFT_BLACK);

  randomSeed(analogRead(sjs)); //使用一个引脚来作为随机数种子

  bx=random(5,155);

}

void loop()

{

  // put your main code here, to run repeatedly:

  if(bx>=x&&bx<=x+15&&by+5>=y&&by+5<=y+3)

  {

    mark++;

    if(mark%5==0)

    {

      level++;

    }

    tft.fillScreen(TFT_WHITE);

    tft.setCursor(0,0);

    tft.println("you win!");

    tft.print("your mark:");

    tft.println(mark);

    tft.print("your level:");

    tft.print(level);

    delay(1000);

    tft.fillScreen(TFT_WHITE);

    randomSeed(analogRead(sjs));

    bx=random(5,155);

    by=5;

    x=65;

    y=57;

  }

  if(bx<=155&&bx>=5&&by>=5&&by<=75)

  {

    tft.fillRect(x,y,15,3,TFT_BLACK);

    tft.fillCircle(bx,by,r,color);

    tft.drawPixel(bx,by,TFT_WHITE);

    delay(100);

    tft.fillCircle(bx,by,r,TFT_WHITE);

    tft.fillRect(x,y,15,3,TFT_WHITE);

    x=double(analogRead(13))/4095.00*145;

    Serial.println(bx>=x&&bx<=x+15&&by+5<=y&&by+5>=y+3);

    Serial.print(x);

    Serial.print(" ");

    Serial.print(bx);

    Serial.print(" ");

    Serial.println(by);

    by+=2*level+1;

  }

  else

  {

    tft.fillScreen(TFT_WHITE);

    tft.setCursor(0,0);

    tft.println("Game ovor!");

    tft.print("your mark:");

    tft.println(mark);

    tft.print("your level:");

    tft.print(level);

    digitalWrite(led,HIGH);

    delay(100);

    digitalWrite(led,LOW);

    delay(100);

    digitalWrite(led,HIGH);

    delay(100);

    digitalWrite(led,LOW);

    delay(100);

    digitalWrite(led,HIGH);

    delay(3000);

    exit(0);

  }

}

#include<TFT_eSPI.h>
#define led 2
int bx,by=5,x=65,y=57,mark,level=1;
const int r=5,sjs=23,pin=13;
TFT_eSPI tft=TFT_eSPI();
uint16_t color=tft.color565(128,0,128); //RGB颜色转GBR565,紫色
void setup()
{
  // put your setup code here, to run once:
  Serial.begin(921600);
  pinMode(led,OUTPUT);
  pinMode(pin,INPUT);
  digitalWrite(led,LOW);
  tft.init();
  tft.fillScreen(TFT_WHITE);
  tft.setRotation(3);
  tft.setTextSize(2);
  tft.setTextColor(TFT_BLACK);
  randomSeed(analogRead(sjs)); //使用一个引脚来作为随机数种子
  bx=random(5,155);
}
void loop()
{
  // put your main code here, to run repeatedly:
  if(bx>=x&&bx<=x+15&&by+5>=y&&by+5<=y+3)
  {
    mark++;
    if(mark%5==0)
    {
      level++;
    }
    tft.fillScreen(TFT_WHITE);
    tft.setCursor(0,0);
    tft.println("you win!");
    tft.print("your mark:");
    tft.println(mark);
    tft.print("your level:");
    tft.print(level);
    delay(1000);
    tft.fillScreen(TFT_WHITE);
    randomSeed(analogRead(sjs));
    bx=random(5,155);
    by=5;
    x=65;
    y=57;
  }
  if(bx<=155&&bx>=5&&by>=5&&by<=75)
  {
    tft.fillRect(x,y,15,3,TFT_BLACK);
    tft.fillCircle(bx,by,r,color);
    tft.drawPixel(bx,by,TFT_WHITE);
    delay(100);
    tft.fillCircle(bx,by,r,TFT_WHITE);
    tft.fillRect(x,y,15,3,TFT_WHITE);
    x=double(analogRead(13))/4095.00*145;
    Serial.println(bx>=x&&bx<=x+15&&by+5<=y&&by+5>=y+3);
    Serial.print(x);
    Serial.print(" ");
    Serial.print(bx);
    Serial.print(" ");
    Serial.println(by);
    by+=2*level+1;
  }
  else
  {
    tft.fillScreen(TFT_WHITE);
    tft.setCursor(0,0);
    tft.println("Game ovor!");
    tft.print("your mark:");
    tft.println(mark);
    tft.print("your level:");
    tft.print(level);
    digitalWrite(led,HIGH);
    delay(100);
    digitalWrite(led,LOW);
    delay(100);
    digitalWrite(led,HIGH);
    delay(100);
    digitalWrite(led,LOW);
    delay(100);
    digitalWrite(led,HIGH);
    delay(3000);
    exit(0);
  }
}

使用Arduino配置ST7735 SPI通信入门必看 手把手教你用Arduino配置ST7735 SPI通信,详解接线与代码实现,让ST7735显示屏快速上手运行,适合初学者的实战教程。 阅读详情

相关推荐

【合宙ESP32C3 Arduino开发】第二篇:Adafruit_ST7735 驱动 合宙Air101 LCD

博主这里使用到了合宙官方售卖的LCD模块,它的参数是160X80,ST7735驱动。我们本篇主要就是学习如何用arduino代码驱动这块lcd。并且除了lcd模块以外,这块板子还带了一个小摇杆功能。这里我们重点关注一下引脚连接。

单片机菜鸟哥的博客 3711

Arduino STM32F103C8+ST7735 1.8‘‘3D矢量图形demo

Arduino STM32F103C8+ST7735 1.8''3D矢量图形demo

perseverance51博客 1713

arduino驱动SPI的FTF_LCD的ST7735屏幕

arduino驱动SPI的FTF_LCD的ST7735屏幕

Arduino UNO R3连接ST7735S型1.8‘128X160 RGB-TFT屏幕方法

以上介绍了Arduino UNO R3连接ST7735S型1.8'128X160 RGB-TFT屏幕的方法,文章主要参考了Arduino官方文档、ST7735S手册以及Ucglib使用说明等内容。

killmiledc的博客 8729

Gemini 3.1 Flash本地部署实操:Ollama+Open WebUI零门槛运行指南

大型语言模型(LLM)本地运行是指将模型权重下载至本地设备,通过推理引擎完成离线推理的过程;其核心原理依赖量化压缩(如GGUF格式)与轻量级运行时(如Ollama)实现CPU/GPU高效加载;技术价值在于低延迟响应、数据隐私可控及免网络依赖;典型应用场景包括办公提效(邮件/周报生成)、学生学习辅助、产品原型验证等边缘AI任务;本文聚焦Gemini 3.1 Flash这一面向消费级硬件优化的轻量模型变体,结合Ollama模型管理与Open WebUI图形界面,提供从环境准备、模型拉取到流式对话的完整新手实操路

weixin_32238157的博客 494

Anylogic试用版密匙

#$%99dTMbLIj+hm/c9fn0suWlfQjdK9FzRH8oSbR Rbm3FEeONkF5mDLKHxhscEDBANDg4BSU2Oi6hErk TH/KzwiCtsM0jfD50uRsj60+gi9ifTlduwcpSr6a GtVSilXwF997xTVAoMLddqOzGQAbnSjBiJOBdm1Z 0QwwIEJynvYgckLfoEADzncIgNnJjYshWcmGh3s9 gTgyuQPlRBeTXfb+ZJPI1JGi4sAUljwdB53Df+AX SEf5FaIbih

qq_43939616的博客 8271

Arduino下使用ESP8266和ST7735屏显示图片

ESP8266

aaaaabbbbb1111的博客 5476

SpringBoot+Maven打包实战:把项目变成SDK供其他团队调用

本文详细介绍了如何将SpringBoot项目改造并打包成可被其他项目依赖的SDK。通过调整Maven配置,剥离SpringBoot父依赖与启动类,并定制打包插件,最终生成标准的JAR依赖库,实现从“可执行应用”到“组件化SDK”的优雅转变,便于团队间功能复用。

assembly8low的博客 827

Arduin-ST7735

mark

u014421313的博客 3254

Synology File Station 官方 API 指南总结(中文版)

本文总结了Synology File Station官方API指南的核心内容,详细介绍了如何通过HTTP/HTTPS请求与DSM系统交互实现文件管理功能。主要内容包括: 基础API操作流程:从获取API信息、登录认证到执行请求和登出的完整工作流 请求构造与响应解析:JSON格式的请求参数处理和响应结果分析 关键API功能分类: 文件信息获取(List/Info) 文件搜索(Search) 收藏夹管理(Favorite) 缩略图生成(Thumb) 目录大小计算(DirSize) 文件上传(Upload)等 错

weixin_46001686的博客 2462

从零到一:i.MX8M Plus开发板全流程开发指南(源码编译、烧录、镜像运行)

本文详细介绍了i.MX8M Plus开发板的全流程开发指南,包括源码编译、烧录和镜像运行等关键步骤。通过实战案例和配置技巧,帮助开发者快速掌握工业级应用开发,提升在边缘计算和AI推理等领域的开发效率。

weixin_30687051的博客 572

GC9A01-TFT屏幕驱动(整理有stm32/51单片机/arduino等驱动代码)

市面采用`GC9A01`驱动IC的屏幕不多,基本上为1.28寸圆形屏,机缘巧合有接触过的这款驱动IC中两款屏幕,其中一款为并行8080接口驱动的触摸屏,目前有编写stm32f10x相关的代码,但市面上使用者似乎较少,因此本文以另一款屏幕为主。

优信电子的博客 2万+

亿图机床采集数据

这个数控系统的英文名是HUST,在台湾知名度还可以,但大陆这边我做这么多年项目也只接触过屈指可数的几次,可见市场占有率并不大,联网采集不复杂。

若云流风的专栏 2496

Arduino + ESP32-C3 + TFT(1.8‘ ST7735S)基础平台(实验三)折腾 TFT_eSPI 库

折腾 TFT_eSPI 库

江哥工作室 5797

【YOLOv11】014、YOLOv11模型导出:PyTorch到ONNX格式转换与优化

摘要:本文详细介绍了如何将PyTorch训练的YOLOv11模型高效转换为ONNX格式。重点包括:分离模型特征提取与后处理、设置动态维度、优化ONNX算子、验证转换正确性等关键步骤。作者分享了实际项目中的经验教训,如版本对齐、算子兼容性处理、后处理分离等实用技巧,并推荐使用onnx-simplifier工具优化模型。文章强调模型转换是一个需要反复调试的过程,建议保留转换记录形成知识库,以提高部署效率并避免常见错误。

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 306

生成模型实战 | 基于Transformer生成音乐

本文介绍了基于Transformer架构的音乐生成方法,将音乐视为一系列事件序列进行处理。与将音乐表示为多维图像的MuseGAN不同,该方法使用类似GPT的仅解码器模型,基于先前事件预测下一个音乐事件。模型使用MIDI格式的钢琴音乐数据,通过分词处理将音符转换为note-on、note-off、time-shift和velocity四种事件类型,共388个独特词元,映射为索引序列后输入网络。训练完成后,可通过调整温度参数控制生成音乐的新颖性,从而创作出风格类似训练数据且连贯逼真的音乐作品。

盼小辉丶的博客 5873

使用Arduino 配合TFT_eSPI库 实现合宙ESP32开发板 驱动ST7735S显示屏 显示自定义图片

使用Arduino 配合TFT_eSPI库 实现合宙ESP32开发板 驱动ST7735S显示屏 显示自定义图片 1.根据针脚定义接线 2.Arduino下载TFT_eSPI库 3.更改TFT_eSPI库配置文件针脚定义 4.打开库自带的demo程序测试 打开demo 访问源码中网站,将图片转换为h库文件 转换完图片存储在TFT_eSPI库下 修改源码 烧录 完成图片显示

低温热源的博客 5714

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Arduino ESP32 TFTLCD ST7735 代码和原理

目录 前言 一、3线SPI 二、使用 1.命令 2.对应引脚调整 总结 前言 驱动芯片是ST7735,之前在Arduino上找库,没几个能用的(我FW不能用肯定是我的错),最后还是自己从STM32移植一个。顺便介绍一下ST7735驱动原理。 一、3线SPI ST7735可以用3线SPI通讯,因为是移植的没用arduino的SPI库,直接模拟SPI。 CS高电平,传数据拉低,同时SCL拉低,SDA开始传输数据,然后SCK拉高,重复8次,CS拉高,整个过程就结束了。 ...

weixin_43410806的博客 9908

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Arduino + TFT显示室内温湿度(DHT11)

Arduino UNO + TFT(ST7735)实时显示环境中的温湿度。

weixin_45860559的博客 4250

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Arduino 使用 TFT 彩屏

(如有更新,见原文:https://blog.iyatt.com/?p=12284)

qq_36349997的博客 3326

Arduino + ESP32-C3 + TFT(1.8‘ ST7735S)基础平台(实验四)直接显示网络图片

arduino 直接显示网络图片

江哥工作室 5354

在image2cpp项目中使用ST7735 TFT显示屏的Arduino实现

ST7735是一款广泛应用于嵌入式系统的彩色TFT液晶显示控制器,支持1.8英寸等多种尺寸的显示屏。它采用SPI接口通信,具有低功耗、高分辨率(通常为128x160或128x128)等特点,非常适合与Arduino等微控制器配合使用。 ## 硬件连接 使用ST7735 TFT显示屏与Arduino连接时,需要以下基本接线: - VCC接3.3V或5V电源(视具体模块而定) - GND接地 -...

gitblog_07693的博客 662

WeAct Stm32H750 arduino方式驱动st7735 tft屏

需要安装以下两个库, 至于安装方法站内已经有现成的教程,这里就不多赘述了。通过WeAct提供的资料, TFT屏连接的引脚如下。上测试了一下上面自带的TFT屏。, 正好发现它是支持。

qq_53342121的博客 1214

Arduino ESP32/ESP8266 +ST7735 1.8“tft中秋小时钟

Arduino ESP32/ESP8266 +ST7735 1.8"tft中秋小时钟

perseverance51博客 1835

Arduino + ESP32-C3 + TFT(1.8‘ ST7735S)基础平台(实验五)温湿度

在线天气

江哥工作室 3748
上一篇: c++跑酷游戏说明
下一篇: devc++快读快写(只适用于整变量)
Jsjjsnmsk
博客等级 码龄4年 548粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值