差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
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() | ||