python树莓派红外反射传感器


Posted in Python onJanuary 21, 2019

本文实例为大家分享了python树莓派红外反射传感器的程序,供大家参考,具体内容如下

1、工具

rpi3,微雪ARPI600,Infrared Reflective Sensor

2、基本原理

Infrared Reflective Sensor 输出数字和模拟信号

模拟信号通过ARPI600上的AD转换芯片TLC1543进行转换

TLC1543通信使用rpi的GPIO口,模拟SPI,进行模拟信号输入端口选择,和输出读取

程序通过读取DOUT判断与障碍物接近和远离

在接近障碍物时读取AD转换数值

3、连接实物

python树莓派红外反射传感器

4、python程序(根据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()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python struct模块解析
Jun 12 Python
python字典DICT类型合并详解
Aug 17 Python
Python数据结构与算法之二叉树结构定义与遍历方法详解
Dec 12 Python
wxPython的安装图文教程(Windows)
Dec 28 Python
分数霸榜! python助你微信跳一跳拿高分
Jan 08 Python
Python、 Pycharm、Django安装详细教程(图文)
Apr 12 Python
Python Numpy 实现交换两行和两列的方法
Jun 26 Python
Python整数对象实现原理详解
Jul 01 Python
使用Filter过滤python中的日志输出的实现方法
Jul 17 Python
Python爬虫使用代理IP的实现
Oct 27 Python
详解Django admin高级用法
Nov 06 Python
Alpine安装Python3依赖出现的问题及解决方法
Dec 25 Python
python实现自动解数独小程序
Jan 21 #Python
python 将对象设置为可迭代的两种实现方法
Jan 21 #Python
python 实现敏感词过滤的方法
Jan 21 #Python
python执行精确的小数计算方法
Jan 21 #Python
详解安装mitmproxy以及遇到的坑和简单用法
Jan 21 #Python
python dict 相同key 合并value的实例
Jan 21 #Python
关于python之字典的嵌套,递归调用方法
Jan 21 #Python
You might like
php 操作符与控制结构
2012/03/07 PHP
PHP读取RSS(Feed)简单实例
2014/06/12 PHP
护卫神php套件 php版本升级方法(php5.5.24)
2015/05/10 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
2020/04/13 PHP
js function使用心得
2010/05/10 Javascript
原来Jquery.load的方法可以一直load下去
2011/03/28 Javascript
Javascript Request获取请求参数如何实现
2012/11/28 Javascript
javascript生成json数据简单示例分享
2014/02/14 Javascript
javascript对中文按照拼音排序代码
2014/08/20 Javascript
详解JavaScript的另类写法
2016/04/11 Javascript
vue插件tab选项卡使用小结
2016/10/27 Javascript
node.js实现的装饰者模式示例
2017/09/06 Javascript
jQuery实现简单的下拉菜单导航功能示例
2017/12/07 jQuery
vue-router history模式下的微信分享小结
2018/07/05 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
利用python模拟实现POST请求提交图片的方法
2017/07/25 Python
python逆向入门教程
2018/01/15 Python
wxPython之解决闪烁的问题
2018/01/15 Python
Python2包含中文报错的解决方法
2018/07/09 Python
python实现换位加密算法的示例
2018/10/14 Python
简单了解Pandas缺失值处理方法
2019/11/16 Python
python numpy--数组的组合和分割实例
2020/02/24 Python
scrapy头部修改的方法详解
2020/12/06 Python
波比布朗英国官网:Bobbi Brown英国
2017/11/13 全球购物
Lovedrobe官网:英国领先的大码服装品牌
2019/09/19 全球购物
伦敦最受欢迎的蛋糕店:Konditor & Cook
2019/11/01 全球购物
酒店管理自荐信
2013/10/23 职场文书
简历自我评价怎么写好呢?
2014/01/04 职场文书
十八届三中全会感言
2014/03/10 职场文书
公司法定代表人授权委托书
2014/09/29 职场文书
2015年高校图书馆工作总结
2015/04/30 职场文书
给老师的保证书怎么写
2015/05/09 职场文书
2015年乡镇财政工作总结
2015/05/19 职场文书
朋友聚会开场白
2015/06/01 职场文书
MySQL数据库 安全管理
2022/05/06 MySQL