一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ESP32+TFT 手把手教你學(xué)會(huì)黑客帝國(guó)的數(shù)字特效

伊娃老師來(lái)了 ? 來(lái)源:伊娃來(lái)了 ? 作者:伊娃來(lái)了 ? 2023-11-09 08:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

嗨,各位小伙伴!今天,我們將帶你探索如何在ESP32開(kāi)發(fā)板上制作炫酷的特效,別擔(dān)心,不需要編程基礎(chǔ)。我們將一步步學(xué)習(xí)如何使用TFT屏幕以及ESPI庫(kù)。跟著我,輕松入門,一起來(lái)搞點(diǎn)有趣的事情吧!

小貼士:伊娃老師的線上工作坊開(kāi)課啦,要報(bào)名的快點(diǎn)看文章最后面!等你報(bào)名喲!

完整代碼

#include TFT_eSPI tft;  //創(chuàng)建對(duì)象
uint16_t evacolor = tft.color565(0, 0, 0);  //rgb/*int dropY = 0;                              //文字的Yint dropX = random(0, tft.width());         //文字的X ,random(最小值,最大值),從最小值跟最大值取一個(gè)隨機(jī)數(shù)char randomC = char(random(32, 126));       //隨機(jī)打印ASCII 32-126可顯示的字符內(nèi)容int dropSpeed = random(1, 5);               //隨機(jī)速度1-5*/
const int maxDrops = 300;  // 最大雨滴數(shù)量int dropX[maxDrops];      // 雨滴的X坐標(biāo)int dropY[maxDrops];      // 雨滴的Y坐標(biāo)char randomC[maxDrops];   // 雨滴顯示的字符int dropSpeed[maxDrops];  // 雨滴的下落速度


void setup() {  //開(kāi)機(jī)執(zhí)行一次的代碼,一般會(huì)放初始化的設(shè)定值  // put your setup code here, to run once:  tft.init();                       //初始化屏幕  tft.setRotation(0);               //屏幕旋轉(zhuǎn)方向  tft.fillScreen(evacolor);         //屏幕底色  tft.setTextSize(1);               //文本大小  tft.setTextColor(TFT_DARKGREEN);  //文字深綠色                                    //  tft.setCursor(10,10);//設(shè)置打印文字位置                                    //  tft.println("TEST EVA");//打印文字  randomSeed(analogRead(0));        // 使用模擬引腳0的值作為隨機(jī)種子
  for (int i = 0; i < maxDrops; i++) {  //如果你將 for 循環(huán)放在 setup() 函數(shù)之外,即全局作用域中,會(huì)導(dǎo)致編譯錯(cuò)誤。    dropX[i] = random(0, tft.width());    dropY[i] = -random(0, tft.height());    randomC[i] = char(random(32, 126));    dropSpeed[i] = random(1, 5);  }}
//顯示文字、文字掉落、隨機(jī)循環(huán)掉落、隨機(jī)文字、隨機(jī)速度//多個(gè)文字,同樣功能
void loop() {  //執(zhí)行完setup之后,循環(huán)執(zhí)行l(wèi)oop中的指令  // put your main code here, to run repeatedly:

  tft.fillScreen(evacolor);
  /*  tft.setCursor(dropX, dropY);  //設(shè)定從坐標(biāo)x:10開(kāi)始,坐標(biāo)y:dropY打印  tft.println(randomC);         //打印randomC  dropY = dropY + dropSpeed;    //dropY增加dropSpeed  if (dropY > tft.height()) {  //判斷Y的位置,如果到底就回到頂點(diǎn),實(shí)現(xiàn)循環(huán)掉落    dropY = 0;    dropX = random(0, tft.width());    randomC = char(random(32, 126));  }*/
  for (int i = 0; i < maxDrops; i++) {    tft.setCursor(dropX[i], dropY[i]);   //設(shè)定從坐標(biāo)x:10開(kāi)始,坐標(biāo)y:dropY打印    tft.println(randomC[i]);             //打印randomC    dropY[i] = dropY[i] + dropSpeed[i];  //dropY增加dropSpeed    if (dropY[i] > tft.height()) {       //判斷Y的位置,如果到底就回到頂點(diǎn),實(shí)現(xiàn)循環(huán)掉落      dropY[i] = -random(0, tft.height());      dropX[i] = random(0, tft.width());      randomC[i] = char(random(32, 126));    }  }

  delay(100);  //延遲100毫秒,0.1秒} 作者:伊娃老師來(lái)了 https://www.bilibili.com/read/cv24030296/?spm_id_from=333.999.0.0 出處:bilibili

步驟 1: 創(chuàng)建新的Arduino項(xiàng)目 首先,打開(kāi)Arduino IDE,點(diǎn)擊"項(xiàng)目",然后選擇"導(dǎo)入庫(kù)"。在搜索框中輸入"TFT ESPI",選擇并導(dǎo)入這個(gè)庫(kù)。沒(méi)接觸過(guò)庫(kù)?別擔(dān)心,之前的教程有介紹。

步驟 2: 引入TFT庫(kù)

在你的代碼中加入以下一行:

#include 

10e8b594-7e99-11ee-b3e3-92fbcf53809c.png

步驟 3: 屏幕控制

TFT庫(kù)提供了一堆有用的函數(shù),比如:

TFT.init() - 初始化屏幕

TFT.setRotation(0) - 設(shè)置屏幕旋轉(zhuǎn)

TFT.fillScreen(TFT_BLACK) - 設(shè)置背景顏色為黑色

TFT.setTextSize(2) - 設(shè)置文本大小

TFT.setTextColor(TFT_GREEN) - 設(shè)置文本顏色

想要更多顏色?不妨查查TFT庫(kù)文檔或Arduino庫(kù)中的TFT ESPI。它預(yù)定義了一些常用顏色,用名字直接引用。不過(guò),要是記不住這些名字,也可以自己創(chuàng)建顏色變量,用TFT.color565(r, g, b)方式調(diào)用。

110214bc-7e99-11ee-b3e3-92fbcf53809c.png

步驟 4: 數(shù)學(xué)與邏輯

做任何項(xiàng)目,都要先把核心功能搞定,然后再慢慢添加特效,避免出現(xiàn)問(wèn)題。本次特效,核心是文本顯示,然后讓文本垂直下落,再加入隨機(jī)性。最后,加點(diǎn)速度隨機(jī)化。

1126ac46-7e99-11ee-b3e3-92fbcf53809c.png

步驟 5: 文本下落

顯示文本其實(shí)是把文本從屏幕頂部向底部逐漸打印。每次打印前,先清空屏幕,這樣文本下落時(shí)不會(huì)留下痕跡。

用TFT.fillScreen(TFT_BLACK)把屏幕弄成黑色,然后用循環(huán)不停更新文本的Y坐標(biāo)。當(dāng)Y坐標(biāo)超出屏幕底部,重新設(shè)置到頂部,實(shí)現(xiàn)循環(huán)效果。

115935e4-7e99-11ee-b3e3-92fbcf53809c.png

步驟 6: 隨機(jī)下落

搞點(diǎn)創(chuàng)意,讓文本從隨機(jī)位置開(kāi)始下落。使用random()函數(shù)生成隨機(jī)的X坐標(biāo)。不要忘了用randomSeed(analogRead(0))設(shè)置隨機(jī)數(shù)生成器的種子,確保每次運(yùn)行都有不同的隨機(jī)性。

11838a56-7e99-11ee-b3e3-92fbcf53809c.png

步驟 7: 組合多個(gè)效果

為了更多特效,不用復(fù)制黏貼相同的代碼,用數(shù)組列表管理它們。通過(guò)循環(huán),為每個(gè)特效定義不同的參數(shù),一次性更新它們。需要多個(gè)特效?只需擴(kuò)展數(shù)組的長(zhǎng)度,再多次粘貼代碼。

11af7d8c-7e99-11ee-b3e3-92fbcf53809c.png

下一期教程中,我們將深入研究更多編程概念和技巧,希望你會(huì)繼續(xù)學(xué)習(xí)。喜歡這篇文章嗎?記得點(diǎn)贊,分享給其他小伙伴。

如果你想跟著伊娃老師一起玩ESP32,千萬(wàn)不要錯(cuò)過(guò)伊娃老師的線上工作坊哦!微信掃碼報(bào)名!

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • TFT
    TFT
    +關(guān)注

    關(guān)注

    10

    文章

    399

    瀏覽量

    112590
  • ESP32
    +關(guān)注

    關(guān)注

    21

    文章

    1017

    瀏覽量

    19276
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    手把手教你學(xué)會(huì)ARM(ARM精講視頻)

    手把手教你學(xué)會(huì)ARM(ARM精講視頻)視頻下載鏈接:https://pan.baidu.com/s/1SzMYm_MPF5aiuAfdYqphAQ 提取碼:xw03
    發(fā)表于 11-29 14:24

    手把手教你構(gòu)建一個(gè)完整的工程

    手把手教你構(gòu)建一個(gè)完整的工程
    發(fā)表于 08-03 09:54 ?33次下載
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>構(gòu)建一個(gè)完整的工程

    手把手教你寫批處理-批處理的介紹

    手把手教你寫批處理-批處理的介紹
    發(fā)表于 10-25 15:02 ?69次下載

    美女手把手教你如何裝機(jī)(中)

    美女手把手教你如何裝機(jī)(中) 再來(lái)是硬碟的部份,這款機(jī)殼還不錯(cuò),可以旋轉(zhuǎn)支架~
    發(fā)表于 01-27 11:14 ?1527次閱讀

    美女手把手教你如何裝機(jī)(下)

    美女手把手教你如何裝機(jī)(下) 接著下來(lái)就是今天的重頭戲,開(kāi)核蘿!~
    發(fā)表于 01-27 11:16 ?3026次閱讀

    手把手教你安裝Quartus II

    本章手把手把教你如何安裝 Quartus II 軟件 ,并將它激活 。此外 還有USB -Blaster下載器的驅(qū)動(dòng)安裝步驟 。
    發(fā)表于 09-18 14:55 ?9次下載

    手把手教你在家搭建監(jiān)控系統(tǒng)

    手把手教你在家搭建監(jiān)控系統(tǒng)
    發(fā)表于 01-17 19:47 ?28次下載

    手把手教你如何開(kāi)始DSP編程

    手把手教你如何開(kāi)始DSP編程。
    發(fā)表于 04-09 11:54 ?13次下載
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>如何開(kāi)始DSP編程

    手把手教你學(xué)LabVIEW視覺(jué)設(shè)計(jì)

    手把手教你學(xué)LabVIEW視覺(jué)設(shè)計(jì)手把手教你學(xué)LabVIEW視覺(jué)設(shè)計(jì)手把手教你學(xué)LabVIEW視
    發(fā)表于 03-06 01:41 ?3327次閱讀

    手把手教你學(xué)會(huì)AVR單片機(jī)pdf.01

    手把手教你學(xué)會(huì)AVR單片機(jī)pdf.01
    發(fā)表于 09-30 17:33 ?0次下載

    手把手教你學(xué)會(huì)AVR單片機(jī)pdf.02

    手把手教你學(xué)會(huì)AVR單片機(jī)pdf.02
    發(fā)表于 09-30 17:34 ?0次下載

    手把手教你學(xué)會(huì)AVR單片機(jī)pdf.03

    手把手教你學(xué)會(huì)AVR單片機(jī)pdf.03
    發(fā)表于 09-30 17:36 ?0次下載

    手把手教你學(xué)會(huì)AVR單片機(jī)pdf.04

    手把手教你學(xué)會(huì)AVR單片機(jī)pdf.04
    發(fā)表于 09-30 17:37 ?0次下載

    手把手教你學(xué)會(huì)AVR單片機(jī)pdf.05

    手把手教你學(xué)會(huì)AVR單片機(jī)pdf.05
    發(fā)表于 09-30 18:19 ?0次下載

    手把手教你學(xué)FPGA仿真

    電子發(fā)燒友網(wǎng)站提供《手把手教你學(xué)FPGA仿真.pdf》資料免費(fèi)下載
    發(fā)表于 10-19 09:17 ?2次下載
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>學(xué)FPGA仿真