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代码使其加快作用域内的查找
Mar 30 Python
简洁的十分钟Python入门教程
Apr 03 Python
Python查找函数f(x)=0根的解决方法
May 07 Python
Python单例模式实例详解
Mar 01 Python
Windows系统下多版本pip的共存问题详解
Oct 10 Python
Linux系统(CentOS)下python2.7.10安装
Sep 26 Python
python读取txt文件中特定位置字符的方法
Dec 24 Python
只需7行Python代码玩转微信自动聊天
Jan 27 Python
使用Python实现跳一跳自动跳跃功能
Jul 10 Python
用Python解数独的方法示例
Oct 24 Python
sklearn和keras的数据切分与交叉验证的实例详解
Jun 19 Python
Python面向对象之成员相关知识总结
Jun 24 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 mysql数据库操作分页类
2008/06/04 PHP
php下利用curl判断远程文件是否存在的实现代码
2011/10/08 PHP
深入php函数file_get_contents超时处理的方法详解
2013/06/03 PHP
thinkphp模板赋值与替换实例简述
2014/11/24 PHP
linux中cd命令使用详解
2015/01/08 PHP
php数组添加与删除单元的常用函数实例分析
2015/02/16 PHP
Laravel 5 框架入门(一)
2015/04/09 PHP
ThinkPHP安装和设置
2015/07/27 PHP
php处理单文件、多文件上传代码分享
2016/08/24 PHP
laravel如何开启跨域功能示例详解
2017/08/31 PHP
PHP中OpenSSL加密问题整理
2017/12/14 PHP
AJAX的跨域与JSONP(为文章自动添加短址的功能)
2010/01/17 Javascript
JS验证控制输入中英文字节长度(input、textarea等)具体实例
2013/06/21 Javascript
Javascript获取CSS伪元素属性的实现代码
2014/09/28 Javascript
js获取当前时间显示在页面上并每秒刷新
2014/12/24 Javascript
js实现双击图片放大单击缩小的方法
2015/02/17 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
2015/03/13 Javascript
js获取文件里面的所有文件名(实例)
2017/10/17 Javascript
JS回调函数简单易懂的入门实例分析
2019/09/29 Javascript
[02:44]2014DOTA2 国际邀请赛中国区预选赛 大神红毯秀
2014/05/25 DOTA
[02:17]2016完美“圣”典风云人物:Sccc专访
2016/12/03 DOTA
[04:32]玩具屠夫中文语音节选
2020/08/23 DOTA
对于Python的Django框架部署的一些建议
2015/04/09 Python
Python中用于转换字母为小写的lower()方法使用简介
2015/05/19 Python
详解Python中的Cookie模块使用
2015/07/06 Python
python3.4 将16进制转成字符串的实例
2019/06/12 Python
python算法与数据结构之冒泡排序实例详解
2019/06/22 Python
Django操作session 的方法
2020/03/09 Python
Python爬虫实现百度翻译功能过程详解
2020/05/29 Python
哥伦比亚最大的网上商店:Linio哥伦比亚
2016/09/25 全球购物
Myprotein加拿大官网:欧洲第一的运动营养品牌
2018/01/06 全球购物
新闻专业学生的自我评价
2014/02/13 职场文书
网络营销策划方案
2014/06/04 职场文书
个人务虚会发言材料
2014/10/20 职场文书
三好学生主要事迹怎么写
2015/11/03 职场文书
十大好看的穿越动漫排名:《瑞克和莫蒂》第一,国漫《有药》在榜
2022/03/18 日漫