国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > arduinomap函數(shù)詳解

arduinomap函數(shù)詳解

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-23 14:09:15 1700719755

一、arduino函數(shù)簡(jiǎn)介

Arduino是一款強(qiáng)大的開(kāi)發(fā)板,它由一個(gè)處理器、電源、接口外設(shè)和一系列輸入輸出引腳組成。Arduino的主要優(yōu)勢(shì)在于它的易于使用性和可編程性,同時(shí)還具有廣泛的社區(qū)支持。這些特性使得Arduino成為了一種十分流行的開(kāi)發(fā)板。

Arduino IDE是一個(gè)開(kāi)源的綜合性開(kāi)發(fā)環(huán)境,它可以幫助工程師們編寫(xiě)、上傳程序到Arduino板子中,并且進(jìn)行調(diào)試。Arduino IDE可以使用不同的編程語(yǔ)言,其中最常用的是C/C++語(yǔ)言。

二、arduino函數(shù)返回值

在使用Arduino編程時(shí),每個(gè)函數(shù)都有一個(gè)返回值。返回值可以是一個(gè)整型、浮點(diǎn)型、字符型等數(shù)據(jù)類(lèi)型。返回值不僅可以用于輸出結(jié)果,還可以用于控制流程、判斷執(zhí)行結(jié)果。

例如,當(dāng)我們使用數(shù)字輸入引腳時(shí),如果我們需要確定輸入的數(shù)字是否為高電平(1)還是低電平(0),就需要使用digitalRead函數(shù)。這個(gè)函數(shù)的返回值是一個(gè)整型,為1時(shí)代表高電平,為0時(shí)代表低電平。

三、arduino函數(shù)庫(kù)大全

Arduino函數(shù)庫(kù)包含了大量常用的函數(shù),可以幫助我們快速編寫(xiě)程序。其中包括系統(tǒng)函數(shù)、數(shù)學(xué)函數(shù)、I/O函數(shù)等。具體的函數(shù)庫(kù)可以通過(guò)Arduino IDE的幫助文檔查看。

對(duì)于Arduino初學(xué)者來(lái)說(shuō),最常用的函數(shù)庫(kù)是“Wire.h”和“Servo.h”。其中,Wire.h可以幫助我們進(jìn)行I2C通信,Servo.h可以幫助我們控制舵機(jī)的運(yùn)動(dòng)。

四、arduino庫(kù)函數(shù)怎么使用

Arduino庫(kù)函數(shù)的使用非常簡(jiǎn)單,只需要在程序中包含需要使用的函數(shù)庫(kù),然后調(diào)用函數(shù)即可。

例如,如果我們需要使用Wire.h庫(kù)來(lái)進(jìn)行I2C通信,只需要在程序中添加以下代碼:


#include 

然后在主函數(shù)中,使用Wire.begin()函數(shù)來(lái)初始化I2C總線(xiàn):


void setup(){
    Wire.begin();
}

接下來(lái)就可以使用Wire庫(kù)中的各種函數(shù)來(lái)進(jìn)行I2C通信了。

五、arduino中map函數(shù)的用法

map函數(shù)是Arduino中的一個(gè)非常常用的函數(shù),它可以幫助我們將一個(gè)值從一個(gè)范圍映射到另一個(gè)范圍。

map函數(shù)有三個(gè)參數(shù):原始值、原始值的最小值、原始值的最大值。同時(shí)還需要指定一個(gè)映射后的值的最小值和最大值。它的語(yǔ)法如下:


map(原始值, 原始值最小值, 原始值最大值, 映射后的最小值, 映射后的最大值)

例如,我們有一個(gè)傳感器的輸出范圍是0~1023。如果我們需要將這個(gè)值映射到0~255的范圍內(nèi),我們可以使用如下代碼:


int sensorValue = analogRead(A0);
int brightness = map(sensorValue, 0, 1023, 0, 255);

這段代碼將A0引腳上的模擬值讀取出來(lái),然后使用map函數(shù)將模擬值從0~1023的范圍映射到0~255的范圍內(nèi),得到了一個(gè)亮度值brightness。

六、arduino時(shí)間函數(shù)講解

在Arduino中,時(shí)間函數(shù)非常重要。它可以幫助我們獲取程序的運(yùn)行時(shí)間、計(jì)時(shí)、延時(shí)等。

Arduino中常用的時(shí)間函數(shù)有delay()和millis()。其中,delay()函數(shù)用于延時(shí)一定的時(shí)間,它的參數(shù)為毫秒數(shù)。例如,delay(1000)會(huì)延時(shí)1秒鐘。在這段時(shí)間內(nèi),Arduino將停止運(yùn)行,無(wú)法進(jìn)行其它操作。

而millis()函數(shù)則用于獲取程序運(yùn)行的時(shí)間。它返回值為自程序啟動(dòng)后經(jīng)過(guò)的毫秒數(shù)。因此,我們可以使用它來(lái)進(jìn)行計(jì)時(shí)操作。

以下是一個(gè)簡(jiǎn)單的計(jì)時(shí)程序:


unsigned long startTime;

void setup() {
  startTime = millis();
}

void loop() {
  unsigned long currentTime = millis();
  unsigned long elapsedTime = currentTime - startTime;
  Serial.print("Elapsed time: ");
  Serial.println(elapsedTime);
}

運(yùn)行這個(gè)程序后,Serail monitor中會(huì)輸出程序運(yùn)行的毫秒數(shù)。

七、arduino庫(kù)函數(shù)手冊(cè)

Arduino官方網(wǎng)站提供了一個(gè)完整的Arduino庫(kù)函數(shù)手冊(cè),其中包含各種函數(shù)的詳細(xì)介紹、參數(shù)、返回值等信息。我們可以在需要使用某個(gè)函數(shù)時(shí)查看手冊(cè),了解函數(shù)的具體使用方法。

手冊(cè)可以在Arduino官網(wǎng)上查看,或者在Arduino IDE中點(diǎn)擊“幫助”-“參考”-“Arduino函數(shù)參考”查看。

八、arduino中斷函數(shù)

Arduino中斷函數(shù)是一種特殊的函數(shù),它可以在滿(mǎn)足特定條件的情況下自動(dòng)調(diào)用。例如,當(dāng)一個(gè)引腳的狀態(tài)發(fā)生變化時(shí),我們可以使用中斷函數(shù)來(lái)自動(dòng)檢測(cè)這個(gè)變化。

Arduino中斷函數(shù)有兩種類(lèi)型:外部中斷和定時(shí)器中斷。

外部中斷是指當(dāng)一個(gè)硬件信號(hào)發(fā)生改變時(shí)自動(dòng)觸發(fā)的中斷。定時(shí)器中斷是指定時(shí)器到達(dá)設(shè)定時(shí)間時(shí)觸發(fā)的中斷。

以下是一個(gè)簡(jiǎn)單的外部中斷程序:


volatile byte count = 0;

void setup() {
  Serial.begin(9600);          
  pinMode(2, INPUT_PULLUP);          
  attachInterrupt(digitalPinToInterrupt(2), count_pulse, FALLING);  
}

void loop(){
  Serial.print(count);
}

void count_pulse(){
  count++;
}

這個(gè)程序會(huì)在引腳2上檢測(cè)到下降沿時(shí)自動(dòng)調(diào)用count_pulse()函數(shù),然后計(jì)數(shù)器count會(huì)加1,并在主函數(shù)中輸出計(jì)數(shù)器count的值。

九、arduino封裝函數(shù)

Arduino封裝函數(shù)是一種將多個(gè)函數(shù)封裝在一起,形成一個(gè)獨(dú)立的部件的方式。

Arduino封裝函數(shù)通常包括兩個(gè)部分:頭文件和源文件。頭文件包含函數(shù)的聲明,源文件包含函數(shù)的定義。

以下是一個(gè)簡(jiǎn)單的封裝函數(shù)示例:


// .h文件
#ifndef LED_H
#define LED_H

#include 

class Led {
  public:
    Led(int pin);
    void on();
    void off();
  private:
    int _pin;
};

#endif

// .cpp文件
#include "Led.h"

Led::Led(int pin) {
  _pin = pin;
  pinMode(_pin, OUTPUT);
}

void Led::on() {
  digitalWrite(_pin, HIGH);
}

void Led::off() {
  digitalWrite(_pin, LOW);
}

這個(gè)封裝函數(shù)包含一個(gè)Led類(lèi),其中包含了兩個(gè)函數(shù):on()和off()。這個(gè)類(lèi)可以幫助我們方便地控制一個(gè)LED燈。

在主程序中,我們可以使用如下代碼來(lái)控制LED燈:


#include 

Led myLed(13);

void setup(){
  myLed.on();
}

void loop(){
  myLed.off();
}

這段代碼中使用了自定義的Led庫(kù)來(lái)控制13號(hào)引腳上的LED燈。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專(zhuān)屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT