Arduino uno esp01s 硬串口通信

news/2024/11/17 4:37:49/

在这里插入图片描述

参考资料:
esp 烧录固件 和 烧录程序
esp 通信测试程序
ili9341 tft显示屏使用

零件:
Arduino uno
ili9341 tft
esp01s
usb 烧录器在这里插入图片描述
最初的想法是, 弄一个BTC 和 ETH 价格显示的小电视,找了找手上有的硬件就这几样,于是就开始了折腾。
首先声明我是菜鸡一个, C++ 也就学了半桶水,硬件更是十分业余,我的方法也许你不一定能直接套用。

一开始就有个很严重的问题, 就是 Arduino 插上 我这块屏幕就没有多余的接口,来给esp做软串口通信了, 所以我只能使用 硬串口即 Arduino 上的 RX 和 TX 口, 网上有些文章说可以互相通信的,反正我是没弄成功,我的方法是,直接使用 esp 读取网站 json 获取BTC 的价格,通过串口发送到 Arduino 经过数据处理显示到屏幕上。

esp01 升级 和 烧录 参考上面的 esp 烧录固件 和 烧录程序 文章。

arduino ide 写入 esp01 的程序:

/*This sketch demonstrates how to scan WiFi networks.The API is almost the same as with the WiFi Shield library,the most obvious difference being the different file you need to include:
*/#include <ESP8266WiFi.h>void setup() {Serial.begin(9600);Serial.println(F("\nESP8266 WiFi scan example"));// Set WiFi to station modeWiFi.mode(WIFI_STA);// Disconnect from an AP if it was previously connectedWiFi.disconnect();delay(100);
}void loop() {String ssid;int32_t rssi;uint8_t encryptionType;uint8_t* bssid;int32_t channel;bool hidden;int scanResult;Serial.println(F("Starting WiFi scan..."));scanResult = WiFi.scanNetworks(/*async=*/false, /*hidden=*/true);if (scanResult == 0) {Serial.println(F("No networks found"));} else if (scanResult > 0) {Serial.printf(PSTR("%d networks found:\n"), scanResult);// Print unsorted scan resultsfor (int8_t i = 0; i < scanResult; i++) {WiFi.getNetworkInfo(i, ssid, encryptionType, rssi, bssid, channel, hidden);Serial.printf(PSTR("  %02d: [CH %02d] [%02X:%02X:%02X:%02X:%02X:%02X] %ddBm %c %c %s\n"),i,channel,bssid[0], bssid[1], bssid[2],bssid[3], bssid[4], bssid[5],rssi,(encryptionType == ENC_TYPE_NONE) ? ' ' : '*',hidden ? 'H' : 'V',ssid.c_str());delay(0);}} else {Serial.printf(PSTR("WiFi scan error %d"), scanResult);}// Wait a bit before scanning againdelay(5000);
}

Arduino uno 的程序:

void setup()
{//波特率务必与要通讯的模块保持一致,否则通讯失败Serial.begin(9600);
}
void loop()
{//因为串口是一位一位的发送所以在这里缓存完再发送if (Serial.available())       //判断串口缓存区是否有数据{size_t counti = Serial.available();uint8_t sbuf[counti];Serial.readBytes(sbuf, counti); //读取串口数据Serial.write(sbuf, counti);     //将读到的数据通过TX引脚发出去}
}

程序弄好把 Arduino 与 esp01 连接
esp01 -------- Arduino
RX -------- TX
TX -------- RX
v3.3 -------- v3.3
VCC -------- VCC

打开 Arduino IDE 串口监视器,成功的话显示如下
在这里插入图片描述
这说明esp01 已经通过串口发送信息到 Arduino uno 了, 剩下的的就自己去折腾吧。。。。。


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

相关文章

java moka_山地车 佳沃 MOKA(摩卡) 24S A价格

展开全部 JAVA佳沃e69da5e6ba903231313335323631343130323136353331333337396334MOKA山地自行车 油压碟刹 喜玛诺M310套件 24速 可锁前叉 1698元 颜色钛白/黑红/白蓝/红黄 尺寸15" 17" 18" 车架MOKA车架 前叉26*205 KIWAT-HLO 油压锁死 碗组H19B 把立ATB-S-1 φ…

PCI PCI-X PCI-E介绍

PCI PCI-X PCI-E介绍 1.PCI 外设互联标准(或称个人电脑接口,Personal Computer Interface),实际应用中简称PCI(Peripheral Component Interconnect),是一种连接电子计算机主板和外部设备的总线标准。一般PCI设备可分为两种形式:直接布放在主板上的集成电路,在PCI规范中…

k8s高可用二进制部署

服务器规划 192.168.30.24 k8s-master1 192.168.30.25 k8s-master2 192.168.30.26 k8s-node1 192.168.30.30 k8s-node2 192.168.30.31 k8s-node3 192.168.30.32 k8s-slb1 192.168.30.33 k8s-slb2 生产环境高可用集群 规格&#xff1a;配置3/5/7个master&#xff0c; 3/5/7etc…

S3C2410X的NAND flash启动

S3C2410X有两种启动方式&#xff1a;NOR flash启动和NAND flash启动。NOR flash启动&#xff1a;NOR flash可以象SDRAM那样随机读取&#xff0c;且读取速度快&#xff0c;不但可以存储程序&#xff0c;还可以运行程序。上电复位时&#xff0c;NOR flash被映射到地址0x0处&#…

杰理AC692X,695X,696X方案NFC音响耳机、故事机

前言 最近发现NFC类的儿童玩具音响耳机产品挺多人做的&#xff0c;尤其是欧洲印度等市场。由于这类产品大部分卖欧美市场&#xff0c;所以国内的线上购物网站我只找到了卢卡音乐盒&#xff0c;凯叔讲故事故事机等。 产品的形态大概就是一个长得比较可爱的音响或者耳机&#x…

简要说明S3C2410X的Nandflash启动模式

由于Norflash相对较高的价格&#xff0c;一般MCU厂商都会通过其他方法在硬件上实现支持Nandflash启动模式。 S3C2410X就是在MCU内部集成4KB被叫作Steppingstone的SRAM&#xff0c;当系统启动时Nandflash前4KB数据就被自动地拷贝到Steppingstone中&#xff0c;然后从Steppingsto…

f1c100s 源码_全志 F1C100S/200S Ucos Kile MDK emwin 408M-ARM9内置DDR 源码

可支持 F1C100S/200S 软硬件定制开发 本商品为-源码例程-价格 买源码送199开发板1块[F1C100S主板 4.3寸480x272LCD RTP] 技术支撑 F1C100S/200S详情: 1. 采用arm9内核,标准运行在408MHZ,可稳固超频到600MHZ,且功耗很低 2. 100S内置32MB-DDR/200S内置64MB-DDR,可以pin-to-pin替…

XOP 网格计划是什么?XOP 的特性

今天的主角&#xff0c;XOP&#xff0c;本名叫&#xff1a;SPDR S&P Oil & Gas Exploration & Production ETF&#xff08;中译名&#xff1a;油气开采 ETF-SPDR&#xff09;。是一个可以通过美股账户交易的 ETF&#xff08;场内基金&#xff09;。这个基金追踪的是…