搖桿控制LED燈的亮度

2021-09-26 05:57:42 字數 916 閱讀 8763

在該系統中,所用到的技術有adc、dma、tim、usart。有些可以沒有必要使用,但為了作為前一段時間的總結,所以把這幾種都給使用上了。說一下做這個的思路,之前每一塊都已經學習過,並且都已經實現了,所以想著做這個小專案來練練手。在這裡面adc和dma讀取搖桿的位置,tim用來輸出pwm控制led的亮度,usart串列埠用來輸出列印一些執行時的資訊。如下圖所示:

專案的檔案結構圖:

看一下專案的主要**吧!

專案的所有源**:

下面主要來看一下主函式(main.c):

#include "usart.h"

#include "tim.h"

#include "adc.h"

u8 input_value = 0;

extern uint16_t conver_value[10];

int i;

float temp;

void init(void)

int main(void)

temp = temp * 3.3 /40960 *1000;

tim3_config((int)(temp/3300 * 1000)); }}

void usart1_irqhandler(void)

}

在主函式中,我們首先初始化各個檔案中的配置,然後adc軟體觸發,主函式進入死迴圈,輪詢操作。首先我們將adc採集的十次搖桿的值進行求和。求完和後對該數值進行轉換。最後將計算的值歸一化到0-1000範圍內,最後一步配置tim輸出的pwm的高電平持續時間。

控制led 用pwm的方法控制LED亮度

在本課程中,您將學習如何通過電位計來更改led的亮度。電位器實際上是乙個可調的電阻,阻值隨意手柄的轉動而變化,模擬電路中,我們可以將電位器串聯在電路中,改變led亮度。本次實驗,電位器只提供乙個訊號,實際燈的亮度由arduino控制。二 材料準備 1 arduino uno開發板 1 麵包板 若干杜...

MTK平台pwm控制led的亮度

1.查mtk的android driver allinonev1.01.pdf資料,到mediatek source kernel drivers leds leds.c 中通過檢視static int led set pwm int pwm num,struct nled setting led ...

任務3按鈕PWM控制LED亮度

任務3按鈕pwm控制led亮度 程式解讀 通過pwm的方式來調整led的亮度。int var 0 設計變數,int var val var 變數名 val 賦給變數的值 int ledpin 6 帶 號標識的介面才具備pwm輸出功能。int up 3 按鍵引腳,用於變亮效果 int down 8 按...