差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
gps [2023/07/24 09:48]
lijiran [5. 参考案例]
gps [2023/07/25 09:40] (当前版本)
lijiran [5. 参考案例]
行 6: 行 6:
 --- ---
 {{ :​wiki:​lalalalala.png?​300 |}} {{ :​wiki:​lalalalala.png?​300 |}}
 +
 GPS模块是一种在手机或者机器的主板上结合的无线芯片模块,可以和GPS联络,从而实现定位和导航。 GPS模块是一种在手机或者机器的主板上结合的无线芯片模块,可以和GPS联络,从而实现定位和导航。
  
行 84: 行 85:
   - [[https://​github.com/​traccar/​traccar|https://​github.com/​traccar/​traccar]]   - [[https://​github.com/​traccar/​traccar|https://​github.com/​traccar/​traccar]]
  
 +
 +下面是一项使用RP2040作为主控芯片,驱动中科微电子的ATGM336H型号的传感器的参考案例,通过UART进行传感器与主控之间的数据通信,当有数据回传回来时,将数据按照指定的流程分割好,找到其中的GPS坐标,并且通过ssd1306芯片驱动的OLED屏幕打印出来,主控芯片与OLED屏幕通过SPI协议进行数据通信。
 +
 +
 +---
 +效果如图所示:
 +{{ :​微信图片_20230725093622.jpg?​300 |}}
  
  
行 93: 行 101:
     import framebuf     import framebuf
     from utime import sleep_ms     from utime import sleep_ms
- 
     spi1_mosi = 11     spi1_mosi = 11
     spi1_sck = 10     spi1_sck = 10
行 99: 行 106:
     spi1_rstn = 8     spi1_rstn = 8
     spi1_cs = 16     spi1_cs = 16
- 
     spi = SPI(1, 100000, mosi=Pin(spi1_mosi),​ sck=Pin(spi1_sck))     spi = SPI(1, 100000, mosi=Pin(spi1_mosi),​ sck=Pin(spi1_sck))
     oled = SSD1306_SPI(128,​ 64, spi, Pin(spi1_dc),​Pin(spi1_rstn),​ Pin(spi1_cs))     oled = SSD1306_SPI(128,​ 64, spi, Pin(spi1_dc),​Pin(spi1_rstn),​ Pin(spi1_cs))
     uart1 = UART(1, baudrate=9600,​ tx=Pin(4), rx=Pin(5))     uart1 = UART(1, baudrate=9600,​ tx=Pin(4), rx=Pin(5))
- 
     flag = 0     flag = 0
- 
     class GPS():     class GPS():
-    ​ 
         buff = bytearray(270)         buff = bytearray(270)
-    ​ 
         def __init__(self):​         def __init__(self):​
             self.a = 0             self.a = 0
行 128: 行 130:
                         self.array2 = buff[7:44]                         self.array2 = buff[7:44]
                         if self.array2[-1] == 44: ##ascii value ',' ​                         if self.array2[-1] == 44: ##ascii value ',' ​
- 
                             flag = 1                             flag = 1
- 
                             print(flag)                             print(flag)
- 
                             oled.fill(0)                             oled.fill(0)
                             oled.show()                             oled.show()
行 138: 行 137:
                             oled.text(self.array2[23:​-1],​0,​32)                             oled.text(self.array2[23:​-1],​0,​32)
                             oled.show()                             oled.show()
-  
- 
     gps = GPS()     gps = GPS()
- 
- 
     while 1:     while 1:
-    ​ 
         gps.read_and_process()         gps.read_and_process()