라즈베리파이, LED와 초음파센서 DB저장
2019. 9. 7. 00:21
Programing/Raspberry Pi)
라즈베리파이, 초음파 센서를 이용해 초음파센서에 물체가 다가오면 LED 작동하고 그 시간을 DB에 저장한다
이하 DB저장까지 코드
import RPi.GPIO as gpio
import time
import sys
import warnings
import sqlite3
from datetime import datetime
warnings.filterwarnings('ignore')
#sql
table = "inout_"
sqlselect = "select * from "+table
con = sqlite3.connect("INOUT_DATA.db")
cur = con.cursor()
#____
LED = 4
TRIGER = 24
ECHO = 23
gpio.setmode(gpio.BCM)
gpio.setup(TRIGER, gpio.OUT)
gpio.setup(ECHO,gpio.IN)
gpio.setup(LED, gpio.OUT)
startTime = time.time()
try:
while True:
gpio.output(TRIGER,gpio.LOW)
time.sleep(0.1)
gpio.output(TRIGER,gpio.HIGH)
time.sleep(0.00002)
gpio.output(TRIGER,gpio.LOW)
while gpio.input(ECHO) == gpio.LOW:
startTime = time.time()
while gpio.input(ECHO) == gpio.HIGH:
endTime = time.time()
period = endTime - startTime
dist1 = round(period * 1000000 / 58, 2)
dist2 = round(period * 17241, 2)
try:
if dist2 <= 20:
print('error124')
gpio.output(LED, gpio.HIGH)
time.sleep(1)
gpio.output(LED, gpio.LOW)
time.sleep(1)
cur.execute("insert into " + table + " (Date) VALUES(\""+str(datetime.now())+"\")")
con.commit()
cur.execute(sqlselect)
print("1\t2")
print("______")
while (True):
row = cur.fetchone()
if row == None:
break;
print(row[0], row[1])
except KeyboardInterrupt:
print("error")
print('Dist1', dist1, 'cm', ', Dist2', dist2, 'cm')
con.close()
except KeyboardInterrupt:
gpio.cleanup()
sys.exit()
'Programing > Raspberry Pi)' 카테고리의 다른 글
Raspberry Pi - OpenCV 설치 (0) | 2019.12.23 |
---|---|
TCP Rasspberry Pi Python and Android Client (0) | 2019.09.21 |
라즈베리파이 Python [초음파센서, LED. 접근하면 Right On] (0) | 2019.09.05 |
라즈베리파이 Ultra 예제 (0) | 2019.09.05 |
라즈베리파이 LED예제 (0) | 2019.09.05 |