一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

測試Arduino代碼示例及功能介紹

工程師兵營 ? 2018-08-15 09:52 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

業(yè)界認為,物聯(lián)網(wǎng) (IoT) 對緊湊型無頭微控制器板的快速增長起到了重要作用,控制器板專為傳感器和致動器等多種邊界節(jié)點設(shè)備而設(shè)計。 憑借其無線微控制器、少量 I/O和極低能耗,此此類開發(fā)板和模塊將成為眾多將數(shù)據(jù)饋送至云分析服務(wù)的設(shè)備。 許多應(yīng)用都要求更多計算資源、操作員接口和連接選項。

不論是執(zhí)行網(wǎng)關(guān)功能、聚合許多傳感器的數(shù)據(jù),還是啟動本地控制或多種功能,都需要具有更多功能和資源的單板計算機。 制造商們在設(shè)法打造可滿足每件設(shè)備所有不同需要的嵌入式器件,他們多數(shù)會選擇一種平臺方法——使用一塊嵌入式主板并按需添加外設(shè)。 對于中小批量,在市場上大量越來越流行的開源單板計算機 (SBC) 中選擇一臺的優(yōu)勢更加顯著。 這不僅可以省去大量 NRE 成本、無線監(jiān)管認證和軟件啟動,還讓開發(fā)團隊可以在設(shè)計的應(yīng)用程序方面快速上手,而不必對可能需要集成的各種器件進行評估、設(shè)計和原型開發(fā)。

對于許多工程團隊,IoT 的一個顯著影響是,處理新項目的方式會有根本性轉(zhuǎn)變。 團隊可能完全有能力從零開始設(shè)計嵌入式板,但在很緊湊的期限內(nèi)交付工作設(shè)計才是最終目標。 對于在創(chuàng)建自己的開發(fā)板前使用 SBC 平臺快速評估設(shè)計的人來說,訪問所有機械文件、布局和 BOM 都很有必要。

圖 1: UDOO Neo

開發(fā)人員可能考慮使用的 SBC 的一個代表是 UDOO Neo。 UDOO Neo 分為基本版、擴展板和完整版,是一個全面的低成本系統(tǒng),且均基于適合 AndroidLinux 的 Freescale i.MX6SoloX 應(yīng)用處理器構(gòu)建。 本文將著重探討 Neo 完整版。 此 Freescale 器件在單一芯片上嵌入一個運行頻率為 1 GHz 的強大單核 ARM? Cortex?-A9 處理器,以及一個運行頻率高達 200 MHz 的 ARM Cortex-M4 I/O 實時協(xié)處理器。 這些器件通過高速 AXI 總線連接在一起,能共享和使用大量硬件實施的功能,例如 GPIO、UART、I2C 等。 開發(fā)人員通過對可編輯進行復(fù)用,可以分配外設(shè)功能的配置由哪個內(nèi)核使用。

UDOO Neo 完整版具有 1 GB 閃存,豐富的 GPIO、串行接口、完整的 Wi-Fi 802.11 b/g/n 和 BLE 連接。 此板配備有嵌入式 9 軸運動傳感器、3 軸加速度計、磁力儀和陀螺儀、LVDS、HDMI、相機和音頻接口,適合許多工業(yè)設(shè)計。

操作系統(tǒng)的角度看,Cortex-A9 內(nèi)核可以運行 Android Lollipop 或 UDOObuntu (14.04 LTS)。 Cortex-M4 擁有完整堆棧 Arduino 環(huán)境的訪問權(quán)限,包括完整的 Arduino 擴展板排針,進一步使其成為一個非常靈活的平臺。

圖 2: UDOO Neo 完整版板的主要特性

圖 2 中顯示為紅色的外部引腳,在 GPIO 模式下默認分配給 Cortex-A9。 因此,這些引腳可直接從文件系統(tǒng)(Linux、Android)控制。 顯示為綠色的內(nèi)部引腳由尺寸與 Arduino UNO 引腳輸出相同的 Cortex-M4 來分配和控制。

此板由單一 6 – 15 VDC 電源供電,所有的 GPIO 為 3.3 VDC。 圖 3 的示意框圖強調(diào)了基于 i.MX 應(yīng)用處理器的主要組成部分和接口。

Neo 適合用作無頭計算平臺;或通過添加 LVDS 觸摸面板或 HDMI 設(shè)備,用作適合用戶控制的平臺。 如果您的預(yù)期應(yīng)用不需要運動傳感器或同樣多的內(nèi)存,則可以選擇 Neo 的基本或擴展版本,以節(jié)省板的成本。 對于許多遠程應(yīng)用,無頭配置是可取的,通過 SSH 遠程端子或類似端子與之通信。

UDOO Neo 的 i.MX6 框圖

圖 3:UDOO Neo 的 i.MX6 框圖

UDOO Neo 入門再簡單不過了。 讓開發(fā)板運行的所有必要信息及更全面的配置和代碼示例可在 Wiki-style 網(wǎng)站上找到。 如果您需要,此網(wǎng)站還提供全面的機械布局文件和 BOM 清單。

此板在供貨時未安裝任何操作系統(tǒng)。 不論您選擇 Linux 還是 Android,都需要容量為 8 GB 或以上的 microSD 卡。 從 Neo 的文檔網(wǎng)站將您選擇的操作系統(tǒng)下載到 PC 或筆記本電腦,然后執(zhí)行解壓縮。 您還需要將 microSD 卡插入卡插槽或 USB 適配器。 訪問計算機的命令行,完整詳情見此處,并遵循指示來卸載卡及所有分區(qū),然后再傳輸操作系統(tǒng)映像。 完成后,請記得,您需要同步或彈出卡以正確關(guān)閉映像寫入。

現(xiàn)在,將 microSD 卡插入 Neo,連接鼠標和鍵盤(通常為 USB)、HDMI 顯示器(建議最初就使用,以查看一切是否正常運行),然后再通電。 很快,開發(fā)板上綠色和黃色 LED 閃爍,假設(shè)選擇了Linux,進入 UDOO Ubuntu 桌面前屏幕上會顯示 Linux 企鵝 Tux 標志。 您可以通過這一熟悉的桌面使用 Linux 的所有普通功能及實用工具。 針對 Neo 配置的 Arduino IDE 也會在 Linux 平臺中預(yù)加載,并通過桌面現(xiàn)成可用。 下一步是連接 Neo 的 Web 控制面板。 執(zhí)行此操作有多種方式,可以通過讓 Neo 的瀏覽器指向其 udooneo.local Web 服務(wù)器,或指向板自身的 IP 地址(如果您知道)。 請見圖 4。

圖 4: UDOO Neo Web 控制面板

可通過該控制面板充分了解 Neo 內(nèi)部發(fā)生的情況。 除了提供有關(guān)有線和無線連接狀態(tài)的信息以及傳感器和板摘要信息外,還提供配置選項,用于設(shè)置并連接到無線接入點、完成地區(qū)設(shè)置和更改顯示輸出。 還提供來自加速度計、陀螺儀和磁力儀的軸與模數(shù)數(shù)據(jù),您可以通過輕輕地四周移動開發(fā)板來測試其操作。

Web 控制面板上還提供測試 Arduino 代碼草稿示例和寫入一些簡單的代碼的功能,請見圖 5。 熟悉 Arduino UNO 等開發(fā)板的人,從圖 5(打開引腳 13)的應(yīng)用示例中可以看出是個簡單的‘“”閃爍“”示例。 Neo 的紅色 LED 已連接至此引腳,因此上傳此代碼草稿會導(dǎo)致其閃爍。 請注意,編程應(yīng)用程序中的 Ardublocky 應(yīng)用程序允許以圖形、互聯(lián)邏輯塊的方式創(chuàng)建 Arduino 代碼草稿。

圖 5: Arduino Web IDE 和代碼草稿樣本

正如前文所述,Neo 配備有兩組 GPIO。 可從 Arduino 代碼草稿訪問的 GPIO 稱作內(nèi)部排針,最內(nèi)側(cè)的排針組和從 Linux 內(nèi)訪問的 GPIO 則稱為外部排針。 默認情況下,所有 GPIO 都配置為輸入,但可配置為輸入或輸出,且在需要時可產(chǎn)生內(nèi)核中斷。 引腳復(fù)用允許 MPU 向外部引腳分配更專門的任務(wù)。

可從 Linux 內(nèi)訪問的 GPIO

圖 6: 可從 Linux 內(nèi)訪問的 GPIO。 單擊此處查看全尺寸圖像。

可以在命令行使用以下簡單命令控制 GPIO 引腳:

echo out > /gpio/pin19/direction – 將引腳設(shè)置為輸出引腳,或

echo in > /gpio/pin19/direction – 將引腳設(shè)置為輸入引腳

指定為輸出的引腳,可使用 echo 0 > /gpio/pin19/value 設(shè)置為低,零伏;

或使用 echo 1 > /gpio/pin19/value 設(shè)置為高,+3.3 VDC

輸入引腳值可使用 cat /gpio/pin19/value 來讀取

除了從 /sys/class/gpio 目錄創(chuàng)建鏈接外,UDOObuntu Linux 中預(yù)安裝的 udoo-gpio-export 軟件包還負責(zé)導(dǎo)出所有 GPIO 作為輸入。 有關(guān)這類高級要求的更多信息,請見 UDOO 文檔。

Cortex-A9 和 Cortex-M4 內(nèi)核之間通過雙向虛擬化串行引腳進行通信,使用共享內(nèi)存交換數(shù)據(jù)。 可以在 Linux 中通過使用 /dev/ttyMMC 來讀取,例如 minicom –D /ttyMCC;或使用 Serial0 對象在 Arduino 代碼草稿內(nèi)讀取。

UDOO Neo 完整版板擁有三個運動傳感器。 14 位加速度計和 16 位磁力儀位于相同封裝(一種 Freescale FXOS8700CQ 器件內(nèi)。 加速度計擁有三個可動態(tài)選擇的滿量程范圍:+/-2 g、+/- 4 g 或 +/- 8g。

3 軸陀螺儀是 Freescale FXAS21002C。

它們被連接至 I2C 總線,請見圖 7,并可通過任一內(nèi)核訪問。

圖 7: 顯示傳感器和器件配置的 I2C 總線

在命令行,它們可以使用

echo 1 > /sensors/accelerometer/enable 或 echo 1 > /sensors/gyroscope/enable 來啟用,并可使用 cat /sensors/magnetometer/data 等命令來讀取一次性的值。

嵌入式應(yīng)用當然可以通過相關(guān) I2C 寄存器直接從它們讀取。 加速計和磁力儀使用地址 0x1E,陀螺儀使用 0x20。

也可以通過更高級的語言(例如 Python)來訪問傳感器。 在使用任何新開發(fā)板的早期,您都會希望開發(fā)板設(shè)計具備開源與社區(qū)性質(zhì)。 關(guān)于這方面的一個很好例子是 GitHub 上的 Neo.GPIO Python 庫,該庫提供在 Cortex-A9 上運行的 Python 應(yīng)用程序的傳感器接口代碼。 Python 已包含在 UDOObuntu 發(fā)行版中,因此,使其成為在 Neo 上進行開發(fā)的必然選擇。 使用前,您需要從 GitHub 下載 .ZIP 文件,然后將其解壓縮到將要創(chuàng)建 Python 應(yīng)用程序所在的目錄。 在 .ZIP 文件中還包括了多個代碼示例,圖 8 中顯示了其簡化版本。

圖 8: 讀取陀螺儀并顯示其中數(shù)據(jù)的 Python 程序

要在命令行運行圖 8 中顯示的 Python 代碼,您必須以 root 的身份運行。 如果您使用的是如上所述的 UDOO Neo,您的用戶帳戶為 udooer,那么您需要按以下方式使用 GyroExample.py 程序。 請見圖 9。

echo udooer | sudo –S su –c ‘python GyroExample.py’

圖 9: GyroExample.py 代碼運行的截屏

UDOO Neo 是全面且強大的 SBC,可以用作工業(yè) IoT 應(yīng)用的理想開發(fā)平臺。 通過使用 Neo,您可極快運行初始應(yīng)用,并以最具時間和成本效益的方式讓產(chǎn)品上市。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9347

    瀏覽量

    376985
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2930

    文章

    46185

    瀏覽量

    391548
  • Arduino
    +關(guān)注

    關(guān)注

    189

    文章

    6497

    瀏覽量

    191923
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    《ESP32S3 Arduino開發(fā)指南》第二章 Arduino基礎(chǔ)知識

    迭代,不斷完善,示例代碼功能也越來越健全。使用Arduino IDE進行開發(fā),由于驅(qū)動庫是相互兼容的,很多代碼不需要修改就可以直接使用,這就
    發(fā)表于 05-13 09:28

    (開源代碼版)手把手教學(xué):DVP攝像頭拍照&上傳功能示例

    通過本開源示例即可完成DVP攝像頭的拍照、圖像預(yù)處理及云端上傳全流程。示例代碼包含完整工程、硬件配置說明及調(diào)試技巧,從環(huán)境搭建到功能實現(xiàn),一步步帶你構(gòu)建穩(wěn)定可靠的圖像數(shù)據(jù)采集與傳輸系統(tǒng)
    的頭像 發(fā)表于 04-21 15:23 ?327次閱讀
    (開源<b class='flag-5'>代碼</b>版)手把手教學(xué):DVP攝像頭拍照&amp;上傳<b class='flag-5'>功能</b><b class='flag-5'>示例</b> !

    如何獲取SMBus示例代碼?

    想找一個用硬件SMBus外設(shè)的示例代碼,但是在網(wǎng)上找到的很多都是HAL庫的版本,我目前的代碼是用的標準庫,想知道ST官方有沒有相關(guān)的示例代碼
    發(fā)表于 03-10 07:16

    用于 SPI 絕對編碼器的 Arduino 示例代碼

    作者:Damon Tarry, Design Applications Engineer, Same Sky 本 Arduino 示例代碼教程旨在為用戶提供一個堅實的起點,以便通過串行外設(shè)接口
    的頭像 發(fā)表于 01-26 21:35 ?791次閱讀
    用于 SPI 絕對編碼器的 <b class='flag-5'>Arduino</b> <b class='flag-5'>示例</b><b class='flag-5'>代碼</b>

    I2C總線與Arduino的接口示例

    在現(xiàn)代電子設(shè)計中,I2C總線因其簡單性和靈活性而廣受歡迎。它允許多個設(shè)備共享同一通信線路,從而節(jié)省空間和成本。Arduino,作為一個多功能的微控制器平臺,自然也支持I2C通信。 I2C總線
    的頭像 發(fā)表于 01-17 15:34 ?1570次閱讀

    HAL庫在Arduino平臺上的使用

    ,適合于快速原型開發(fā)和教育。HAL(硬件抽象層)庫是一種在Arduino平臺上使用的軟件庫,它提供了一種標準化的方式來訪問硬件功能,使得開發(fā)者可以編寫更通用、更可移植的代碼。 1. 什么是HAL庫 HAL庫是硬件抽象層庫的簡稱,
    的頭像 發(fā)表于 12-02 14:04 ?1585次閱讀

    LP589x和TLC698x示例代碼用戶指南

    電子發(fā)燒友網(wǎng)站提供《LP589x和TLC698x示例代碼用戶指南.pdf》資料免費下載
    發(fā)表于 11-13 15:57 ?0次下載
    LP589x和TLC698x<b class='flag-5'>示例</b><b class='flag-5'>代碼</b>用戶指南

    TPS929xxx-Q1示例代碼

    電子發(fā)燒友網(wǎng)站提供《TPS929xxx-Q1示例代碼.pdf》資料免費下載
    發(fā)表于 11-13 14:59 ?2次下載
    TPS929xxx-Q1<b class='flag-5'>示例</b><b class='flag-5'>代碼</b>

    LP5891-Q1示例代碼用戶指南

    電子發(fā)燒友網(wǎng)站提供《LP5891-Q1示例代碼用戶指南.pdf》資料免費下載
    發(fā)表于 11-12 14:08 ?1次下載
    LP5891-Q1<b class='flag-5'>示例</b><b class='flag-5'>代碼</b>用戶指南

    白嫖篇:4G 模組 MQTT 通信功能!

    今天我們白嫖的是4G 模組 MQTT 通信功能!以AIR708E開發(fā)板為例 從MQTT介紹,演示功能概述,準備硬件環(huán)境,準備軟件環(huán)境,代碼示例
    的頭像 發(fā)表于 10-30 14:53 ?2207次閱讀
    白嫖篇:4G 模組 MQTT 通信<b class='flag-5'>功能</b>!

    BQ40Z80量產(chǎn)校準代碼示例

    電子發(fā)燒友網(wǎng)站提供《BQ40Z80量產(chǎn)校準代碼示例.pdf》資料免費下載
    發(fā)表于 09-27 09:34 ?2次下載
    BQ40Z80量產(chǎn)校準<b class='flag-5'>代碼</b><b class='flag-5'>示例</b>

    MSP代碼保護功能

    電子發(fā)燒友網(wǎng)站提供《MSP代碼保護功能.pdf》資料免費下載
    發(fā)表于 09-21 09:14 ?0次下載
    MSP<b class='flag-5'>代碼</b>保護<b class='flag-5'>功能</b>

    展示TIC2000? CLA的獨特功能的軟件示例

    電子發(fā)燒友網(wǎng)站提供《展示TIC2000? CLA的獨特功能的軟件示例.pdf》資料免費下載
    發(fā)表于 09-02 09:54 ?0次下載
    展示TIC2000? CLA的獨特<b class='flag-5'>功能</b>的軟件<b class='flag-5'>示例</b>

    開源項目!基于 Arduino DIY 漂亮的宏機械鍵盤

    。 HID-Project 庫有許多非常有趣的功能,因此我建議你查看 Github 頁面上的各種示例。 當你將代碼編寫或粘貼到 Arduino IDE 中后,你可以將
    發(fā)表于 08-19 17:02

    怎樣用Arduino測試鋰電池容量

    本文詳細介紹了如何用Arduino測量鋰電池的容量。并附有電路圖和Arduino的程序代碼
    的頭像 發(fā)表于 07-30 09:14 ?1643次閱讀
    怎樣用<b class='flag-5'>Arduino</b><b class='flag-5'>測試</b>鋰電池容量