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

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

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

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

ElfBoard開(kāi)源項(xiàng)目|“智慧光伏”開(kāi)源項(xiàng)目技術(shù)文檔

ElfBoard ? 2024-10-11 15:52 ? 次閱讀
wKgZomcI0SCAbJ-TAAdslccJvTs662.png【基于ELF 1開(kāi)發(fā)板完成的“智慧光伏”項(xiàng)目】

“智慧光伏”項(xiàng)目能夠智能追蹤陽(yáng)光的移動(dòng)軌跡。通過(guò)內(nèi)置的光敏傳感器和智能控制系統(tǒng),實(shí)時(shí)感知周?chē)庠吹淖兓Ⅱ?qū)動(dòng)太陽(yáng)能板精準(zhǔn)調(diào)整角度,確保每一縷陽(yáng)光都能被最大化地捕捉和利用。下面就和各位小伙伴詳細(xì)介紹一下這一開(kāi)源項(xiàng)目是怎樣實(shí)現(xiàn)的。

環(huán)境說(shuō)明

1.開(kāi)發(fā)環(huán)境操作系統(tǒng):Ubuntu18.04 64位版

2.交叉編譯工具鏈:arm-poky-linux-gnueabi-gcc5.3.0

3.開(kāi)發(fā)板使用Bootloader版本:u-boot-2016.03

4.開(kāi)發(fā)板內(nèi)核版本:linux-4.1.15

5.開(kāi)發(fā)板移植QT版本:qt5.6.2

一、 硬件連接

1、四路光敏傳感器與板卡的連接

wKgZomcI0UqAXRd7AAD4mKU6LRo152.png

2、舵機(jī)與板卡的連接

wKgZomcI0VaAfi_8AADSnETwRV8438.png

二、內(nèi)核適配

1、實(shí)現(xiàn)舵機(jī)轉(zhuǎn)動(dòng)的功能

MG90S舵機(jī)采用pwm的方式來(lái)控制,該項(xiàng)目需要用到兩個(gè)舵機(jī),所以需要在設(shè)備樹(shù)中進(jìn)行pwm7、pwm8的復(fù)用。

(1)拷貝ELF1開(kāi)發(fā)板資料包\02-Linux 源代碼\02-0 出廠內(nèi)核和uboot源碼\內(nèi)核源碼\linux-4.1.15-elf1.tar.bz2

內(nèi)核源碼到開(kāi)發(fā)環(huán)境/home/elf/work/目錄下解壓

elf@ubuntu:~/work$ tar -xvf linux-4.1.15-elf1.tar.bz2

(2)修改頂層設(shè)備樹(shù)文件arch/arm/boot/dts/imx6ull.dtsi

elf@ubuntu:~/work$ cd linux-4.1.15-elf1/ elf@ubuntu:~/work/linux-4.1.15-elf1$ vi arch/arm/boot/dts/imx6ull.dtsi

wKgaoWcI1D2AUGqCAAD0VIgFxl8762.png

(3)修改設(shè)備樹(shù)文件arch/arm/boot/dts/imx6ull-elf1-emmc.dts

elf@ubuntu:~/work/linux-4.1.15-elf1$ vi arch/arm/boot/dts/imx6ull-elf1-emmc.dts

添加pwm7、pwm8設(shè)備節(jié)點(diǎn)

&pwm7 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pwm7>; status = "okay"; }; &pwm8 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pwm8>; status = "okay"; };

wKgaomcI1eaAZjfMAACciSNZrIg420.png

在iomux節(jié)點(diǎn)下面添加pwm7、pwm8引腳復(fù)用

pinctrl_pwm7: pwm7grp { fsl,pins = < MX6UL_PAD_CSI_VSYNC__PWM7_OUT 0x110b0 >; }; pinctrl_pwm8: pwm8grp { fsl,pins = < MX6UL_PAD_CSI_HSYNC__PWM8_OUT 0x110b0 >; };

wKgZomcI1f-AaDdtAAC12TTTM_I189.png

取消其它用到csi功能的地方

wKgZomcI1iCALz2RAAC47pQs0MY660.pngwKgZomcI1iuAfdX6AADa0ymii6w527.png

至此pwm7、pwm8已經(jīng)復(fù)用完成

2、實(shí)現(xiàn)獲取光照值的功能

四路光敏傳感器需要四路adc,需要在設(shè)備樹(shù)中進(jìn)行adc1、adc2、adc3、adc4的復(fù)用

(1)修改設(shè)備樹(shù)文件arch/arm/boot/dts/imx6ull-elf1-emmc.dts

elf@ubuntu:~/work$ cd linux-4.1.15-elf1/ elf@ubuntu:~/work/linux-4.1.15-elf1$ vi arch/arm/boot/dts/imx6ull-elf1-emmc.dts

在iomux節(jié)點(diǎn)下面添加adc1、adc2、adc3、adc4引腳復(fù)用

pinctrl_adc1: adc1grp { fsl,pins = < MX6UL_PAD_GPIO1_IO05__GPIO1_IO05 0x00b0 MX6UL_PAD_GPIO1_IO01__GPIO1_IO01 0x00b0 MX6UL_PAD_GPIO1_IO02__GPIO1_IO02 0x00b0 MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0x00b0 MX6UL_PAD_GPIO1_IO04__GPIO1_IO04 0x00b0 >; };

wKgaomcI1miAOh9QAADCVdnkq5M265.png

注釋掉其它用到GPIO1_IO01、GPIO1_IO02、GPIO1_IO03、GPIO1_IO04功能的地方

wKgaoWcI11CAFTjcAADonpe1QCg130.png

至此adc已經(jīng)復(fù)用完成

3、編譯并替換設(shè)備樹(shù)

(1)執(zhí)行環(huán)境變量

elf@ubuntu:~/work/linux-4.1.15-elf1$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

(2)編譯設(shè)備樹(shù)

elf@ubuntu:~/work/linux-4.1.15-elf1$ make imx6ull_elf1_defconfig elf@ubuntu:~/work/linux-4.1.15-elf1$ make dtbs

(3)將arch/arm/boot/dts/路徑下的imx6ull-elf1-emmc.dtb放到U盤(pán),通過(guò)U盤(pán)拷貝到開(kāi)發(fā)板

root@ELF1:~# cp /run/media/sda1/imx6ull-elf1-emmc.dtb /run/media/mmcblk1p1/

(4)保存并重啟開(kāi)發(fā)板

root@ELF1:~# sync root@ELF1:~# reboot

三、數(shù)據(jù)采集和設(shè)備控制

1、程序設(shè)計(jì)

wKgZoWcI2ASABFvUAABY1jE3f8E038.png

主函數(shù)的實(shí)現(xiàn)main.cpp

int main() { int up = 0; int down = 0; int left = 0; int right = 0; int duty_cycle6 = DUTY_90_DEG; int duty_cycle7 = DUTY_90_DEG; int adcChannels[] = {1, 2, 3, 4}; int adcValues[4] = {0}; init_pwm(); write_file(PWM6_DUTY_CYCLE, duty_cycle6); write_file(PWM7_DUTY_CYCLE, duty_cycle7); while (1) { for (int i = 0; i < 4; ++i) { adcValues[i] = read_adc_value(adcChannels[i]); } up = (adcValues[3] + adcValues[0]) ; down = (adcValues[2] + adcValues[1]) ; left = (adcValues[3] + adcValues[2]) ; right = (adcValues[0] + adcValues[1]) ; printf("up: %d\n", up); printf("down: %d\n", down); printf("left: %d\n", left); printf("right: %d\n", right); if ((down - up >= 200) && (duty_cycle6 >= DUTY_0_DEG)) { duty_cycle6 -= 100000; write_file(PWM6_DUTY_CYCLE, duty_cycle6); usleep(10000); } if ((up - down >= 200) && (duty_cycle6 <= DUTY_180_DEG)) { duty_cycle6 += 100000; write_file(PWM6_DUTY_CYCLE, duty_cycle6); usleep(10000); } if ((right - left >= 200) && (duty_cycle7 >= DUTY_0_DEG)) { duty_cycle7 -= 100000; write_file(PWM7_DUTY_CYCLE, duty_cycle7); usleep(10000); } if ((left - right >= 200) && (duty_cycle7 <= DUTY_180_DEG)) { duty_cycle7 += 100000; write_file(PWM7_DUTY_CYCLE, duty_cycle7); usleep(10000); } usleep(100000); } return 0; }

配置pwm

int init_pwm() { write_file(PWM6_EXPORT, 0); if (-1 == write_file(PWM6_PERIOD, PWM_PERIOD)) return -1; if (-1 == write_file(PWM6_ENABLE, 1)) return -1; write_file(PWM7_EXPORT, 0); if (-1 == write_file(PWM7_PERIOD, PWM_PERIOD)) return -1; if (-1 == write_file(PWM7_ENABLE, 1)) return -1; return 0; }

設(shè)置舵機(jī)初始位置

write_file(PWM6_DUTY_CYCLE, duty_cycle6); write_file(PWM7_DUTY_CYCLE, duty_cycle7);

獲取光照值

int read_adc_value(int adcNumber) { int adcValue = 0 ; FILE* adcFile; char adcValueFile[50]; char adcValueStr[10] = "0"; snprintf(adcValueFile, sizeof(adcValueFile), "/sys/bus/iio/devices/iio:device0/in_voltage%d_raw", adcNumber); adcFile = fopen(adcValueFile, "r"); if (adcFile) { fgets(adcValueStr, sizeof(adcValueStr), adcFile); adcValue = atoi(adcValueStr); fclose(adcFile); } else { fprintf(stderr, "Error opening ADC value file %s.\n", adcValueFile); } return adcValue; }

根據(jù)光照值調(diào)整舵機(jī)位置

if ((down - up >= 200) && (duty_cycle6 >= DUTY_0_DEG)) { duty_cycle6 -= 100000; write_file(PWM6_DUTY_CYCLE, duty_cycle6); usleep(10000); } if ((up - down >= 200) && (duty_cycle6 <= DUTY_180_DEG)) { duty_cycle6 += 100000; write_file(PWM6_DUTY_CYCLE, duty_cycle6); usleep(10000); } if ((right - left >= 200) && (duty_cycle7 >= DUTY_0_DEG)) { duty_cycle7 -= 100000; write_file(PWM7_DUTY_CYCLE, duty_cycle7); usleep(10000); } if ((left - right >= 200) && (duty_cycle7 <= DUTY_180_DEG)) { duty_cycle7 += 100000; write_file(PWM7_DUTY_CYCLE, duty_cycle7); usleep(10000); }

2、應(yīng)用編譯

(1)拷貝sun.tar.bz2到開(kāi)發(fā)環(huán)境/home/elf/work目錄下解壓

elf@ubuntu:~/work$ tar xvf sun.tar.bz2

(2)執(zhí)行環(huán)境變量

elf@ubuntu:~/work$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

(3)編譯

elf@ubuntu:~/work$ cd sun/ elf@ubuntu:~/work/sun$ make

(4)拷貝sanapp到開(kāi)發(fā)板/home/root路徑下

root@ELF1:~# cp /run/media/sda1/sunapp ./ root@ELF1:~# sync

四、項(xiàng)目測(cè)試

1、確保開(kāi)發(fā)板已正確連接四路光敏傳感器和舵機(jī)

2、執(zhí)行應(yīng)用

root@ELF1:~# ./sunapp

此時(shí)可以打開(kāi)手電筒模擬太陽(yáng)光,調(diào)整太陽(yáng)能板的角度

對(duì)于初涉嵌入式開(kāi)發(fā)領(lǐng)域的小伙伴來(lái)說(shuō),“智慧光伏”無(wú)疑是一個(gè)兼具趣味與實(shí)踐的開(kāi)源項(xiàng)目。通過(guò)親身參與這一開(kāi)源項(xiàng)目的組裝與調(diào)試過(guò)程,可以直接接觸到真實(shí)的開(kāi)發(fā)環(huán)境、工具鏈和代碼庫(kù),從而解決實(shí)際問(wèn)題,幫助初學(xué)者更快地成長(zhǎng)為合格的嵌入式開(kāi)發(fā)工程師

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

    關(guān)注

    6032

    文章

    44525

    瀏覽量

    633260
  • 嵌入式
    +關(guān)注

    關(guān)注

    5072

    文章

    19026

    瀏覽量

    303517
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4959

    瀏覽量

    97214
  • Linux開(kāi)發(fā)
    +關(guān)注

    關(guān)注

    0

    文章

    33

    瀏覽量

    6898
  • 開(kāi)源代碼
    +關(guān)注

    關(guān)注

    0

    文章

    34

    瀏覽量

    2933
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    無(wú)人機(jī)AI智慧光巡檢系統(tǒng)的技術(shù)實(shí)現(xiàn)與運(yùn)維革新

    無(wú)人機(jī)AI智慧光巡檢系統(tǒng)的技術(shù)實(shí)現(xiàn)與運(yùn)維革新 在綠色能源領(lǐng)域,光發(fā)電正以其清潔、可再生的特性引領(lǐng)著能源轉(zhuǎn)型的浪潮。然而,隨著光電站規(guī)模
    的頭像 發(fā)表于 11-28 16:32 ?132次閱讀

    凌蒙派OpenHarmony開(kāi)源項(xiàng)目榮獲本期Gitee官方推薦

    近日,我司凌蒙派OpenHarmony開(kāi)源項(xiàng)目榮獲本期Gitee官方推薦。本期Gitee官方推薦不僅是對(duì)凌蒙派OpenHarmony開(kāi)源項(xiàng)目的高度認(rèn)可,也是對(duì)我司在推動(dòng)
    的頭像 發(fā)表于 11-20 01:04 ?152次閱讀
    凌蒙派OpenHarmony<b class='flag-5'>開(kāi)源</b><b class='flag-5'>項(xiàng)目</b>榮獲本期Gitee官方推薦

    真格基金宣布捐贈(zèng)開(kāi)源AI項(xiàng)目vLLM

    開(kāi)源技術(shù)處于 AI 革命的中心。Llama 3、Mistral 等開(kāi)源大模型迅速追趕 GPT-4,TensorFlow、Pytorch 等開(kāi)源深度學(xué)習(xí)框架提供了豐富的庫(kù)和工具。GitH
    的頭像 發(fā)表于 09-24 16:13 ?338次閱讀

    ElfBoard開(kāi)源項(xiàng)目|“智慧教室”開(kāi)源項(xiàng)目技術(shù)文檔

    智慧教室”項(xiàng)目的目標(biāo)是實(shí)現(xiàn)實(shí)時(shí)采集環(huán)境中的溫度、濕度及光照信息,并將這些數(shù)據(jù)可視化地呈現(xiàn)在Qt圖形界面上。用戶(hù)既可以選擇手動(dòng)控制風(fēng)扇與窗簾的開(kāi)關(guān),也可以設(shè)置系統(tǒng)根據(jù)所采集的環(huán)境參數(shù)自動(dòng)調(diào)節(jié),以達(dá)到舒適的室內(nèi)環(huán)境。接下來(lái),將和各位小伙伴深入探討這一
    的頭像 發(fā)表于 09-11 10:51 ?482次閱讀
    <b class='flag-5'>ElfBoard</b><b class='flag-5'>開(kāi)源</b><b class='flag-5'>項(xiàng)目</b>|“<b class='flag-5'>智慧</b>教室”<b class='flag-5'>開(kāi)源</b><b class='flag-5'>項(xiàng)目</b><b class='flag-5'>技術(shù)</b><b class='flag-5'>文檔</b>

    Matepad pro12.2 已上市半個(gè)月,但是還沒(méi)有在開(kāi)源網(wǎng)站看到該項(xiàng)目開(kāi)源信息,違背開(kāi)源精神

    Matepad pro12.2 已上市半個(gè)月,本人自己也購(gòu)買(mǎi)了同款12+256的pad,想要同步學(xué)習(xí)下這款pad的一些體驗(yàn)還不錯(cuò)的功能點(diǎn),但是目前為止還沒(méi)有在開(kāi)源網(wǎng)站看到該項(xiàng)目開(kāi)源信息,也查詢(xún)不到
    發(fā)表于 08-27 17:25

    智慧光運(yùn)維管理系統(tǒng)引領(lǐng)光電站管理新時(shí)代

    ?????? 智慧光運(yùn)維管理系統(tǒng)引領(lǐng)光電站管理新時(shí)代 ?????? 隨著全球?qū)稍偕茉葱枨蟮牟粩嘣鲩L(zhǎng),光電站作為清潔能源的代表,正迅速擴(kuò)展器市場(chǎng)份額。然而,隨著光
    的頭像 發(fā)表于 07-30 16:00 ?750次閱讀
    <b class='flag-5'>智慧光</b><b class='flag-5'>伏</b>運(yùn)維管理系統(tǒng)引領(lǐng)光<b class='flag-5'>伏</b>電站管理新時(shí)代

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard-項(xiàng)目分享|基于ELF 1S開(kāi)發(fā)板完成的物聯(lián)網(wǎng)開(kāi)源項(xiàng)目

    工程師借助ELF 1S開(kāi)發(fā)板完成的嵌入式物聯(lián)網(wǎng)項(xiàng)目,見(jiàn)證智慧技術(shù)的火花。 關(guān)于這個(gè)項(xiàng)目的思維導(dǎo)圖,如下圖所示: 接下來(lái),將會(huì)從云-網(wǎng)-邊-端的物聯(lián)網(wǎng)體系架構(gòu)出發(fā),描述整個(gè)
    發(fā)表于 05-16 09:19

    飛凌嵌入式-ElfBoard-項(xiàng)目分享|基于ELF 1S開(kāi)發(fā)板完成的物聯(lián)網(wǎng)開(kāi)源項(xiàng)目

    工程師借助ELF 1S開(kāi)發(fā)板完成的嵌入式物聯(lián)網(wǎng)項(xiàng)目,見(jiàn)證智慧技術(shù)的火花。 關(guān)于這個(gè)項(xiàng)目的思維導(dǎo)圖,如下圖所示: 接下來(lái),將會(huì)從云-網(wǎng)-邊-端的物聯(lián)網(wǎng)體系架構(gòu)出發(fā),描述整個(gè)
    發(fā)表于 05-16 09:12

    項(xiàng)目分享|基于ELF 1S開(kāi)發(fā)板完成的物聯(lián)網(wǎng)開(kāi)源項(xiàng)目

    ElfBoard作為飛凌嵌入式旗下教育品牌,自成立以來(lái),持續(xù)吸引著各界的矚目,其中也贏得了一些工程師的青睞。今天,就和各位小伙伴分享一位杰出工程師借助ELF1S開(kāi)發(fā)板完成的嵌入式物聯(lián)網(wǎng)項(xiàng)目,見(jiàn)證智慧
    的頭像 發(fā)表于 05-14 09:03 ?1324次閱讀
    <b class='flag-5'>項(xiàng)目</b>分享|基于ELF 1S開(kāi)發(fā)板完成的物聯(lián)網(wǎng)<b class='flag-5'>開(kāi)源</b><b class='flag-5'>項(xiàng)目</b>

    項(xiàng)目分享|基于ElfBoard的遠(yuǎn)程監(jiān)測(cè)系統(tǒng)

    技術(shù)領(lǐng)域的專(zhuān)業(yè)素養(yǎng)。值得一提的是,社群內(nèi)部已經(jīng)涌現(xiàn)出許多富有創(chuàng)意的產(chǎn)品設(shè)計(jì)理念與技術(shù)解決方案,今天就跟大家分享一名共創(chuàng)官完成的項(xiàng)目報(bào)告“基于ElfBoard的遠(yuǎn)程監(jiān)測(cè)系
    的頭像 發(fā)表于 01-17 11:14 ?537次閱讀
    <b class='flag-5'>項(xiàng)目</b>分享|基于<b class='flag-5'>ElfBoard</b>的遠(yuǎn)程監(jiān)測(cè)系統(tǒng)

    開(kāi)源FPGA項(xiàng)目有哪些

    請(qǐng)問(wèn)開(kāi)源FPGA項(xiàng)目有哪些?
    發(fā)表于 12-26 12:09

    書(shū)寫(xiě)開(kāi)源之魂|2023 年活力開(kāi)源貢獻(xiàn)者、開(kāi)源項(xiàng)目揭曉

    開(kāi)源事業(yè)的蓬勃發(fā)展,離不開(kāi)持之以恒的開(kāi)源貢獻(xiàn)者。他們用一行行代碼孕育出無(wú)數(shù)獨(dú)具特色的產(chǎn)品,凝聚成了源遠(yuǎn)流長(zhǎng)、代代相傳的開(kāi)源精神。集眾智、采眾長(zhǎng),他們以堅(jiān)定的信念和滿腔的熱情傳播開(kāi)源文化
    的頭像 發(fā)表于 12-22 09:26 ?633次閱讀
    書(shū)寫(xiě)<b class='flag-5'>開(kāi)源</b>之魂|2023 年活力<b class='flag-5'>開(kāi)源</b>貢獻(xiàn)者、<b class='flag-5'>開(kāi)源</b><b class='flag-5'>項(xiàng)目</b>揭曉

    開(kāi)放原子開(kāi)源基金會(huì)與 9 個(gè)開(kāi)源項(xiàng)目舉行捐贈(zèng)簽約儀式

    軟件、OpenTenBase、MetaToC、crowdos、NXROS、Dorothy SSR、onps 開(kāi)源網(wǎng)絡(luò)協(xié)議共 9 個(gè)開(kāi)源項(xiàng)目捐贈(zèng)方代表共同簽約。 開(kāi)源
    的頭像 發(fā)表于 12-21 17:30 ?825次閱讀
    開(kāi)放原子<b class='flag-5'>開(kāi)源</b>基金會(huì)與 9 個(gè)<b class='flag-5'>開(kāi)源</b><b class='flag-5'>項(xiàng)目</b>舉行捐贈(zèng)簽約儀式

    書(shū)寫(xiě)開(kāi)源之魂|2023年活力開(kāi)源貢獻(xiàn)者、開(kāi)源項(xiàng)目揭曉

    開(kāi)源事業(yè)的蓬勃發(fā)展,離不開(kāi)持之以恒的開(kāi)源貢獻(xiàn)者。他們用一行行代碼孕育出無(wú)數(shù)獨(dú)具特色的產(chǎn)品,凝聚成了源遠(yuǎn)流長(zhǎng)、代代相傳的開(kāi)源精神。集眾智、采眾長(zhǎng),他們以堅(jiān)定的信念和滿腔的熱情傳播開(kāi)源文化
    的頭像 發(fā)表于 12-18 15:55 ?485次閱讀

    開(kāi)放原子開(kāi)源基金會(huì)與9個(gè)開(kāi)源項(xiàng)目舉行捐贈(zèng)簽約儀式

    軟件、OpenTenBase、MetaToC、crowdos、NXROS、Dorothy SSR、onps開(kāi)源網(wǎng)絡(luò)協(xié)議共9個(gè)開(kāi)源項(xiàng)目捐贈(zèng)方代表共同簽約。 開(kāi)源
    的頭像 發(fā)表于 12-17 15:55 ?746次閱讀