最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

樹莓派中python獲取GY-85九軸模塊信息示例

 更新時間:2013年12月05日 08:59:35   作者:  
本文內(nèi)容是樹莓派中python獲取GY-85九軸模塊信息的示例,這里使用Python的curses包開發(fā)cli窗口程序,用來實時刷新傳感器的讀數(shù),下面看代碼

先看效果圖

GY-85.py:

復制代碼 代碼如下:

#!/usr/bin/python3
# -*- coding: utf-8 -*-
import curses
from time import *
from i2clibraries import i2c_itg3205, i2c_adxl345, i2c_hmc5883l

#==========================================================
#                       GY-85傳感器監(jiān)控
#==========================================================


def displayITG3205(screen, col, temp, x, y, z):
    """
    顯示ITG3205讀數(shù)的方法
    """
    screen.addstr(1, col, "%.1f°℃    " % temp)
    screen.addstr(2, col, "%.1f°/s    " % x)
    screen.addstr(3, col, "%.1f°/s    " % y)
    screen.addstr(4, col, "%.1f°/s    " % z)

def displayADXL345(screen, col, x, y, z):
    """
    顯示ADXL345讀數(shù)的方法
    """
    screen.addstr(1, col, "%.2fmg    " % x)
    screen.addstr(2, col, "%.2fmg    " % y)
    screen.addstr(3, col, "%.2fmg    " % z)

def displayHMC5883L(screen, col, heading, declination, x, y, z):
    """
    顯示MC5883L讀數(shù)的方法
    """
    screen.addstr(1, col, heading + "   ")
    screen.addstr(2, col, declination + "   ")
    screen.addstr(3, col, "%.2f   " % x)
    screen.addstr(4, col, "%.2f   " % y)
    screen.addstr(5, col, "%.2f   " % z)


try:
    myscreen = curses.initscr() #初始化curses
    myscreen.border(0)
    (screen_h, screen_w) = myscreen.getmaxyx() #獲得屏幕高寬
    curses.start_color() #設置顏色
    curses.init_pair(1, curses.COLOR_BLACK, curses.COLOR_GREEN) #綠底黑字
    curses.init_pair(2, curses.COLOR_RED, curses.COLOR_BLACK) #白底藍字
    curses.init_pair(3, curses.COLOR_MAGENTA,curses.COLOR_BLACK) #黑底什么字

    myscreen.clear() #清除畫布

    # 計算每塊的坐標, 屏幕分3列, 每列顯示一個傳感器
    col1 = screen_w / 3 * 0
    col2 = screen_w / 3 * 1
    col3 = screen_w / 3 * 2

    # 屏幕橫向分三塊,每塊中間寫上標題
    myscreen.addstr(0, int(col1 + screen_w / 3 / 2 - 3), "IGT3205", curses.color_pair(1))
    myscreen.addstr(0, int(col2 + screen_w / 3 / 2 - 4), "ADXL345", curses.color_pair(1))
    myscreen.addstr(0, int(col3 + screen_w / 3 / 2 - 4), "HMC5883L", curses.color_pair(1))


    #畫分割線,把屏幕分為3列
    for col in range(1, screen_h):
        myscreen.addstr(col, int(col2), "│")
        myscreen.addstr(col, int(col3), "│")

    # 事先打印IGT3205的各項值的名稱
    myscreen.addstr(1, int(col1), "Temp:", curses.color_pair(2))
    myscreen.addstr(2, int(col1), "X   :", curses.color_pair(2))
    myscreen.addstr(3, int(col1), "Y   :", curses.color_pair(2))
    myscreen.addstr(4, int(col1), "z   :", curses.color_pair(2))

    # 事先打印ADXL345的各項值的名稱
    myscreen.addstr(1, int(col2) + 1, "X:", curses.color_pair(2))
    myscreen.addstr(2, int(col2) + 1, "Y:", curses.color_pair(2))
    myscreen.addstr(3, int(col2) + 1, "z:", curses.color_pair(2))

    # 事先打印HMC5883L的各項值的名稱
    myscreen.addstr(1, int(col3) + 1, "Heading:    ", curses.color_pair(2))
    myscreen.addstr(2, int(col3) + 1, "Declination:", curses.color_pair(2))
    myscreen.addstr(3, int(col3) + 1, "X:          ", curses.color_pair(2))
    myscreen.addstr(4, int(col3) + 1, "Y:          ", curses.color_pair(2))
    myscreen.addstr(5, int(col3) + 1, "z:          ", curses.color_pair(2))

    # 初始化傳感器
    itg3205 = i2c_itg3205.i2c_itg3205(0)

    adxl345 = i2c_adxl345.i2c_adxl345(0)

    hmc5883l = i2c_hmc5883l.i2c_hmc5883l(0)
    hmc5883l.setContinuousMode() #設置為持續(xù)更新模式
    hmc5883l.setDeclination(9,54) #設置真北磁偏角補償

    while True:
        #讀取itg3205數(shù)據(jù)
        (itgready, dataready) = itg3205.getInterruptStatus()   
        if dataready:
            temp = itg3205.getDieTemperature()
            (x, y, z) = itg3205.getDegPerSecAxes()
            displayITG3205(myscreen, 6, temp, x, y, z) #刷新畫布

        #讀取adxl345數(shù)據(jù)
        (x, y, z) = adxl345.getAxes()
        displayADXL345(myscreen, int(col2) + 4, x, y, z) #刷新畫布

        #讀取hmc5883l數(shù)據(jù)
        (x, y, z) = hmc5883l.getAxes()
        heading = hmc5883l.getHeadingString() #獲取指向角度
        declination = hmc5883l.getDeclinationString() #獲取磁偏角補償信息
        displayHMC5883L(myscreen, int(col3) + 13, heading, declination, x, y, z) #刷新畫布

        myscreen.refresh() #應用畫布
        sleep(0.1) #暫停0.1秒

    myscreen.getch()

finally:
    curses.endwin()

  • Python中__str__()的妙用

    Python中__str__()的妙用

    本文主要介紹了Python中__str__()的妙用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • matplotlib教程——強大的python作圖工具庫

    matplotlib教程——強大的python作圖工具庫

    這篇文章主要介紹了python matplotlib的相關資料,幫助大家更好的利用python matplotlib庫繪制圖表,感興趣的朋友可以了解下
    2020-10-10
  • Python基于Webhook實現(xiàn)github自動化部署

    Python基于Webhook實現(xiàn)github自動化部署

    這篇文章主要介紹了Python基于Webhook實現(xiàn)github自動化部署,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • Python使用folium excel繪制point

    Python使用folium excel繪制point

    今天小編就為大家分享一篇關于Python使用folium excel繪制point,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • python 處理telnet返回的More,以及get想要的那個參數(shù)方法

    python 處理telnet返回的More,以及get想要的那個參數(shù)方法

    今天小編就為大家分享一篇python 處理telnet返回的More,以及get想要的那個參數(shù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • python列表嵌套引發(fā)的問題總結(jié)

    python列表嵌套引發(fā)的問題總結(jié)

    這篇文章主要介紹了python列表嵌套引發(fā)的問題總結(jié),下面問文章引發(fā)問題來自日常工作總結(jié),具有一定的參考價值需要的小伙伴可以參考一下
    2022-05-05
  • 使用Python實現(xiàn)文字轉(zhuǎn)語音并生成wav文件的例子

    使用Python實現(xiàn)文字轉(zhuǎn)語音并生成wav文件的例子

    今天小編就為大家分享一篇使用Python實現(xiàn)文字轉(zhuǎn)語音并生成wav文件的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • python根據(jù)路徑導入模塊的方法

    python根據(jù)路徑導入模塊的方法

    這篇文章主要介紹了python根據(jù)路徑導入模塊的方法,分析了傳統(tǒng)方法與改進方法,具有一定的實用價值,需要的朋友可以參考下
    2014-09-09
  • python opencv人臉識別考勤系統(tǒng)的完整源碼

    python opencv人臉識別考勤系統(tǒng)的完整源碼

    這篇文章主要介紹了python opencv人臉識別考勤系統(tǒng)的完整源碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • 最新評論

    无锡市| 东乡| 西昌市| 琼结县| 扬中市| 永靖县| 平邑县| 来宾市| 南皮县| 祁门县| 拉孜县| 秭归县| 丹阳市| 普格县| 汝州市| 鹤壁市| 东至县| 汉寿县| 南平市| 衢州市| 通州市| 通州区| 濮阳市| 维西| 砀山县| 鹤峰县| 保靖县| 汶上县| 获嘉县| 哈巴河县| 新乐市| 米脂县| 安岳县| 清新县| 陈巴尔虎旗| 邹城市| 沽源县| 白沙| 商丘市| 方山县| 太康县|