Holocube-第一集

news2024/11/18 18:26:43

准备工作:

装备:

  • 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_OFFSET
      if (_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;
      }
#endif
      writedata(0x90);

      _width  = _init_height;
      _height = _init_width;
      break;

case 4 需要增加。

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

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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/569842.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Day0:Windows编程环境搭建

前言&#xff1a;学习一个东西&#xff0c;首先要有三问&#xff1a; 1. 这个东西是什么&#xff1f; 2. 为什么要学它&#xff1f; 3. 该怎么学习它&#xff1f; 第一问是要明白你要学习的东西它是什么&#xff0c;你就会对它有一个整体的了解。这也是第二问的半个答案&#x…

有没有想过一种可能,30岁之后,转行去做IT售前?

灵魂拷问 IT行业的变化是非常迅速的&#xff0c;各种新技术、新产品、新观念、新的业务模式层出不穷&#xff0c;不仅是我们&#xff0c;客户也在不断地学习进步&#xff0c;因此我们注定要终身学习。 IT售前这个岗位为许多IT职场人提供了一种新的选择: 你不需要成为某一方面…

微信小程序推送消息

微信小程序推送消息 前言一、推送消息&#xff1a;小程序“订阅消息”功能二、开发步骤1.小程序调用wx.requestSubscribeMessage&#xff0c;进行消息订阅用户授权2.小程序调用wx.login&#xff0c;获取code3.后端访问请求&#xff0c;获取用户openId4.后端访问请求&#xff0c…

树形dp问题套路

⭐️前言⭐️ 本篇文章旨在将二叉树中的树形dp问题模板化&#xff0c;借助信息体传递的方式&#xff0c;通解树形dp问题。 &#x1f349;欢迎点赞 &#x1f44d; 收藏 ⭐留言评论 &#x1f4dd;私信必回哟&#x1f601; &#x1f349;博主将持续更新学习记录收获&#xff0c;友…

双目测距联合YOLOv8 项目总结

代码贴&#xff1a;双目测距--5 双目相机 联合 YOLOv8_爱钓鱼的歪猴的博客-CSDN博客 1、单目标定&#xff08;张友正标定法&#xff09; 获得左相机、右相机的cameraMatrix&#xff08;内部参数值&#xff09;、disCoeffs(畸变矩阵) 2、双目标定 固定左右相机的内部参数值、…

File类和IO流的相关面试(二)

一.IO流 1.什么是IO? I&#xff1a;Input&#xff0c;数据的读取&#xff0c;数据的输入 数据的输入&#xff0c;可以是从键盘输入&#xff0c;从文件读取&#xff0c;从网络接收... O&#xff1a;Output&#xff0c;写数据&#xff0c;数据的输出 数据的输出&#xff0c;可…

C++服务器框架开发2——头文件memory/typedef

该专栏记录了在学习一个开发项目的过程中遇到的疑惑和问题。 其教学视频见&#xff1a;[C高级教程]从零开始开发服务器框架(sylar) 上一篇&#xff1a;C服务器框架开发1——项目介绍/分布式/#ifndef与#pragma once C服务器框架开发2——头文件memory/typedef 目前进度memoryty…

C4D R26 渲染学习笔记 建模篇(1):参数模型

往期文章 介绍篇 C4D R26 渲染学习笔记&#xff08;1&#xff09;&#xff1a;C4D版本选择和初始UI框介绍 C4D R26 渲染学习笔记&#xff08;2&#xff09;&#xff1a;渲染流程介绍 C4D R26 渲染学习笔记&#xff08;3&#xff09;&#xff1a;物体基本操作快捷键 建模篇 …

JVM内存结构介绍

我们都知道&#xff0c;Java代码是要运行在虚拟机上的&#xff0c;而虚拟机在执行Java程序的过程中会把所管理的内存划分为若干个不同的数据区域&#xff0c;这些区域都有各自的用途。其中有些区域随着虚拟机进程的启动而存在&#xff0c;而有些区域则依赖用户线程的启动和结束…

[Data structure]栈

⭐作者介绍&#xff1a;大二本科网络工程专业在读&#xff0c;持续学习Java&#xff0c;努力输出优质文章 ⭐作者主页&#xff1a;逐梦苍穹 ⭐所属专栏&#xff1a;数据结构。数据结构专栏主要是在讲解原理的基础上拿Java实现&#xff0c;有时候有C/C代码。 ⭐如果觉得文章写的…

一文学会随机森林在sklearn中的实现

1 概述 集成学习(ensemble learning)是时下非常流行的机器学习算法,它本身不是一个单独的机器学习算法,而是通 过在数据上构建多个模型,集成所有模型的建模结果。基本上所有的机器学习领域都可以看到集成学习的身影,在 现实中集成学习也有相当大的作用,它可以用来做市场…

8、URP自定义屏幕后处理

回到目录 大家好&#xff0c;我是阿赵。这次来说一下URP渲染管线里面怎样使用后处理效果&#xff0c;还有怎样去自定义后处理效果。 一、使用URP自带的后处理效果 要使用URP自带的后处理效果&#xff0c;方法很简单&#xff0c;和Unity内置渲染管线的PostProcessing后处理很…

深度学习实战——不同方式的模型部署(CNN、Yolo)

忆如完整项目/代码详见github&#xff1a;https://github.com/yiru1225&#xff08;转载标明出处 勿白嫖 star for projects thanks&#xff09; 目录 系列文章目录 一、实验综述 1.实验工具及及内容 2.实验数据 3.实验目标 4.实验步骤 二、ML/DL任务综述与模型部署知识…

python:容器:列表——常用操作

列表.append(元素)向列表中追加一个元素列表.extend(容器)将数据容器的内容依次取出&#xff0c;追加到列表尾部列表.insert(下标,元素)在指定下标处&#xff0c;插入指定的元素del 列表[下标]删除列表指定的下标元素列表.pop(下标)删除列表指定的下标元素列表.remove(元素)从前…

【LeetCode热题100】打卡第3天:无重复字符的最长子串

文章目录 无重复字符的最长子串⛅前言&#x1f512;题目&#x1f511;题解 无重复字符的最长子串 ⛅前言 大家好&#xff0c;我是知识汲取者&#xff0c;欢迎来到我的LeetCode热题100刷题专栏&#xff01; 精选 100 道力扣&#xff08;LeetCode&#xff09;上最热门的题目&…

【高数+复变函数】傅里叶变换的性质

文章目录 【高数复变函数】傅里叶变换的性质一、常见性质1.1 线性性质1.2 位移性质1.3 微分性质1.4 积分性质1.5 乘积定理1.6 能量积分 二、卷积2.1 卷积运算2.2 运算应用2.3 卷积定理 三、相关函数 【高数复变函数】傅里叶变换的性质 上一节&#xff1a;【高数复变函数】傅里…

2.labelme转yolo格式和MS COCO格式

2.labelme转yolo格式和MS COCO格式 2.1 数据集划分 import os import random import shutildef moveimg(fileDir, tarDir):pathDir os.listdir(fileDir) # 取图片的原始路径filenumber len(pathDir)rate 0.01 # 自定义抽取图片的比例&#xff0c;比方说100张抽10张&…

Verilog 基础知识

文章目录 Verilog 简单介绍数据类型介绍变量运算符及表达式非阻塞赋值和阻塞赋值条件语句循环语句顺序块和并行块结构说明语句assign 语句打印信息宏定义 Verilog 简单介绍 Verilog HDL是硬件描述语言的一种&#xff0c;用于数字电子系统设计。该语言允许设计者进行各种级别的…

Verilog | FIFO简单实现

FIFO( First Input First Output)简单说就是指先进先出&#xff0c;也是缓存机制的一种&#xff0c;下面是我总结的 FIFO 的三大用途&#xff1a; 1)提高传输效率&#xff0c;增加 DDR 带宽的利用率。比如我们有 4 路视频数据缓存到 DDR 中去&#xff0c;比较笨的方法是&#x…

SpringBoot毕业设计40个项目分享(源码+论文)(一)

文章目录 前言 课题1 : 基于SSM与VUE的旅游信息分享管理平台 <br /> 课题2&#xff1a;基于SSMVUE的中医商城管理系统 <br /> 课题3 : 基于SSM的汽车租赁系统<br /> 课题4 : 基于SSM与VUE的汉服销售论坛系统 <br /> 课题5 : 基于SSM的疫情校园师生登记…