gw1770df 发表于 2014-10-27 21:41:15

#!/bin/env python
# -*- coding:utf-8 -*-
# -------------------------------

import time
import RPi.GPIO as GPIO
import datetime as dt

# 初始化
# 需要注意输出与输入的接口
# 17为发射,18为接收
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
GPIO.setup(18, GPIO.IN)
GPIO.output(17, False)

while1:
   time.sleep(1)
   # IO 触发,给10us的高电平
   # 模块自动发送8个40khz的方波
   GPIO.output(17, GPIO.HIGH)
   time.sleep(0.00001)
   GPIO.output(17, GPIO.LOW)
   # 获取发射完毕时间
   t1 = time.time()
   # 未接收为False,循环检查开始接受点
   # 转为True为开始接受
   while GPIO.input(18) == False:
       pass
   # 循环检查开始接收,转为False。则为接受完毕
   while GPIO.input(18):
       pass
   # 获取接受完毕时间
   t2 = time.time()
   # 计算发送与接收时间差
   t3 = t2-t1
   print t3
   # 空气中1个标准大气压在温度15度时速度为340m/s
   # 所以按照一秒钟34000厘米计算
   # 根据硬件文档,该模块探测距离在2-400cm之间
   # 测试范围的时间间隔应该为0.000117到0.023529
   # 为了方便取值自行变化一点
   if 0.0235 > t3 > 0.00015:
       distance = t3*34000/2
       print 'Distance: %f cm' % distance
   else:
       print 'Null'

gw1770df 发表于 2014-10-27 21:41:17

#!/bin/env python
# -*- coding:utf-8 -*-
# -------------------------------

import time
import RPi.GPIO as GPIO
import datetime as dt

# 初始化
# 需要注意输出与输入的接口
# 17为发射,18为接收
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
GPIO.setup(18, GPIO.IN)
GPIO.output(17, False)

while1:
   time.sleep(1)
   # IO 触发,给10us的高电平
   # 模块自动发送8个40khz的方波
   GPIO.output(17, GPIO.HIGH)
   time.sleep(0.00001)
   GPIO.output(17, GPIO.LOW)
   # 获取发射完毕时间
   t1 = time.time()
   # 未接收为False,循环检查开始接受点
   # 转为True为开始接受
   while GPIO.input(18) == False:
       pass
   # 循环检查开始接收,转为False。则为接受完毕
   while GPIO.input(18):
       pass
   # 获取接受完毕时间
   t2 = time.time()
   # 计算发送与接收时间差
   t3 = t2-t1
   print t3
   # 空气中1个标准大气压在温度15度时速度为340m/s
   # 所以按照一秒钟34000厘米计算
   # 根据硬件文档,该模块探测距离在2-400cm之间
   # 测试范围的时间间隔应该为0.000117到0.023529
   # 为了方便取值自行变化一点
   if 0.0235 > t3 > 0.00015:
       distance = t3*34000/2
       print 'Distance: %f cm' % distance
   else:
       print 'Null'

gw1770df 发表于 2014-10-27 21:41:18

#!/bin/env python
# -*- coding:utf-8 -*-
# -------------------------------

import time
import RPi.GPIO as GPIO
import datetime as dt

# 初始化
# 需要注意输出与输入的接口
# 17为发射,18为接收
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
GPIO.setup(18, GPIO.IN)
GPIO.output(17, False)

while1:
   time.sleep(1)
   # IO 触发,给10us的高电平
   # 模块自动发送8个40khz的方波
   GPIO.output(17, GPIO.HIGH)
   time.sleep(0.00001)
   GPIO.output(17, GPIO.LOW)
   # 获取发射完毕时间
   t1 = time.time()
   # 未接收为False,循环检查开始接受点
   # 转为True为开始接受
   while GPIO.input(18) == False:
       pass
   # 循环检查开始接收,转为False。则为接受完毕
   while GPIO.input(18):
       pass
   # 获取接受完毕时间
   t2 = time.time()
   # 计算发送与接收时间差
   t3 = t2-t1
   print t3
   # 空气中1个标准大气压在温度15度时速度为340m/s
   # 所以按照一秒钟34000厘米计算
   # 根据硬件文档,该模块探测距离在2-400cm之间
   # 测试范围的时间间隔应该为0.000117到0.023529
   # 为了方便取值自行变化一点
   if 0.0235 > t3 > 0.00015:
       distance = t3*34000/2
       print 'Distance: %f cm' % distance
   else:
       print 'Null'

gw1770df 发表于 2014-10-27 21:41:19

#!/bin/env python
# -*- coding:utf-8 -*-
# -------------------------------

import time
import RPi.GPIO as GPIO
import datetime as dt

# 初始化
# 需要注意输出与输入的接口
# 17为发射,18为接收
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
GPIO.setup(18, GPIO.IN)
GPIO.output(17, False)

while1:
   time.sleep(1)
   # IO 触发,给10us的高电平
   # 模块自动发送8个40khz的方波
   GPIO.output(17, GPIO.HIGH)
   time.sleep(0.00001)
   GPIO.output(17, GPIO.LOW)
   # 获取发射完毕时间
   t1 = time.time()
   # 未接收为False,循环检查开始接受点
   # 转为True为开始接受
   while GPIO.input(18) == False:
       pass
   # 循环检查开始接收,转为False。则为接受完毕
   while GPIO.input(18):
       pass
   # 获取接受完毕时间
   t2 = time.time()
   # 计算发送与接收时间差
   t3 = t2-t1
   print t3
   # 空气中1个标准大气压在温度15度时速度为340m/s
   # 所以按照一秒钟34000厘米计算
   # 根据硬件文档,该模块探测距离在2-400cm之间
   # 测试范围的时间间隔应该为0.000117到0.023529
   # 为了方便取值自行变化一点
   if 0.0235 > t3 > 0.00015:
       distance = t3*34000/2
       print 'Distance: %f cm' % distance
   else:
       print 'Null'

gw1770df 发表于 2014-10-27 21:41:21

#!/bin/env python
# -*- coding:utf-8 -*-
# -------------------------------

import time
import RPi.GPIO as GPIO
import datetime as dt

# 初始化
# 需要注意输出与输入的接口
# 17为发射,18为接收
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
GPIO.setup(18, GPIO.IN)
GPIO.output(17, False)

while1:
   time.sleep(1)
   # IO 触发,给10us的高电平
   # 模块自动发送8个40khz的方波
   GPIO.output(17, GPIO.HIGH)
   time.sleep(0.00001)
   GPIO.output(17, GPIO.LOW)
   # 获取发射完毕时间
   t1 = time.time()
   # 未接收为False,循环检查开始接受点
   # 转为True为开始接受
   while GPIO.input(18) == False:
       pass
   # 循环检查开始接收,转为False。则为接受完毕
   while GPIO.input(18):
       pass
   # 获取接受完毕时间
   t2 = time.time()
   # 计算发送与接收时间差
   t3 = t2-t1
   print t3
   # 空气中1个标准大气压在温度15度时速度为340m/s
   # 所以按照一秒钟34000厘米计算
   # 根据硬件文档,该模块探测距离在2-400cm之间
   # 测试范围的时间间隔应该为0.000117到0.023529
   # 为了方便取值自行变化一点
   if 0.0235 > t3 > 0.00015:
       distance = t3*34000/2
       print 'Distance: %f cm' % distance
   else:
       print 'Null'

gw1770df 发表于 2014-10-27 21:41:21

#!/bin/env python
# -*- coding:utf-8 -*-
# -------------------------------

import time
import RPi.GPIO as GPIO
import datetime as dt

# 初始化
# 需要注意输出与输入的接口
# 17为发射,18为接收
GPIO.setmode(GPIO.BCM)
GPIO.setup(17, GPIO.OUT)
GPIO.setup(18, GPIO.IN)
GPIO.output(17, False)

while1:
   time.sleep(1)
   # IO 触发,给10us的高电平
   # 模块自动发送8个40khz的方波
   GPIO.output(17, GPIO.HIGH)
   time.sleep(0.00001)
   GPIO.output(17, GPIO.LOW)
   # 获取发射完毕时间
   t1 = time.time()
   # 未接收为False,循环检查开始接受点
   # 转为True为开始接受
   while GPIO.input(18) == False:
       pass
   # 循环检查开始接收,转为False。则为接受完毕
   while GPIO.input(18):
       pass
   # 获取接受完毕时间
   t2 = time.time()
   # 计算发送与接收时间差
   t3 = t2-t1
   print t3
   # 空气中1个标准大气压在温度15度时速度为340m/s
   # 所以按照一秒钟34000厘米计算
   # 根据硬件文档,该模块探测距离在2-400cm之间
   # 测试范围的时间间隔应该为0.000117到0.023529
   # 为了方便取值自行变化一点
   if 0.0235 > t3 > 0.00015:
       distance = t3*34000/2
       print 'Distance: %f cm' % distance
   else:
       print 'Null'

donghang 发表于 2014-10-29 18:42:14

a

sinodate 发表于 2014-10-31 18:15:48

学习一下经验!

sinodate 发表于 2014-10-31 18:16:01

学习一下经验!

我不知哦 发表于 2014-11-5 14:42:26

去了支持楼主
页: 1 2 3 4 5 6 7 [8] 9 10 11 12 13 14 15 16 17
查看完整版本: 树莓派使用ULN2003 驱动板和28BYJ-48-5V减速步进电机 详细教程