爬蟲最近搞不懂動了
為了畢設,開始弄一下樹莓派
為了圖方便,先摸了摸scratch圖形編程,雖然自己也會C++和Python,
有圖形編程在前,后面的就很好理解了,先開第一章,努力寫好樹莓派和傳感器的日志(不敢說教程,太菜了),
嵌入式第一條!針腳定義要知道
針腳定義圖:

C++用得wiringPi模塊,所以用的是wiringPi Pin對應的針腳;Scratch用的是BCM;Python有setmode()函式,所以用Header那一列實際物理管腳給GPIO口就可以了,
這是本節用的接線方式,底下是個面包板,當然了,你可以選擇直接每個杜邦線插在樹莓派上對應的針腳也是一樣的,
接線示意圖:

沒有擴展板的對應針管示意圖:

LED燈圖:

RGB分別接G17,G18,G27,GND接地(就是0V)(因為我這個轉接板用得是BCM編碼,所以我這里針腳號是BCM GPIO對應那一列號),
1.Scratch

2.Python
(先按 Ctrl+C停止子函式的呼叫,再點程式停止,否則程式會直接關閉,忘了把所有針腳占空比改為0)
import RPi.GPIO as GPIO
import time
makerobo_pins = (11,12,13) # PIN管腳字典
GPIO.setmode(GPIO.BOARD) # 采用實際的物理管腳給GPIO口
GPIO.setwarnings(False) # 去除GPIO口警告
GPIO.setup(makerobo_pins, GPIO.OUT) # 設定Pin模式為輸出模式
GPIO.output(makerobo_pins, GPIO.LOW) # 設定Pin管腳為低電平(0V)關閉LED
p_R = GPIO.PWM(makerobo_pins[0], 2000) # 設定頻率為2KHz
p_G = GPIO.PWM(makerobo_pins[1], 2000) # 設定頻率為2KHz
p_B = GPIO.PWM(makerobo_pins[2], 2000)
# 初始化占空比為0(led關閉)
p_R.start(0)
p_G.start(0)
p_B.start(0)
def makerobo_set_Color():
p_R.ChangeDutyCycle(100) # 改變占空比
time.sleep(0.5)
p_R.ChangeDutyCycle(0)
p_G.ChangeDutyCycle(100) # 改變占空比
time.sleep(0.5)
p_G.ChangeDutyCycle(0)
p_B.ChangeDutyCycle(100) # 改變占空比
time.sleep(0.5)
p_B.ChangeDutyCycle(0)
# 呼叫回圈函式
def makerobo_loop():
while True:
makerobo_set_Color()
# 釋放資源
def makerobo_destroy():
p_G.stop()
p_R.stop()
GPIO.output(makerobo_pins, GPIO.LOW) # 關閉所有LED
GPIO.cleanup() # 釋放資源
# 程式入口
if __name__ == "__main__":
try:
makerobo_loop() # 呼叫回圈函式
except KeyboardInterrupt: # 當按下Ctrl+C時,將執行destroy()子程式,
makerobo_destroy() # 釋放資源
3.C++還在學習中
4.BlockPi
這是一個比Scratch3還要強大的開源專案,圖形化編程超級爽!
介紹和簡單安裝
以及
作者大大的知乎專欄
這個在你給完圖形編程的同時,有對應的Python代碼生成,多的我就不多贊述了,搭積木的快樂~
比Scratch內的樹莓派模塊強大很多
直接上圖:

與之對應生成的代碼:
from gpiozero import *
from colorzero import Color
import time
rgbled = None
rgbled = RGBLED(17, 18, 27)
rgbled.on()
for count in range(10):
rgbled.color = Color('#ff0000')
time.sleep(1)
rgbled.color = Color('#009900')
time.sleep(1)
rgbled.color = Color('#3333ff')
time.sleep(1)
continue
rgbled.close()
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/257640.html
標籤:其他
