python樹莓派紅外反射傳感器
本文實(shí)例為大家分享了python樹莓派紅外反射傳感器的程序,供大家參考,具體內(nèi)容如下
1、工具
rpi3,微雪ARPI600,Infrared Reflective Sensor
2、基本原理
Infrared Reflective Sensor 輸出數(shù)字和模擬信號(hào)
模擬信號(hào)通過ARPI600上的AD轉(zhuǎn)換芯片TLC1543進(jìn)行轉(zhuǎn)換
TLC1543通信使用rpi的GPIO口,模擬SPI,進(jìn)行模擬信號(hào)輸入端口選擇,和輸出讀取
程序通過讀取DOUT判斷與障礙物接近和遠(yuǎn)離
在接近障礙物時(shí)讀取AD轉(zhuǎn)換數(shù)值
3、連接實(shí)物
4、python程序(根據(jù)ARPI600提供程序修改)
#!/usr/bin/python # -*- coding:utf-8 -*- import RPi.GPIO as GPIO import time Clock = 16 Address = 20 DataOut = 21 DOUT = 17 def ADC_Read(channel): value = 0; for i in range(0,4): if((channel >> (3 - i)) & 0x01): GPIO.output(Address,GPIO.HIGH) else: GPIO.output(Address,GPIO.LOW) GPIO.output(Clock,GPIO.HIGH) GPIO.output(Clock,GPIO.LOW) for i in range(0,6): GPIO.output(Clock,GPIO.HIGH) GPIO.output(Clock,GPIO.LOW) time.sleep(0.001) for i in range(0,10): GPIO.output(Clock,GPIO.HIGH) value <<= 1 if(GPIO.input(DataOut)): value |= 0x01 GPIO.output(Clock,GPIO.LOW) return value GPIO.setmode(GPIO.BCM) GPIO.setwarnings(False) GPIO.setup(Clock,GPIO.OUT) GPIO.setup(Address,GPIO.OUT) GPIO.setup(DataOut,GPIO.IN,GPIO.PUD_UP) GPIO.setup(DOUT,GPIO.IN) lastdata = 2 try: while True: data = GPIO.input(DOUT) if lastdata and (lastdata == 1): continue if data == 0: print 'Near the Obstacles' print 'AD: %d ' % ADC_Read(6) if data == 1: print 'Far the Obstacles' lastdata = data time.sleep(0.1) except: GPIO.cleanup()
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 為什么說python更適合樹莓派編程
- 樹莓派升級(jí)python的具體步驟
- python3實(shí)現(xiàn)raspberry pi(樹莓派)4驅(qū)小車控制程序
- python3實(shí)現(xiàn)網(wǎng)頁版raspberry pi(樹莓派)小車控制
- Python樹莓派學(xué)習(xí)筆記之UDP傳輸視頻幀操作詳解
- 樹莓派4B+opencv4+python 打開攝像頭的實(shí)現(xiàn)方法
- 樹莓派使用python-librtmp實(shí)現(xiàn)rtmp推流h264的方法
- 樹莓派與PC端在局域網(wǎng)內(nèi)運(yùn)用python實(shí)現(xiàn)即時(shí)通訊
- 樹莓派采用socket方式文件傳輸(python)
- 樹莓派用python中的OpenCV輸出USB攝像頭畫面
- Python+樹莓派+YOLO打造一款人工智能照相機(jī)
- 在樹莓派2或樹莓派B+上安裝Python和OpenCV的教程
- Python實(shí)現(xiàn)樹莓派攝像頭持續(xù)錄像并傳送到主機(jī)的步驟
相關(guān)文章
Django的用戶模塊與權(quán)限系統(tǒng)的示例代碼
這篇文章主要介紹了Django的用戶模塊與權(quán)限系統(tǒng)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07使用Python導(dǎo)出Excel圖表以及導(dǎo)出為圖片的方法
這篇文章主要介紹了使用Python導(dǎo)出Excel圖表以及導(dǎo)出為圖片的方法,Python相關(guān)模塊在Windows下操作office非常方便,需要的朋友可以參考下2015-11-11Python 機(jī)器學(xué)習(xí)之線性回歸詳解分析
回歸是監(jiān)督學(xué)習(xí)的一個(gè)重要問題,回歸用于預(yù)測(cè)輸入變量和輸出變量之間的關(guān)系,特別是當(dāng)輸入變量的值發(fā)生變化時(shí),輸出變量的值也隨之發(fā)生變化。回歸模型正是表示從輸入變量到輸出變量之間映射的函數(shù)2021-11-11Python多項(xiàng)式回歸的實(shí)現(xiàn)方法
這篇文章主要介紹了Python多項(xiàng)式回歸的實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-03-03python自動(dòng)化unittest yaml使用過程解析
這篇文章主要介紹了python自動(dòng)化unittest yaml使用過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02Python中列表元素轉(zhuǎn)為數(shù)字的方法分析
這篇文章主要介紹了Python中列表元素轉(zhuǎn)為數(shù)字的方法,結(jié)合實(shí)例形式對(duì)比分析了Python列表操作及數(shù)學(xué)運(yùn)算的相關(guān)技巧,需要的朋友可以參考下2016-06-06Python操作MySQL數(shù)據(jù)庫的兩種方式實(shí)例分析【pymysql和pandas】
這篇文章主要介紹了Python操作MySQL數(shù)據(jù)庫的兩種方式,結(jié)合實(shí)例形式分析了Python使用pymysql和pandas模塊進(jìn)行mysql數(shù)據(jù)庫的連接、增刪改查等操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-03-03在Ubuntu 20.04中安裝Pycharm 2020.1的圖文教程
這篇文章主要介紹了在Ubuntu 20.04中安裝Pycharm 2020.1的圖文教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04Selenium?三種等待方式(強(qiáng)制等待、隱式等待、顯示等待)
這篇文章主要介紹了Selenium?三種等待方式(強(qiáng)制等待、隱式等待、顯示等待),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02