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 字典dict使用介绍
Nov 30 Python
使用Pyrex来扩展和加速Python程序的教程
Apr 13 Python
将Python的Django框架与认证系统整合的方法
Jul 24 Python
Python实现新浪博客备份的方法
Apr 27 Python
python如何实现反向迭代
Mar 20 Python
opencv实现图片模糊和锐化操作
Nov 19 Python
Python 编程速成(推荐)
Apr 15 Python
浅谈python图片处理Image和skimage的区别
Aug 04 Python
Python CSV文件模块的使用案例分析
Dec 21 Python
Python 找出出现次数超过数组长度一半的元素实例
May 11 Python
python在CMD界面读取excel所有数据的示例
Sep 28 Python
理解深度学习之深度学习简介
Apr 14 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 IP及IP段进行访问限制的代码
2008/12/17 PHP
PHP判断表单复选框选中状态完整例子
2014/06/24 PHP
php几个预定义变量$_SERVER用法小结
2014/11/07 PHP
使用phpstorm和xdebug实现远程调试的方法
2015/12/29 PHP
PHP示例演示发送邮件给某个邮箱
2019/04/03 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
PHP7 整型处理机制修改
2021/03/09 PHP
在修改准备发的批量美化select+可修改select时,在非IE下发现了几个问题
2007/01/09 Javascript
封装的jquery翻页滚动(示例代码)
2013/11/18 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
2014/06/30 Javascript
流量统计器如何鉴别C#:WebBrowser中伪造referer
2015/01/07 Javascript
不同js异步函数同步的实现方法
2016/05/28 Javascript
Vue.js 表单校验插件
2016/08/14 Javascript
vue省市区三联动下拉选择组件的实现
2017/04/28 Javascript
ionic 自定义弹框效果
2017/06/27 Javascript
bootstrap table合并行数据并居中对齐效果
2018/10/17 Javascript
vue 兄弟组件的信息传递的方法实例详解
2019/08/30 Javascript
Python常用的日期时间处理方法示例
2015/02/08 Python
在Python的Flask框架中构建Web表单的教程
2016/06/04 Python
python数据结构之列表和元组的详解
2017/09/23 Python
python 初始化一个定长的数组实例
2019/12/02 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
2020/03/30 Python
Keras loss函数剖析
2020/07/06 Python
在pycharm中文件取消用 pytest模式打开的操作
2020/09/01 Python
python切片作为占位符使用实例讲解
2021/02/17 Python
基于CSS3实现的黑色个性导航菜单效果
2015/09/14 HTML / CSS
施华洛世奇天猫官方旗舰店:SWAROVSKI
2017/04/17 全球购物
Ajax实现页面无刷新留言效果
2021/03/24 Javascript
辩论赛主持词
2014/03/18 职场文书
社区交通安全实施方案
2014/03/22 职场文书
小学生运动会报道稿
2014/09/12 职场文书
校本培训个人总结
2015/02/28 职场文书
培训简讯范文
2015/07/20 职场文书
初一语文教学反思
2016/03/03 职场文书
详解JS ES6编码规范
2021/05/07 Javascript
Redis 彻底禁用RDB持久化操作
2021/07/09 Redis