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之做一个小游戏
Sep 28 Python
python编写简单爬虫资料汇总
Mar 22 Python
Python循环语句中else的用法总结
Sep 11 Python
Python入门_浅谈数据结构的4种基本类型
May 16 Python
python装饰器深入学习
Apr 06 Python
tensorflow实现简单的卷积神经网络
May 24 Python
解决Python 中英文混输格式对齐的问题
Jul 16 Python
基于Python打造账号共享浏览器功能
May 30 Python
Python利用pandas处理Excel数据的应用详解
Jun 18 Python
pygame实现俄罗斯方块游戏(基础篇3)
Oct 29 Python
Python pip配置国内源的方法
Feb 14 Python
Python答题卡识别并给出分数的实现代码
Jun 22 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
上海地方志办公室-上海电子仪表工业志
2021/03/04 无线电
用PHP和ACCESS写聊天室(三)
2006/10/09 PHP
php对gzip文件或者字符串解压实例参考
2008/07/25 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
2019/05/09 PHP
贴一个在Mozilla中常用的Javascript代码
2007/01/09 Javascript
js 数组克隆方法 小结
2010/03/20 Javascript
jquery根据name属性查找的小例子
2013/11/21 Javascript
详解jquery中$.ajax方法提交表单
2014/11/03 Javascript
zepto.js中tap事件阻止冒泡的实现方法
2015/02/12 Javascript
jquery实现的缩略图预览滑块实例
2015/06/25 Javascript
js判断浏览器类型及设备(移动页面开发)
2015/07/30 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
AJAX实现瀑布流触发分页与分页触发瀑布流的方法
2016/05/23 Javascript
JavaScript中捕获与冒泡详解及实例
2017/02/03 Javascript
Angular 4依赖注入学习教程之ClassProvider的使用(三)
2017/06/04 Javascript
JS分页的实现(同步与异步)
2017/09/16 Javascript
vue 使用Jade模板写html,stylus写css的方法
2018/02/23 Javascript
不得不知的ES6小技巧
2018/07/28 Javascript
JS实现移动端触屏拖拽功能
2018/07/31 Javascript
nodejs之koa2请求示例(GET,POST)
2018/08/07 NodeJs
云服务器部署Node.js项目的方法步骤(小白系列)
2020/03/23 Javascript
python调用机器喇叭发出蜂鸣声(Beep)的方法
2015/03/23 Python
python中的闭包用法实例详解
2015/05/05 Python
Flask框架的学习指南之制作简单blog系统
2016/11/20 Python
解决Python2.7读写文件中的中文乱码问题
2018/04/12 Python
Python实现图片添加文字
2019/11/26 Python
Python操作MongoDb数据库流程详解
2020/03/05 Python
新加坡交友网站:be2新加坡
2019/04/10 全球购物
中医专业应届生求职信
2013/11/17 职场文书
简易离婚协议书(范本)
2014/10/25 职场文书
土木工程毕业答辩开场白
2015/05/29 职场文书
2016党校学习心得体会范文
2016/01/07 职场文书
2016七夕情人节广告语
2016/01/28 职场文书
Idea连接MySQL数据库出现中文乱码的问题
2021/04/14 MySQL
Python作用域和名称空间的详细介绍
2022/04/13 Python
微信小程序 根据不同用户切换不同TabBar
2022/04/21 Javascript