这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » 【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040Connect

共4条 1/1 1 跳转至

【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板

助工
2024-12-13 11:59:14   被打赏 47 分(兑奖)     打赏

感谢EEPW提供的“换取逻辑分析仪”活动,本次分享的是最近打样的一个Arduino官方开发板的LCD扩展板。

硬件:

主开发板:Nano RP2040 Connect  https://docs.arduino.cc/hardware/nano-rp2040-connect/#features

image.png

LCD扩展板:Pico LCD 1.14 https://www.waveshare.com/wiki/Pico-LCD-1.14  

image.png

下图展示的是微雪的屏幕扩展板与树莓派PICO的接口图。

image.png

image.png

接下来的第一步就是找到微雪开发板与树莓派PICO的引脚关系,然后再找到对应到Arduino Nano RP2040 Connect的引脚。

image.png


有一点需要注意,Arduino Nano RP2040 Connect开发板的VUSB引脚与JP2扩展接口实际上默认是未焊接状态。因此需要手工焊接上去。

image.png

设计原理图与PCB:

JLC标准版,设计简单的连接。

image.png

主控板是Arduino Nano的尺寸,DY方向间距:15.24mm,DX方向间距:2.54mm

image.png


扩展板是树莓派PICO的尺寸:

                                image.png   



两层如下:

image.png

3D展示:

image.png


打样回来的板子:

image.png

搭建开发环境与屏幕驱动:

接下来Arduino IDE 2以上版本,安装开发板驱动:

image.png

选择板卡:

image.png

使用的屏幕驱动是:


#include <Adafruit_GFX.h>    // Core graphics library
#include <Adafruit_ST7789.h> // Hardware-specific library for ST7789
#include <SPI.h>

指定屏幕SPI相关引脚:


  #define TFT_CS    D10  // Chip select control pin
  #define TFT_RST   D4   // Reset pin (could connect to Arduino RESET pin)
  #define TFT_DC    D12   // Data Command control pin
  #define TFT_MOSI  D11
  #define TFT_SCLK  D13

  #define TFT_MISO  D15

核心代码:

void setup(void) {
  Serial.begin(9600);
  Serial.print(F("Hello! ST77xx TFT Test"));

  // OR use this initializer (uncomment) if using a 1.14" 240x135 TFT:
  tft.init(135, 240);           // Init ST7789 240x135
  
  // SPI speed defaults to SPI_DEFAULT_FREQ defined in the library, you can override it here
  // Note that speed allowable depends on chip and quality of wiring, if you go too fast, you
  // may end up with a black screen some times, or all the time.
  //tft.setSPISpeed(40000000);

  Serial.println(F("Initialized"));

  uint16_t time = millis();
  tft.fillScreen(ST77XX_BLACK);
  time = millis() - time;

  Serial.println(time, DEC);
  delay(500);

  // large block of text
  tft.fillScreen(ST77XX_BLACK);
  testdrawtext("HELLO THERE Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur adipiscing ante sed nibh tincidunt feugiat. Maecenas enim massa, fringilla sed malesuada et, malesuada sit amet turpis. Sed porttitor neque ut ante pretium vitae malesuada nunc bibendum. Nullam aliquet ultrices massa eu hendrerit. Ut sed nisi lorem. In vestibulum purus a tortor imperdiet posuere. ", ST77XX_WHITE);
  delay(1000);

  // tft print function!
  tftPrintTest();
  delay(4000);

  // a single pixel
  tft.drawPixel(tft.width()/2, tft.height()/2, ST77XX_GREEN);
  delay(500);

  // line draw test
  testlines(ST77XX_YELLOW);
  delay(500);

  // optimized lines
  testfastlines(ST77XX_RED, ST77XX_BLUE);
  delay(500);

  testdrawrects(ST77XX_GREEN);
  delay(500);

  testfillrects(ST77XX_YELLOW, ST77XX_MAGENTA);
  delay(500);

  tft.fillScreen(ST77XX_BLACK);
  testfillcircles(10, ST77XX_BLUE);
  testdrawcircles(10, ST77XX_WHITE);
  delay(500);

  testroundrects();
  delay(500);

  testtriangles();
  delay(500);

  mediabuttons();
  delay(500);

  Serial.println("done");
  delay(1000);
}

编译代码:

image.png

实物验证:

D972FA7D-4F90-4DF5-9364-5DD6B560EF14-14204-000000EBD12CE59E.gif









院士
2024-12-16 16:05:21     打赏
2楼

这就是DIY精神~~

扩展,扩展


助工
2024-12-24 09:25:23     打赏
3楼

感谢分享


工程师
2024-12-25 10:09:57     打赏
4楼

感谢分享


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]