python 크 랜 베 리 파 적외선 반사 센서

본 논문 의 사례 는 python 트 리 베 리 파 적외선 반사 센서 의 프로그램 을 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
1.도구
rpi 3,미 설 ARPI 600,적외선 반사 센서
2.기본 원리
Infrared Reflective Sensor 출력 디지털 및 아 날로 그 신호
아 날로 그 신 호 는 ARPI 600 에 있 는 AD 변환 칩 TLC 1543 을 통 해 변환 된다.
TLC 1543 통신 은 rpi 의 GPIO 포트 를 사용 하여 SPI 를 모 의 신호 입력 포트 선택 과 출력 읽 기 를 합 니 다.
프로그램 은 DOUT 를 읽 어서 장애물 과 접근 하고 멀리 떨 어 진 것 을 판단 합 니 다.
장애물 에 접근 할 때 AD 변환 수 치 를 읽 습 니 다.
3.실물 연결

4.python 프로그램(ARPI 600 제공 프로그램 에 따라 수정)

#!/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()
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기