国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

MicroPython-GPS教程之TPYBoardv702控制5110顯示當前經緯度

發布時間:2017-10-11 13:31    發布者:bodasister
  一、關于TPYBoardV702

  TPYBoardV702是目前市面上唯一支持通信定位功能的MicroPython開發板:支持Python3.0及以上版本直接運行。支持GPS+北斗雙模定位、GPRS通信、短信功能、電話功能;板載溫濕度、光敏、三軸加速度傳感器、蜂鳴器、LCD5110顯示屏。免費提供定位測試服務平臺。實物如下圖:


  二、利用TPYBoardV702完成所在地溫濕度及亮度數據采集

  1、具體要求

  利用TPYBoardV702完成所在地經緯度采集,并在5110顯示屏上顯示

  2、所需器件

  TPYBoardV702開發板一塊

  5110顯示屏一塊

  TPYBoardV702開發板板載定位功能,無需外接

  3、板載定位功能及使用介紹

  V702的開發板的整體整體亮點就是能進行定位,可以獲取到當前所在地的經緯度,高度,時間等等的一些信息。在這個實驗里面我們就要用到獲取經緯度這一功能。

  這個開發板上主要的硬件功能已嵌入到了開發板上,使用起來非常方便,我們只需要進行簡單的設置操作就能獲取到經緯度,然后再進行數據解析,分割以及數據轉換等處理,就可以得到我們想要的經度和緯度了,之后我們在使用顯示屏把經緯度顯示出來就完成了在開發板上顯示經緯度了。下面來具體的說一下制作的過程。

  三、制作主要過程

  先上個圖,下面再開始說代碼的問題。


  1、制作過程

  (1)首選我們需要做的是把5100顯示屏插到702開發板的5110顯示屏接口處;

  (2)在上面工作完成后,我們這里需要用到主要的類庫,5110的類庫,我們需要把這個類庫的.py文件拷貝到開發板的盤符中;

  (3)完成以上工作后,我們開始main().py文件代碼的編輯;

  (4)對需要用到的類庫進行聲明和定義;

  (5)把需要把我們需要使用的變量進行一下定義;

  (6)把我們需要用到的接口進行聲明和定義,這里我們主要用到了spi1和串口4這兩個接口,聲明串口4的時候,需要把串口波特率設置為115200;

  (7)下面開始主函數的編寫,這個實驗里面我們用到了顯示,我們在程序的開始部分先進行顯示部分的初始化;

  (8)完成顯示部分初始化之后,我們需要做一個最重要的事情,那就是定義“Y6”引腳為輸出,然后把:“Y6”引腳拉低兩秒以上,之后把此引腳拉高。因為“Y6”引腳是控制整個板載定位系統開啟的開關,如果平時我們沒有用到定位系統的話,為了節省功耗,板載定位系統是處于關閉狀態的,需要使用時只需要拉低“Y6”引腳兩秒以上;

  (9)當看到開發板上的紅色直插LED燈快速閃爍的時候,說明板載定位系統正在啟動,當這個紅色直插指示燈結束快閃(指示燈處于慢閃或者熄滅狀態)說明板載定位系統已經啟動;

  (10)完成以上工作后,我們的準工作就已經完成了,剩下需要做的就是通過串口4發送相應的指令,獲取相應的數據,再把相應的數據進行數據轉換,并顯示到顯示屏上即可。

  2、具體代碼:


  1. import pyb
  2. import upcd8544
  3. from machine import SPI,Pin
  4. from pyb import UART
  5. from ubinascii import hexlify
  6. from ubinascii import *


  7. leds = [pyb.LED(i) for i in range(1,5)]
  8. P,L,SHUCHU=0,0,0
  9. SPI = pyb.SPI(1) #DIN=>X8-MOSI/CLK=>X6-SCK
  10. #DIN =>SPI(1).MOSI 'X8' data flow (Master out, Slave in)
  11. #CLK =>SPI(1).SCK  'X6' SPI clock
  12. RST    = pyb.Pin('X20')
  13. CE     = pyb.Pin('X19')
  14. DC     = pyb.Pin('X18')
  15. LIGHT  = pyb.Pin('X17')
  16. lcd_5110 = upcd8544.PCD8544(SPI, RST, CE, DC, LIGHT)
  17. count_=0
  18. N2 = Pin('Y3', Pin.OUT_PP)
  19. N1 = Pin('Y6', Pin.OUT_PP)#定義板載定位系統開關引腳為輸出
  20. N1.low()
  21. pyb.delay(2000)
  22. N1.high()
  23. pyb.delay(10000)#通過拉低和拉高開關引腳的電平,啟動板載定位系統
  24. u2 = UART(4, 115200)#定義串口4,設置波特率為115200
  25. i='0'
  26. w=0
  27. d=0
  28. q=0
  29. G=0
  30. j=0
  31. def DataConver(str_,flag):#預先編寫數據處理函數,方便后期數據處理
  32.     wei_=float(str_)/100
  33.     wei_arr=str(wei_).split('.')
  34.     val_=100000
  35.     if flag==0:#緯度
  36.         val_=10000
  37.     wei_arr[1]=str(float(wei_arr[1])/60*val_).replace('.','')
  38.     weidu=wei_arr[0]+'.'+wei_arr[1]
  39.     return weidu
  40. while True:
  41.     pyb.LED(2).on()
  42.     G=G+1
  43.     u2.write('AT+GPSLOC=1\r\n')#通過串口發送指令,命令板載定位系統進行搜星操作
  44.     pyb.delay(3000)
  45.     _dataRead=u2.readall()
  46.     print('搜星=',_dataRead)#延時,給系統搜星反應時間,提高搜星效率,并打印搜星結果
  47.     pyb.delay(1000)
  48.     u2.write('AT+GPSLOC=0\r\n')#通過串口發送獲取經緯度的指令,命令板載定位系統進行                                                         #經緯度獲取
  49.     pyb.delay(200)
  50.     print('BEIDOU')
  51.     _dataRead=u2.readall()#保存串口獲取到的經緯度數據,如果定位信號不好,返回數據可                                           #能全部為零,這個情況會導致定位周期延長
  52.     if _dataRead!=None:
  53.         print('原始數據=',_dataRead)
  54.         print('原始數據長度:',len(_dataRead))
  55.         if 60
  56.             _dataRead = _dataRead.decode('utf-8')
  57.             _dataRead1=_dataRead.split(',')#把數據轉成'utf-8'格式,并且把數據按照“,”分                                                                          #隔開
  58.             print('數據=',_dataRead1)
  59.             print(len(_dataRead1),'***')
  60.             if len(_dataRead1)>4:#判斷數據轉換出來的數組數據長度(或者說是數組的元                                                          #素個數)作為進行數據轉換的開始
  61. #*******************緯度計算********************
  62.                 weidu=_dataRead1[1]
  63.                 WD=DataConver(weidu,0)
  64. #*******************經度計算********************
  65.                 jingdu=_dataRead1[2]
  66.                 JD=DataConver(jingdu,1)#利用我們上面做好的數據轉換函數,把數據也轉                                                                         #換成我們可以正常使用的格式
  67. #***********************時間************************
  68.     lcd_5110.lcd_write_string('JINGDU:',0,0)
  69.     lcd_5110.lcd_write_string(str(JD),0,1)
  70.     lcd_5110.lcd_write_string('WEIDU:',0,2)
  71.     lcd_5110.lcd_write_string(str(WD),0,3)#利用5110顯示屏類庫中的顯示函數,進行數據顯                                                                        #示
復制代碼


本文地址:http://m.qingdxww.cn/thread-517623-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 利用SAM E54 Xplained Pro評估工具包演示CAN轉USB橋接器以及基于CAN的主機和自舉程序應用程序
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成年人视频在线观看免费 | 四虎网站入口 | 4438x全国最大成人网 | 精品小视频在线 | 九九热精品免费观看 | 国产免费观看a大片的网站 国产免费高清在线精品一区 | 嫩草成人影院 | 国产精品久久久久久麻豆一区 | 在线天堂在线 | 特级片网站 | 日本成人不卡视频 | 久久福利资源站免费观看i 久久福利资源网站免费看 久久福利影院 | 日韩在线一区二区三区视频 | 国产一级a毛片高清 | 欧美精品片在线观看网站 | 99热这里都是国产精品 | 日韩中文字幕视频 | 91在线免费公开视频 | 美女脱了内裤张开腿让女人添软件 | avtt男人天堂 | 国产精品观看 | 欧美香蕉视频在线观看 | 最新欧美精品 | 高清色黄毛片一级毛片 | 国产精品国产三级国产专不∫ | 在线私拍国产福利精品 | 九九小视频 | 欧美另类杂交a | 四虎精品视频在线永久免费观看 | 色屋网| 国产一级淫片免费播放 | 亚洲国产精品成人久久 | 亚洲欧洲淘宝天堂日本 | 日本精品国产 | 亚洲欧美日韩高清中文在线 | 12至16末成年毛片 | 91视频官网 | 欧美亚洲尤物久久精品 | 欧美一区二区精品系列在线观看 | 欧美又粗又长 | 日韩欧美一区二区三区不卡在线 |