Holocube-第一集

news/2024/10/17 16:29:42/

准备工作:

装备:

  • ESP 8266 D1 MINI
  • 1.3寸 TFT 屏幕
  • 分光棱镜25.4mm
  • 面包板、杜邦线、数据线等配件

 

软件:

Arduino(本人使用1.8.16)---驱动ch341

初始arduino简单程序,对esp8266上传代码,能正常运行。正式开始

坑1:无法读取到com口的esp8266.  最终是数据线的问题。很多usb线读取不了。一定要换根有用的。

开始接线

这个不需要参考我的,接的比较乱。网上随便搜索,esp8266和tft屏如何接线

第一集代码

 先让esp对tft屏能进行显示,并且屏幕内容为镜像显示。分光棱镜的效果就达到了。

首先要加载库    TFT_eSPI-2.4.72.zip

#include<TFT_eSPI.h>
TFT_eSPI tft = TFT_eSPI(240,240);      //实例化void setup() {Serial.begin(115200);tft.init();tft.setSwapBytes(true);tft.setRotation(4);   //0,0°,  1-3(90°-270°) ,4镜像tft.fillScreen(TFT_BLACK);      tft.setTextColor(TFT_WHITE, TFT_BLACK, true);tft.setTextSize(2);tft.println("Hello World!!");tft.println("Holocube!!");}void loop() {}

运行效果:

 坑2:

 tft.setRotation(4);    //4镜像。镜像这个正常是不会直接来的,需要改库文件的。

这个屏幕大小是240*240.可以改下。

ST7789_Defines.h

// Change the width and height if required (defined in portrait mode)
// or use the constructor to over-ride defaults
#ifndef TFT_WIDTH#define TFT_WIDTH  240
#endif
#ifndef TFT_HEIGHT#define TFT_HEIGHT 240
#endif

 ST7789_Rotation.h

writecommand(TFT_MADCTL);rotation = m % 5;//需要修改
      writedata(TFT_MAD_MV | TFT_MAD_MY | TFT_MAD_COLOR_ORDER);_width  = _init_height;_height = _init_width;break;case 4: //需要增加的代码
#ifdef CGRAM_OFFSETif (_init_width == 135){colstart = 53;rowstart = 40;}else if(_init_height == 280){colstart = 0;rowstart = 20;}else if(_init_width == 172){colstart = 34;rowstart = 0;}else if(_init_width == 170){colstart = 35;rowstart = 0;}else{colstart = 0;rowstart = 80;}
#endifwritedata(0x90);_width  = _init_height;_height = _init_width;break;

case 4 需要增加。

writedata(0x90);//这句最关键。 1001 0000

详细了解TFT显示的相关知识。

 


http://www.ppmy.cn/news/86655.html

相关文章

怎么通过ecs云服务器来给小程序发送消息

如果您想通过 ECS 云服务器向小程序发送消息&#xff0c;可以使用 WebSocket 技术。具体步骤如下&#xff1a; 1. 在 ECS 云服务器上搭建 WebSocket 服务器。您可以使用 Node.js、Java、Python 等编程语言来实现 WebSocket 服务器&#xff0c;具体实现方式可参考相关技术文档或…

Linux系统初始化命令的备忘单,Linux运维工程师收藏!

在管理和维护Linux系统时&#xff0c;有一些常用的命令可以帮助您进行系统初始化和配置。这些命令涵盖了各种任务&#xff0c;包括系统设置、用户管理、软件安装和网络配置等。 本文将为您提供一个Linux系统初始化命令的备忘单&#xff0c;以便在需要时方便查阅和使用。 系统设…

C语言指针

C语言指针 前言1. 指针是什么&#xff1f;1.2 如何编址呢&#xff1f; 2. 指针和指针类型2.1 指针-整数2.2 指针类型的意义 3. 野指针3.1 野指针成因3.1.1 指针未初始化3.1.2 指针越界访问1.1.3 指针指向的空间释放 3.2 如何避免野指针 4. 指针运算4.1 指针 /- 指针4.2 指针 -…

【基于ROS Melodic环境安装rosserial arduino】

【基于ROS Melodic环境安装rosserial arduino】 1. 简介2. 安装2.1 Ubuntu下的Arduino IDE安装2.2 Ubuntu下rosserial arduino软件安装2.3 安装ros_lib到Arduino IDE开发环境 3. 将ros_lib配置到 Arduino 环境库中4. 使用helloword5. 实验验证6.总结 1. 简介 这个教程展示如何…

总结879

学习目标&#xff1a; 月目标&#xff1a;5月&#xff08;1800基础部分&#xff0c;背诵15篇短文&#xff0c;熟词僻义300词基础词&#xff09; 周目标&#xff1a;1800高等数学部分并完成错题记录&#xff0c;英语背3篇文章并回诵 每日必复习&#xff08;5分钟&#xff09; …

react介绍,react语法,react高级特性,react编程技巧

React是一个用于构建用户界面的JavaScript库。它由Facebook开发&#xff0c;于2013年首次发布。React的主要目标是提高应用程序的性能和可维护性。React采用了一种称为“组件”的模式&#xff0c;使开发人员可以将应用程序拆分为小而独立的部分&#xff0c;从而更容易编写和维护…

5.22牛客做题

链表头尾指针 判断&#xff1a;在表头和表尾都可能有元素被插入的情况下&#xff0c;在单循环链表中设置尾指针比设置头指针好。 &#xff08; &#xff09; 正确。原因如下&#xff1a; 在设置尾指针时&#xff0c;对于链表的头插和尾插操作都可以在O(1)时间复杂度内完成。 …

运营-18.积分体系概念

积分体系是一种通过平台补贴来提升用户忠诚度、为平台各项业务的导流的运营手段&#xff1b; 作用 1. 积分体系可以引导用户逐渐投入沉没成本&#xff0c;包括时间、精力和金钱&#xff1b; 2. 沉没成本越高&#xff0c;用户越难以离开&#xff1b; 3. 积分体系可以给其他业务导…