人工智慧 樹莓派小車(4) 通過語音玩轉智慧型小車

2021-08-15 20:09:49 字數 2942 閱讀 6247

核心**

完整**

系列教程

content = u』雲端下發directive:%s』 % (directive_content)

content裡即為我們要讀取的命令資料,是一種類json格式,所以有兩種辦法將資料讀取出來。

1. 採用json的字典格式

import json

with

open('out.json','a') as f:

f.write(json.loads(content).decode('unicode-escape').encode('utf-8'))

f.close()

2.直接將資料儲存為.txt格式

f = open("ord.txt",'a')

f.write(content)

logging.info(content)

def

recognize

(): file = '/home/pi/rascar-dueros-python-client/ord.txt'

# 讀取檔案

f = open(file,'r')

out = f.read()

command = out.decode('unicode-escape').encode('utf-8')

print command

gpio.output(led_ctr, gpio.low)

############################################

###############命令識別######################

############################################

if command.find(u"開") !=-1

and command.find(u"大") !=-1

and command.find(u"燈") !=-1:

print

"開啟前大燈"

robot.open_flight()

gpio.output(led_ctr, gpio.high)

elif command.find(u"關") !=-1

and command.find(u"大") !=-1

and command.find(u"燈") !=-1:

print

"關閉前大燈"

robot.close_flight()

gpio.output(led_ctr, gpio.high)

elif command.find(u"前") !=-1

and command.find(u"進") !=-1:

print

"前進"

robot.motor_forward()

time.sleep(2)

robot.motor_stop()

gpio.output(led_ctr, gpio.high)

elif command.find(u"後") !=-1

and command.find(u"退") !=-1:

print

"後退"

robot.motor_backward()

time.sleep(2)

robot.motor_stop()

gpio.output(led_ctr, gpio.high)

elif command.find(u"左") !=-1

and command.find(u"轉") !=-1:

print

"左轉"

robot.motor_turnleft()

p = gpio.pwm(11, 3)

p.start(20)

time.sleep(0.5)

p.stop()

robot.motor_stop()

gpio.output(11, gpio.low)

gpio.output(led_ctr, gpio.high)

elif command.find(u"右") !=-1

and command.find(u"轉") !=-1:

print

"右轉"

robot.motor_turnright()

p = gpio.pwm(8, 3)

p.start(20)

time.sleep(0.5)

p.stop()

robot.motor_stop()

gpio.output(8, gpio.low)

gpio.output(led_ctr, gpio.high)

elif command.find(u"黑") !=-1

and command.find(u"線") !=-1:

print

"黑線"

robot.trackline()

return

其中gpio介面的設定以及初始化,見人工智慧-樹莓派小車-gpio控制小車

最後要養成良好習慣,用完gpio介面記得清理gpio口

gpio.cleanup()

為避免命令檔案堆積,每次識別命令結束後,進行命令檔案的清理,**很簡單。

f = open("ord.txt",'w')

f.truncate()

f.close()

這部分整合到了第二部分命令判斷中,判斷完立即進行反饋。

所有的**都上傳到了我的github上

rascar-dueros

— a raspberry intelligent car based on the dueros

樹莓派 4 尋跡小車

學習的時候百分之99參考了這篇文章 yzy 1996 方法 樹莓派小車自動循跡 攝像頭 具體內容都在裡面了,因為我用的是l298n電機驅動模組,所以是用enab來控制pwm的,所以適當更改一下 因為我是在辦公室地面,不像他一樣有顏色清楚的軌道,所以修改了二值化型別和腐蝕膨脹的順序係數 import ...

使用樹莓派製作智慧型小車

小車的控制最主要有兩方面的控制,乙個是小車的前後左右的運動控制,乙個是攝像頭的拍攝 上下左右轉運的控制。複製 coding utf 8 import rpi.gpio as gpio import time 小車電機引腳定義 leftin1 20 leftin2 21 leftspeed 16 ri...

人工智慧三大派

話說人工智慧有三派 第一派 學工派 理論與實踐相結合派 第二派 學術派 裝逼吹牛派 第三派 工程派 實踐派 本人認為 三個派各有所長,無論你現在處於哪個派只要努力都可成為第一派,但是如果你是從工程派到第一派,那麼你就是實踐與理論相結合,這樣的就相當於牛頓發現萬有引力是一樣的。學術派發展到第一派,相當...