精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

行空板入門教程第一課:初識行空板

創客生活 ? 來源:創客生活 ? 作者:創客生活 ? 2022-03-30 16:44 ? 次閱讀

行空板是什么?

大家可能在之前都沒聽說行空板,但你可能聽過micro:bit、掌控板亦或者是樹莓派。行空板是一款由DFRobot專為Python編程教育而設計的開源硬件,是一塊有著樹莓派級別性能,如micro:bit一樣簡單易上手,可以運行完整Python程序的神奇的板子!

下面,讓我們來開啟行空板之旅的第一節課吧!

任務目標
在行空板屏幕上顯示文字和表情。

行空板

知識點
1、認識行空板
2、認識unihiker庫
3、學習使用unihiker庫書寫文字、添加表情的方法
4、學習在行空板屏幕上顯示程序效果的方法

材料清單
硬件清單:

行空板Type-C&Micro二合一USB線


行空板x1
Type-C&Micro二合一USB線x1

**軟件使用:**Mind+編程軟件x1

知識儲備
1、什么是行空板
行空板又稱UNIHIKER,它是一款國產教學用開源硬件,它自帶Linux操作系統和Python環境,還預裝了常用的Python庫,能夠輕松勝任各種編程相關的開發場景,如搭建物聯網系統、體驗人工智能應用、編寫電子游戲、進行科學實驗、設計聲光互動、開發可穿戴設備等。

同時,行空板作為智能終端設備,其板子本身采用微型計算機架構,集成LCD彩屏、WiFi藍牙、多種常用傳感器和豐富的拓展接口,如下圖所示,

行空板接口介紹

2、什么是Mind+
行空板和電腦間,我們可以用USB線這一硬件構建物理連接,但僅僅做到這一步就好比是買來了各式各樣的硬件、組裝好了電腦,但是沒有軟件無法使用這些硬件。那么要如何建立這兩者之間信息的連接呢?

答案便是Mind+!它為兩者架起了虛擬的橋梁,從而實現代碼的編寫燒錄、文件的傳輸、實時數據流的交互等功能。

Mind+是一款擁有自主知識產權的國產青少年編程軟件,集成各種主流主控板及上百種開源硬件,支持人工智能(AI)與物聯網(IoT)功能,既可以拖動圖形化積木編程,也可以使用Python/C/C++等高級編程語言,讓大家輕松體驗創造的樂趣。

3、什么是unihiker庫
unihiker庫是專門為了便于行空板的使用而開發的Python庫。我們可以借助unihike庫中的GUI類來實現屏幕顯示和控制,如顯示文字、表情、按鈕等,借助其中的Audio類來使用麥克風和外接喇叭,如錄制語音,檢測環境音量等。

在這里插入圖片描述

4、unihiker庫GUI類導入方法
當我們使用庫unihiker中的GUI類實現功能時,我們需要先導入庫中的這個模塊并通過實例化類的方式創建一個對象。
from unihiker import GUI # 導入unihiker庫GUI模塊
gui = GUI() # 實例化GUI類

5、unihiker庫GUI類通用知識及功能
(1)坐標系
行空板屏幕分辨率為240 x 320,坐標原點為屏幕左上角,向右為x軸正方向,向下為y軸正方向。為了便于使圖形等屏幕元素能夠顯示在指定位置,編程時我們可以通過設定x和y的坐標來實現。

坐標系

(2)對齊位置origin
行空板屏幕上所有的元素對象我們可稱之為控件。我們可通過設定x和y的坐標來確定它在屏幕上的位置,而為了便于確定控件對象自身在內部的相對方位,我們給控件本身設定9個對齊位置點,可以采用東南西北(ESWN)和上下左右(top/bottom/left/right)兩種方法標識。

對齊位置

方法一是以絕對的方位(東南西北)作為對齊位置點。

對齊位置點

例如,我們想以控件的北邊作為對齊點,使文字“行空板”顯示在南邊,方位就可以通過“origin=‘n’ ”指令來設置。
gui.draw_text(x = 120,y=160,text=“行空板”, origin=‘n’ )
方法二是以屏幕上相對的方位(上下左右)作為位置點。

相對方位位置點

例如,我們想以控件的頂端作為對齊點,使文字“行空板”顯示在底部,方位就可以通過“origin=‘top’ ”指令來設置。
gui.draw_text(x = 120,y=160,text=“行空板”, origin=‘top’ )

6、unihiker庫GUI類中的常見方法
GUI類中的方法有很多,我們只使用其中的一部分,在編程時,通過“對象.方法名()”的形式來實現功能。
(1)draw_text()方法顯示文字
GUI類中的draw_text()方法可以實現在行空板屏幕上顯示文字。
gui.draw_text(x=30, y=88, color=“red”, text=“你”, font_size=20, origin=‘top_left’ ) # 在(30,88)坐標位顯示文字“你”,顏色為red,大小為20,對齊方式為左上對齊”
其中,參數x和y分別表示文字所顯示的橫縱坐標位置,text指代要顯示的文字內容,font_size表示字體大小,origin指代對齊位置,默認左上角,color表示相應的字體顏色,這里的各個參數并非必須,僅在需要時添加。同時,在設置字體的顏色時有三種表示方法,如設置紅色,
?設置RGB值: color = (255,0,0)
?設置16進制值: color = “#ff0000”
?設置固定顏色: color = “red”

(2)draw_emoji()方法顯示表情

Gui類中的draw_emoji()方法可以實現在行空板屏幕上顯示表情。
gui.draw_emoji(x=120, y=230, w=100, h=100, emoji=“Wink”, duration=0.1,origin=“center”)
# 在(120,230)坐標位顯示內置表情“Wink”,圖片切換時間為0.1秒,中心對齊
其中,參數x和y分別表示表情所顯示的橫縱坐標位置,w和h表示表情的寬度和高度,按照長寬最小邊等比例縮放,emoji表示要顯示的具體表情名,可以使用內置表情(Angry,Nerve,Peace,Shock,Sleep,
Smile,Sweat,Think,Wink),duration表示圖片切換間隔時間,origin表示對齊位置,默認左上角。

動手實踐
任務描述1:顯示文字和表情
在行空板屏幕上顯示文字和表情。

1、硬件搭建
STEP1:通過USB連接線將行空板連接到計算機

USB連接行空板

2、程序編寫
在正式編寫程序代碼之前,我們首先要創建一個項目文件及Python程序文件。

STEP1:創建與保存項目文件
(1)啟動Mind+軟件,點擊右上角的“Python模式”,

Mind+軟件選擇Python模式

(2)點擊左上角“代碼”選擇編程方式,

選擇代碼編程方式

之后我們會看到下面這樣的屏幕,右側是文件目錄區,左側分別是代碼編寫區和終端區。

在這里插入圖片描述

(3)完成后,點擊左上方項目菜單中的“保存項目”,

在這里插入圖片描述

(4)在彈出的界面中選擇保存位置,輸入文件名“001、初識行空板”,保存類型“Mind+”
Tips:文件名稱可自取。

在這里插入圖片描述

經過上述四步,我們就成功創建并保存好項目文件啦,但是我們的項目是使用Python語言來實現的,因此,接下來我們還需要在項目文件中再創建Python程序文件。

STEP2:創建與保存Python文件
(1)找到文件目錄區域

在這里插入圖片描述

(2)新建Python程序文件,命名為“main.py”

在這里插入圖片描述

Tips:Python程序文件一定要以“.py”格式結尾才能進行編程,否則無法打開。

(3)打開文件
創建完成后,我們雙擊“main.py”文件即可對該文件在程序編寫區內進行編程,圖示如下。

在這里插入圖片描述

Step4:程序編寫
(1)導入所需功能庫
在這個任務中,我們需要使用unihiker庫中的GUI模塊來在屏幕上顯示文字,因此,我們首先需要導入它,代碼如下。同時,由于后續在保持程序運行時需要一定的延時,因此,我們還需導入time時間庫。
from unihiker import GUI # 導入unihiker庫GUI 模塊
import time # 導入時間庫

(2)實例化GUI類
在使用unihiker庫中的GUI模塊顯示文字和表情前,我們需要先實例化GUI類,來創建一個對象,以便使用該類中的各種方法。
gui = GUI() # 實例化GUI類,創建對象

(3)顯示文字
在屏幕上顯示文字時,我們可以設定各個文字的坐標位、顏色、內容、字體大小等不同的屬性參數,以使效果更佳。
gui.draw_text(x=30, y=88, color=“red”, text=“你”, font_size=20) # 在(30,88)坐標位顯示文字“你”,顏色為red,字體大小為20
gui.draw_text(x=60, y=88, color=“orange”, text=“好”, font_size=20,)
gui.draw_text(x=90, y=88, color=“yellow”, text=",", font_size=20)
gui.draw_text(x=120, y=88, color=“green”, text=“行”, font_size=20)
gui.draw_text(x=150, y=88, color=“cyan”, text=“空”, font_size=20)
gui.draw_text(x=180, y=88, color=“blue”, text=“板”, font_size=20)
gui.draw_text(x=210, y=88, color=“purple”, text="!", font_size=20)

gui.draw_text(x=15, y=150, color=(255,105,180), text=“Hello,”, font_size=20)
gui.draw_text(x=95, y=150, color=(0,191,255), text=“UNIHIKER!”, font_size=20)

(4)顯示表情
行空板屏幕可顯示的表情有很多,這里,我們選擇“Wink”將其呈現在文字下方。
gui.draw_emoji(x=120, y=230, w=100, h=100, emoji=“Wink”, duration=0.1,origin=“center”) # 在(120,230)坐標位顯示內置表情“Wink”,圖片切換時間為0.1秒,中心對齊

(5)保持內容顯示
最后,為了能夠保持屏幕內容的長久顯示,我們使程序處于運行狀態。
while True: # 循環
time.sleep(1) # delay1秒

Tips:完整示例程序如下:
from unihiker import GUI # 導入unihiker庫GUI 模塊
import time # 導入time庫

gui = GUI() # 實例化GUI類,創建對象

gui.draw_text(x=30, y=88, color=“red”, text=“你”, font_size=20) # 在(30,88)坐標位顯示文字“你”,顏色為red,字體大小為20
gui.draw_text(x=60, y=88, color=“orange”, text=“好”, font_size=20,)
gui.draw_text(x=90, y=88, color=“yellow”, text=",", font_size=20)
gui.draw_text(x=120, y=88, color=“green”, text=“行”, font_size=20)
gui.draw_text(x=150, y=88, color=“cyan”, text=“空”, font_size=20)
gui.draw_text(x=180, y=88, color=“blue”, text=“板”, font_size=20)
gui.draw_text(x=210, y=88, color=“purple”, text="!", font_size=20)

gui.draw_text(x=15, y=150, color=(255,105,180), text=“Hello,”, font_size=20)
gui.draw_text(x=95, y=150, color=(0,191,255), text=“UNIHIKER!”, font_size=20)

gui.draw_emoji(x=120, y=230, w=100, h=100, emoji=“Wink”, duration=0.1,origin=“center”) # 在(120,230)坐標位顯示內置表情“Wink”,圖片切換時間為0.1秒,中心對齊

while True: # 循環
time.sleep(1) # delay1秒

程序運行
STEP1:遠程連接行空板
(1)確認板子處于連接且開機狀態

在這里插入圖片描述

(2)開啟遠程連接終端

在這里插入圖片描述


在這里插入圖片描述

(3)連接行空板

在這里插入圖片描述


在這里插入圖片描述

Tip1:“遠程連接終端”只在開啟后可見。
Tip2:“10.1.2.3”為USB直連時的固定IP地址。

STEP2:點擊右上方的運行按鈕

在這里插入圖片描述

STEP3:觀察效果
觀察行空板,可以看到在屏幕上呈現出“你好,行空板!”以及“Hello,UNIHIKER!”的字樣,而在文字下方,則是一個“Wink”的表情。

在這里插入圖片描述

挑戰自我
1、試一試,用其他表情替換“Wink”,看看效果如何吧!
2、除了上述內容,你還有什么話想向行空板說呢,將它添加到屏幕上吧!

審核編輯:符乾江

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開源硬件
    +關注

    關注

    8

    文章

    205

    瀏覽量

    29754
  • DFRobot
    +關注

    關注

    4

    文章

    1156

    瀏覽量

    9447
收藏 人收藏

    評論

    相關推薦

    易道科技與中國科學院天信息創新研究院達成合作

    科技有限公司在車載雷達等領域的產業資源優勢,進步加強雙方在科學研究、產業轉化和人才培養領域的合作,實現資源共享,加快科技創新及成果產業化,決定合作共建“天院-易道車載成像雷達技術聯合實驗室”(以下簡稱“聯合實驗室”)。
    的頭像 發表于 11-09 10:38 ?297次閱讀

    開源項目!如何自制個超實用的便攜式天氣智能監測系統?

    Enhiker 是款小巧的 3D 打印設備,旨在幫助戶外運動愛好者對他們的環境做出明智的決定。基于 DFRobot的(UNIHIKER),集成了環境傳感器和 GNSS 傳感器
    發表于 10-22 09:23

    篇文章,徹底看懂ATG(地通信)

    廢話不多說,我們直奔主題!█到底什么是ATG?ATG,就是AirToGround,空對地通信,也叫地通信。它是種非常特殊的通信技術,專門為天上的飛機提供服務。簡單來說,就是沿著飛機的航線,設置
    的頭像 發表于 06-27 08:04 ?1097次閱讀
    <b class='flag-5'>一</b>篇文章,徹底看懂ATG(地<b class='flag-5'>空</b>通信)

    芯光纖,為什么這么火?

    很多讀者對空芯光纖技術很感興趣,問這個芯光纖到底有什么特別。今天這篇文章,我就給大家詳細科普下。█什么是芯光纖芯光纖,網上很多文章也稱之為“空心光纖”,英文名
    的頭像 發表于 05-26 08:04 ?393次閱讀
    <b class='flag-5'>空</b>芯光纖,為什么這么火?

    什么是接口?接口代碼示例

    這是因為每個接口的內存布局都占用兩個機器字長的內容。對于長度為N的接口slice來說,它的每個元素都是以2機器字長為單元的連續空間,共占用N*2個機器字長的空間。
    的頭像 發表于 04-30 12:59 ?672次閱讀

    為什么需要芯光纖?芯光纖是如何工作的

    為了克服傳統光纖在傳輸過程中的問題,提高光通信的效率和性能,芯光纖應用而生。
    發表于 03-29 14:23 ?932次閱讀
    為什么需要<b class='flag-5'>空</b>芯光纖?<b class='flag-5'>空</b>芯光纖是如何工作的

    星際飛船駕駛艙模擬器、創意數字時鐘、智能騎行氣象助手

    LED燈帶直觀展示;另個是“風向標”,利用和云雀氣象儀采集風向信息,并通過物聯網平臺傳遞給另
    發表于 03-22 10:59

    星際飛船駕駛艙模擬器、創意數字時鐘、智能騎行氣象助手|DF創客周刊(第75期)

    /Geneva-Digital-Clock/ 智能騎行氣象助手與遠程風向指示器 這個創客項目來自DF創客社區云天老師之手——包含兩個腦洞創意,個是“風速車”,將自行車轉變為
    發表于 03-15 11:46

    allegro快速入門教程

    電子發燒友網站提供《allegro快速入門教程.pdf》資料免費下載
    發表于 02-29 09:32 ?68次下載

    讓“聾人”看到聲音 —“AI助聽器”

    ,包括弱聽、重聽、老化聾等。因為各種不方便讓其在這個世界上生活極為不方便。比如有人敲門,水龍頭忘關、孩子在臥室里啼哭,可是“聽障人”他們聽不見。利用人工智能,讓模型學習各種聲音,使用開源硬件-采集聲音,通
    的頭像 發表于 01-12 13:12 ?391次閱讀

    什么是芯光纖?為什么需要芯光纖?

    芯光纖(Hollow-core fiber)—— 種新型傳輸媒介 。
    的頭像 發表于 12-27 09:22 ?875次閱讀

    驅動的物聯網農業監測系統 監測農作物生長環境的利器

    ,監測環境參數還可以幫助我們預防病蟲害的發生,及時采取措施進行防治。 本篇文章介紹了款物聯網農業監測系統,它采用開源硬件(Unihiker)為核心,配備RS485土壤傳感器、溫
    的頭像 發表于 12-15 13:09 ?394次閱讀

    +大模型”——基于ChatGLM的多角色交互式聊天機器人

    模型,結合了深度學習技術和大量中文語料的訓練成果。它在自然語言理解和生成方面展現了出色性能,為國內的自然語言處理研究與應用提供了有力支持。 通過使用和UGB喇叭,你可以制作個有
    的頭像 發表于 12-08 14:11 ?589次閱讀

    bigdecimal轉string類型避免指針

    在Java中,BigDecimal是用于處理高精度數字計算的類。它提供了種有效的方法來避免使用浮點數的精確度損失問題。然而,在將BigDecimal對象轉換為String類型時,需要特別小心以避
    的頭像 發表于 11-30 11:12 ?2556次閱讀

    商湯科技回應做機構灰熊的報告并無依據

    商湯科技回應做機構灰熊的報告并無依據 美國做機構灰熊發布了份專門針對商湯科技的做報告,做報告稱商湯通過高度可疑的收入往返計劃夸大了
    的頭像 發表于 11-28 18:50 ?678次閱讀