最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

3_樹莓派機載計算機的硬件資源樣例教程——無名創(chuàng)新

2022-02-26 23:46 作者:無名創(chuàng)新開源無人機EDU  | 我要投稿

樹莓派機載計算機的硬件資源使用樣例教程

樣例程序所在目錄、Visual Studio Code程序導入與程序運行

執(zhí)行樹莓派硬件資源使用demo的前提是,用戶已經使用NoMachine或者VNC Viewer遠程登陸系統(tǒng)桌面,也可以直接通過樹莓派4B上的Micro HDMI接口擴展連接顯示屏,可以根據實際顯示屏接口自行購買Micro HDMI轉HDMI/VGA轉換線。當局域網網絡不穩(wěn)定時,有線連接的方式會極大的提升開發(fā)效率,同時此方式也需要配備一組無線鍵盤、鼠標用于操作ubuntu系統(tǒng)。

進入系統(tǒng)桌面后,鼠標右鍵cindy的主文件夾,其中用戶只有操作的文件放在rpi_python_opencv、catkin_ws、autostart三個文件夾下,

其中rpi_python_opencv用于存放樹莓派硬件資源使用的樣例程序、基于Python開發(fā)的OPENCV機器視覺基礎與進階樣例

打開ubuntu桌面的visual studio code軟件,點擊左上角文件,選中rpi_python_opencv文件下后,點擊確定后導入所有文件。

visual studio code會進入以下界面,用戶直接在VS code軟件中,編寫python程序,對于已安裝的第三方庫會自動補全相關變量或函數。

1、GPIO口驅動RGB燈

在VS code下方命令窗口中(也可以CTRL+ALT+T在用cd命令進入該目錄下),依次輸入如下命令既可以觀察gpio控制板載RGB的效果,其中RGB燈為共陰方式,高電平亮低電平滅。

cindy@cindy-desktop:~/rpi_python_opencv$ ls -l 總用量 44 drwxrwxr-x 2 cindy cindy ?4096 1月 ? 9 02:39 1樹莓派資源樣例 drwxrwxr-x 4 cindy cindy ?4096 1月 ?13 18:31 2機器視覺基礎例程 drwxrwxr-x 4 cindy cindy ?4096 1月 ?15 04:31 3機器視覺進階例程 -rw-rw-r-- 1 cindy cindy 15080 2月 ?11 21:33 main.py -rw-rw-r-- 1 cindy cindy 14531 1月 ? 8 22:53 main.pybackup cindy@cindy-desktop:~/rpi_python_opencv$ cd 1樹莓派資源樣例/ cindy@cindy-desktop:~/rpi_python_opencv/1樹莓派資源樣例$ ls -l 總用量 56 -rw-rw-r-- 1 cindy cindy ?1250 2月 ?24 21:21 1_gpio_rgb.py -rw-rw-r-- 1 cindy cindy ?2081 1月 ? 8 17:43 2_hardwave_pwm.py -rw-rw-r-- 1 cindy cindy ? 951 1月 ? 8 17:10 3_uart_send.py -rw-rw-r-- 1 cindy cindy ? 945 1月 ? 8 18:01 4_uart_receive_and_send.py -rw-rw-r-- 1 cindy cindy ?2480 1月 ? 9 02:04 5_i2c_mpu6050.py -rw-rw-r-- 1 cindy cindy ? 839 1月 ? 9 02:28 6_i2c_oled_1306_image.py -rw-rw-r-- 1 cindy cindy ?2342 1月 ? 9 14:24 7_i2c_oled_1306_draw.py -rw-r--r-- 1 cindy cindy 24629 1月 ? 9 05:25 happycat_oled_64.ppm

最后運行1_gpio_rgb.py,程序運行的效果是RGB燈三色依次閃爍,并屏幕打印提示端口和運行狀態(tài)。

python3 1_gpio_rgb.py

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-xk98cOF3-1645889851215)(/image-20220224213340462.png)]

執(zhí)行CTAL+C終止程序運行

2、硬件PWM的使用

預留出來的可用PWM口有四路,四個PWM口是GPIO12、GPIO13、GPIO18、GPIO19依次對應PWM0、PWM1、PWM2、PWM3,其中PWM0、PWM1兩路PWM口與串口4的TXD、RXD復用,當初始化GPIO18、GPIO19為PWM口后,再需要將GPIO18、GPIO19用作串口時,必須重新啟動樹莓派系統(tǒng)。程序中通過pwm0_1_enable變量來控制PWM0、PWM1是否使用。

運行2_hardwave_pwm.py,程序運行的效果是輸出頻率為1000hz的PWM波,占空比從0100%,然后從100%0,用戶可以將PWM口接示波器、外接RGB燈或者萬用表測平均電壓的方式來觀察PWM輸出效果。

python3 2_hardwave_pwm.py

3、串口發(fā)送

擴展板引出了全部用戶可用的5組串口,5組串口已經在樹莓派系統(tǒng)啟動配置文件中使能開啟,用戶可以直接使用,避免了傳統(tǒng)ubuntu系統(tǒng)通過外接usb轉ttl模塊擴展串口資源的方式,降低了接線復查程度。用戶可以在命令窗口中執(zhí)行ls -l /dev/ttyAMA*命令來查看可用的串口設備。

同時用戶可以執(zhí)行cutecom調用cutecom串口調試工具對串口進行相關操作

在提供的示例中,默認操作的是UART4,用戶也可以調整串口參數,更改成其它串口或者波特率等。

運行3_uart_send.py,程序運行的效果是輸出串口打印“Hello,World”,用戶可以外接usb轉ttl模塊,通過串口調試助手觀察發(fā)送的數據。

python3 3_uart_send.py

4、串口接收并發(fā)送

本例程利用串口inWaiting()函數查詢串口緩沖區(qū)數據長度,利用read()方法讀取緩沖區(qū)數據,最后將接收到的數據通過write()方法發(fā)送出來,實現接收數據并轉發(fā)回顯的效果。

python3 4_uart_receive_and_send.py

5、I2C讀取MPU6050數據

本例程利用I2C1口,掛載MPU6050設備,通過SMBus第三方庫讀取MPU6050數據,ubuntu系統(tǒng)啟動文件中,已經對I2C硬件資源配置進行了使能,用戶可以像單片機I2C編程一樣直接使用I2C資源。同時當采用C/C++編程時可以采用wiringpi庫對I2C資源進行編程。

樹莓派系統(tǒng)查看I2C外設可以利用i2c-tools工具包執(zhí)行如下指令實現。

sudo i2cdetect -y 1

可以看到I2C外設中存在地址未0x0e、0x68、0x76三組I2C設備,查詢數據手冊可知0x68即為MPU6050的地址,另外兩組為IST8310磁力計、SPL06氣壓計的地址。查詢I2C外設寄存器數據可以通過命令行:sudo i2cdump -y 1 0x68

寄存器寫操作可以通過執(zhí)行命令

sudo i2cset -y 1 0x68 0x6B 0x00 sudo i2cset -y 1 0x68 0x19 0x00 sudo i2cset -y 1 0x68 0x1A 0x02 sudo i2cset -y 1 0x68 0x1B 0x08 sudo i2cset -y 1 0x68 0x1C 0x10 最后執(zhí)行 sudo i2cdump -y 1 0x68 對比前后對應寄存器地址數據是否變化

同時用戶可以查看單個寄存器地址中的數據,例如讀取傳感器ID信息who am i寄存器信息,執(zhí)行命令如下:

sudo i2cget -y 1 0x68 0x75

以上操作是利用i2c_tools工具包對I2C外設進行操作,提供的demo是讀取MPU6050溫度、加速度、陀螺儀數據,并通過串口打印顯示出來,執(zhí)行本例程需要確保I2C端口存在MPU6050外設,否則回導致I2C設備硬件讀取出錯。執(zhí)行程序命令如下:

python3 5_i2c_mpu6050.py

6、I2C掛載SSD1306顯示屏顯示圖像

本例程利用I2C1口,掛載SSD1306顯示屏,利用Adafruit_SSD1306庫函數實現圖形顯示,執(zhí)行命令如下:

python3 6_i2c_oled_1306_image.py


7、I2C掛載SSD1306顯示屏顯示字符

本例程利用I2C1口,掛載SSD1306顯示屏,首先利用PIL庫生成ImageDraw方法,運用此方法在自定義圖像中添加字符、數字等內容,最后用Adafruit_SSD1306圖形顯示函數刷新顯示出來。本例程調用了python3中subprocess 模塊,查看系統(tǒng)IP、運存、內存等信息,這部分內容初學者不需要了解。本例程執(zhí)行命令如下:

python3 7_i2c_oled_1306_draw.py

方法,運用此方法在自定義圖像中添加字符、數字等內容,最后用Adafruit_SSD1306圖形顯示函數刷新顯示出來。本例程調用了python3中subprocess 模塊,查看系統(tǒng)IP、運存、內存等信息,這部分內容初學者不需要了解。本例程執(zhí)行命令如下:

python3 7_i2c_oled_1306_draw.py


3_樹莓派機載計算機的硬件資源樣例教程——無名創(chuàng)新的評論 (共 條)

分享到微博請遵守國家法律
肥乡县| 定日县| 南乐县| 民县| 婺源县| 曲阜市| 湘乡市| 紫金县| 图们市| 印江| 化州市| 安乡县| 航空| 隆安县| 武鸣县| 纳雍县| 武冈市| 宜兴市| 黔西县| 九龙城区| 衡阳县| 当涂县| 彝良县| 班戈县| 阳泉市| 云阳县| 乐安县| 牙克石市| 张北县| 长武县| 涿鹿县| 山丹县| 文山县| 商都县| 华亭县| 勃利县| 绥棱县| 永仁县| 高邮市| 故城县| 偏关县|