【雕爷学编程】Arduino动手做(206)---2.9寸红黑三色墨水屏 e-Paper Shield 扩展板

在这里插入图片描述

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备逐一做做实验,不管能否成功,都会记录下来—小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百零六:2.9寸epd电子纸屏模块 spi电纸屏 汉朔黑白红三色eink墨水屏QYEG0290BNS800F6

在这里插入图片描述
这里要非常感谢aladdincp提供了四块电子标价签模块,才有了这次的学习与尝试的机会。

在这里插入图片描述

九天之后,终于收到做实验用的四张驱动板实物

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

电子纸墨水屏驱动扩展板(e-Paper Shield)电原理图

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

e-paper shield 相关资料
https://www.waveshare.net/wiki/E-Paper_Shield
https://www.waveshare.net/w/upload/c/c6/Zimo221.7z
https://github.com/Seeed-Studio/Small_ePaper_Shield
https://www.waveshare.net/w/upload/3/36/Image2Lcd.7z
https://www.waveshare.net/wiki/E-Paper-Floyd-Steinberg
https://www.waveshare.net/w/upload/e-Paper_Shield_Code.7z
https://www.waveshare.net/study/portal.php?mod=list&catid=40
https://www.waveshare.net/w/upload/b/bb/E-Ppaer_Shield_Schematic.pdf
https://www.waveshare.net/w/upload/0/02/Chinese_Font_Create_for_e-Paper.pdf
https://www.tspweb.com/key/%E5%B … 8A%A8%E6%9D%BF.html
https://www.tspweb.com/key/%E5%BE%AE%E9%9B%AA%E5%A2%A8%E6%B0%B4%E5%B1%8F%E9%A9%B1%E5%8A%A8%E6%9D%BF.html

在这里插入图片描述

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百一十七:EPD Eink 电子墨水显示器 SUNY 2.9 英寸 EPD 屏幕无 线数字 电子纸显示器模块 DEPG0290RWS800F6黑红三色墨水屏
实验说明:使用傲雪驱动库e-Paper(扩展板直接插入uno)
项目十六:测试 e-Paper Shield 扩展板

在这里插入图片描述

实验开源代码

/*【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百一十七:EPD Eink 电子墨水显示器 SUNY 2.9 英寸 EPD 屏幕无  线数字  电子纸显示器模块  DEPG0290RWS800F6黑红三色墨水屏
  实验说明:使用傲雪驱动库e-Paper(扩展板直接插入uno)
  项目十六:测试 e-Paper Shield 扩展板
*/

#include "EPD.h"
#include "GUI_Paint.h"
#include "ImageData.h"
#include "EPD_SDCard.h"

void setup() {
  DEBUG("2.9inch e-Paper B and C demo\r\n");
  DEV_Module_Init();

  EPD_2IN9BC_Init();
  EPD_2IN9BC_Clear();
  DEV_Delay_ms(500);
#if 0
  /*show sd card pic*/
  //1.Initialize the SD card
  SDCard_Init();

  //2.Create a new image cache named IMAGE_BW and fill it with white
  //Draw black image
  DEBUG("IMAGE_BW\n");
  Paint_NewImage(IMAGE_BW, EPD_2IN9BC_WIDTH, EPD_2IN9BC_HEIGHT, IMAGE_ROTATE_0, IMAGE_COLOR_POSITIVE);
  Paint_Clear(WHITE);
  //3.Read BMP images into RAM
  //    SDCard_ReadBMP("2in9b-b.bmp", 0, 0);
  SDCard_ReadBMP("2in9c-b.bmp", 0, 0);

  //Draw red image
  DEBUG("IMAGE_BWR\n");
  Paint_NewImage(IMAGE_BWR, EPD_2IN9BC_WIDTH, EPD_2IN9BC_HEIGHT, IMAGE_ROTATE_0, IMAGE_COLOR_POSITIVE);
  Paint_Clear(WHITE);
  //    SDCard_ReadBMP("2in9b-r.bmp", 0, 0);
  SDCard_ReadBMP("2in9c-y.bmp", 0, 0);

  //4.Refresh the picture in RAM to e-Paper
  EPD_2IN9BC_Display();
  DEV_Delay_ms(2000);
#elif 1
  /*show image for array*/
  //1.Draw black image
  Paint_NewImage(IMAGE_BW, EPD_2IN9BC_WIDTH, EPD_2IN9BC_HEIGHT, IMAGE_ROTATE_0, IMAGE_COLOR_POSITIVE);
  Paint_DrawBitMap(IMAGE_BLACK);

  //2.Draw red image
  Paint_NewImage(IMAGE_BWR, EPD_2IN9BC_WIDTH, EPD_2IN9BC_HEIGHT, IMAGE_ROTATE_0, IMAGE_COLOR_POSITIVE);
  Paint_DrawBitMap(IMAGE_RED);

  //3.Refresh the picture in RAM to e-Paper
  DEBUG("EPD_2IN9BC_Display\r\n");
  EPD_2IN9BC_Display();
  DEV_Delay_ms(8000);
#endif

#if 0
  /*Horizontal screen*/
  //1.Draw black image
  Paint_NewImage(IMAGE_BW, EPD_2IN9BC_WIDTH, EPD_2IN9BC_HEIGHT, IMAGE_ROTATE_90, IMAGE_COLOR_POSITIVE);
  Paint_Clear(WHITE);
  Paint_DrawPoint(5, 70, BLACK, DOT_PIXEL_1X1, DOT_STYLE_DFT);
  Paint_DrawPoint(5, 80, BLACK, DOT_PIXEL_2X2, DOT_STYLE_DFT);
  Paint_DrawLine(20, 70, 50, 100, BLACK, LINE_STYLE_SOLID, DOT_PIXEL_1X1);
  Paint_DrawLine(50, 70, 20, 100, BLACK, LINE_STYLE_SOLID, DOT_PIXEL_1X1);
  Paint_DrawRectangle(60, 70, 90, 100, BLACK, DRAW_FILL_FULL, DOT_PIXEL_1X1);
  Paint_DrawCircle(125, 85, 15, BLACK, DRAW_FILL_EMPTY, DOT_PIXEL_1X1);
  Paint_DrawString_EN(5, 15, "hello world", &Font12, WHITE, BLACK);
  Paint_DrawNum(5, 30, 123456789, &Font16, BLACK, WHITE);

  //2.Draw red image
  Paint_NewImage(IMAGE_BWR, EPD_2IN9BC_WIDTH, EPD_2IN9BC_HEIGHT, IMAGE_ROTATE_90, IMAGE_COLOR_POSITIVE);
  Paint_Clear(WHITE);
  Paint_DrawPoint(5, 90, RED, DOT_PIXEL_3X3, DOT_STYLE_DFT);
  Paint_DrawPoint(5, 100, RED, DOT_PIXEL_4X4, DOT_STYLE_DFT);
  Paint_DrawLine(125, 70, 125, 100, RED, LINE_STYLE_DOTTED, DOT_PIXEL_1X1);
  Paint_DrawLine(110, 85, 140, 85, RED, LINE_STYLE_DOTTED, DOT_PIXEL_1X1);
  Paint_DrawRectangle(20, 70, 50, 100, RED, DRAW_FILL_EMPTY, DOT_PIXEL_1X1);
  Paint_DrawCircle(165, 85, 15, RED, DRAW_FILL_FULL, DOT_PIXEL_1X1);
  Paint_DrawString_EN(5, 0, "waveshare Electronics", &Font12, BLACK, WHITE);
  Paint_DrawNum(5, 50, 987654321, &Font16, WHITE, RED);

  //3.Refresh the image in RAM to e-Paper
  EPD_2IN9BC_Display();
#endif
  DEV_Delay_ms(3000);
  EPD_2IN9BC_Clear();

  EPD_2IN9BC_Sleep();
  DEV_Module_Exit();
}

void loop() {
}

上述程序可以通过编译,上传时间有点长,出错信息如下:

C:\Program Files (x86)\Arduino\libraries\EPD\src/EPD.h:1:18: warning: extra tokens at end of #ifndef directive

#ifndef __utility/EPD_H_

                  ^

C:\Program Files (x86)\Arduino\libraries\EPD\src/EPD.h:2:18: warning: ISO C++11 requires whitespace after the macro name

#define __utility/EPD_H_

                  ^

使用记事本打开EPD.h库,好像出错的就是第一和第二行

在这里插入图片描述

附:参考资料(视频)
让超市的墨水屏电子标签变成我们自己的显示终端
https://www.bilibili.com/video/BV1Ev411A7h4/?from=search&seid=7136236603590933884&spm_id_from=333.337.0.0

超市里的墨水屏电子价签
https://www.bilibili.com/video/BV1SV411C7wH/?spm_id_from=333.788.recommend_more_video.5

【超市价格标签实现】制作超市电子标签,2.9inch电子墨水屏Arduino-物联网电子墨水屏
https://www.bilibili.com/video/BV14q4y1p7U5/?from=search&seid=7136236603590933884&spm_id_from=333.337.0.0

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
雕爷学编程Arduino动手做寻迹的实验可以使用TCRT5000红外反射光电开关寻迹传感器模块。这个传感器模块可以通过检测周围的光反射来进行寻迹操作。你可以将这个模块连接到mBot的主控mCore V1.5的RJ25接口上,因为mBot的主控兼容Arduino系统,所以你可以使用Arduino编程语言来控制mBot进行寻迹操作。请参考【Arduino】168种传感器模块系列实验中的实验六十六,该实验详细介绍了如何使用TCRT5000红外反射光电开关寻迹传感器模块进行寻迹。祝你成功完成实验!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【雕爷学编程Arduino动手做(194)---makeblock mbot 主控2](https://blog.csdn.net/weixin_41659040/article/details/132141677)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [【雕爷学编程Arduino动手做(65)---红外寻迹传感器](https://blog.csdn.net/weixin_41659040/article/details/106604080)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

驴友花雕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值