91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

5v Arduino怎么編程

454398 ? 來源:wv ? 2019-08-29 10:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

第1步:輸入命令

這里要看看輸入命令。 Arduino上有兩種主要類型的引腳,數(shù)字I/O(輸入/輸出)和模擬輸入,數(shù)字引腳可以是輸入和輸出,模擬引腳是可以檢測電流電壓的特殊輸入。

PinMode

在我們使用任何傳感器或執(zhí)行器之前,我們需要告訴Arduino它們所在的引腳。

int sensorPin = A1;

Void setup(){

pinMode(sensorPin, INPUT);

}

這告訴Arduino引腳sensorPin上有一個輸入,它是一個代表數(shù)字A1的整數(shù)。我們這樣做的原因是因為如果由于某種原因我們需要更改引腳數(shù),我們可以在頂部的一個位置更改它而不是通過整個代碼并且每次引用時都必須更改它。這個命令進(jìn)入Void設(shè)置,大多數(shù)命令進(jìn)入Void循環(huán),所以除非另有說明,否則將它們放在那里。

數(shù)字讀取

這是最基本的輸入方式成為Arduino。信號阱為On或Off,用于檢測燈開關(guān)或按鈕的狀態(tài)。以下是如何使用它。

int DsensorVal = digitalRead(DsensorPin);

這將int DsensorVal指定為與DsensorPin相同的值。在這種情況下,它將是1或0,開或關(guān)。

模擬讀取

模擬讀取命令用于檢測Arduino的其中一個模擬引腳上的電壓。這用于連接任何發(fā)出電壓作為數(shù)據(jù)的傳感器,例如光依賴電阻,微調(diào)電位器溫度傳感器等。

Int AsensorVal = analogRead(AsensorPin);

這將int AsensorVal分配給AsensorPin上的電壓。根據(jù)0到5伏特之間的電壓,這將是介于0和1023之間的值。 1.25v = 256,2.5v = 512,3.25v = 768。

我們將在下一步中看到如何使用這些。

步驟2:如何使用輸入值

現(xiàn)在我們有來自傳感器的值,可以看看如何使用它們。

IF

是的我說IF,IF命令是最重要的命令。它是我們的執(zhí)行器和傳感器之間的主要橋梁。這是它的使用方式。

if (a == b){

action here(We‘ll discuss this in the next step)

}

括號是我們放置要運行的代碼的位置。 ==意味著等于,這必須是兩個等于因為只有一個會使a = b并使其始終為真。 ==可以替換以下任何一種,

!=不等于

》大于

》 =大于或等于

《=小于或等于

所以如果a == b那么我們運行括號。我們還可以有多個標(biāo)準(zhǔn)來實現(xiàn)

if ((a == b) && (a 《 c)){

}

現(xiàn)在我們添加了&&&這意味著AND,所以只要a == b AND a

這是最基本和最常用的控制命令。我們可以通過向它添加ELSE來進(jìn)一步采用此命令。這使得當(dāng)IF不活動時,ELSE就是。

if (a == b){

{

else{

}

現(xiàn)在當(dāng)IF為負(fù)數(shù)時,ELSE括號中的任何內(nèi)容都會運行。

數(shù)字

所以我們使用數(shù)字輸入的方式是這樣的。

If (DsenserVal == 1){

}

1與寫入HIGH相同。因此,當(dāng)DsenserPin上有3-5個伏特時,您設(shè)置的動作將會發(fā)生。有時按鈕設(shè)置為反向,因此當(dāng)按下按鈕時它等于0,如果是這樣,只需將1更改為0就可以了。

模擬

這就是它變得有趣的地方。

我們有正常的if命令。

if (AsensorVal 《 500){

}

如果IF正在檢查AsensorVal的值并對其做出反應(yīng),模擬信號更多地用于編輯機器人的響應(yīng)而不是使其響應(yīng)。我們還有幾個命令來編輯信號,以便最終使用它。

Map

當(dāng)您需要更改時,map命令很有用某個范圍的數(shù)字。所以說我有一個300到500之間的int值,我想用它來控制180度的伺服,我可以使用這樣的命令

AsensorVal = map(AsensorVal, 300, 500, 0, 180);

現(xiàn)在該值是一個從0到180的數(shù)字,它介于300到500之間。所以想想一條200個單位長的線,這會改變它,所以線條長度相同,但現(xiàn)在只有180個單位長。這需要很多復(fù)雜的數(shù)學(xué),但是Arduino背后的好人已經(jīng)很容易了。

約束

這個數(shù)字必須留在某些界限。所以,如果我這樣設(shè)置它。

AsensorVal = map(AsensorVal, 0, 180);

它現(xiàn)在只允許AsensorVal在0到180之間,如果它低于0然后它變成0,如果它在上面180它將它改為180,這些數(shù)字是它的最小值和最大值。

讓我們看看如何在下一步中使用執(zhí)行器。

步驟3:執(zhí)行器

因此,您希望了解如何使用執(zhí)行器,以及正確的步驟。

PinMode

是再次使用PinMode的地方,但是這次使用它來注冊O(shè)UTPUT。

void setup(){

pinMode(actuatorPin, OUTPUT);

}

現(xiàn)在我們已經(jīng)宣布ActuatorPin為輸出,所以現(xiàn)在我們可以用它作為一個。這是在Void設(shè)置中。

myServo.attach

我不打算離開伺服系統(tǒng),不用擔(dān)心。伺服系統(tǒng)需要更多設(shè)置,但仍然很容易。

#include

Servo myServo; # Makes a servo object

Int servoPin = 9; # The number for this has to one of these pins, 11, 10, 9, 6, 5, 3.

Void setup(){

myServo.attach(servoPin); # Attaching the servo to servoPin, which is equal to 9;

}

首先我們導(dǎo)入伺服庫,然后我們將對象設(shè)為myServo。然后我們創(chuàng)建一個等于我們想要放置它的引腳的int。這必須是支持在Arduino板上標(biāo)記的PWM的特殊引腳。然后我們將myServo附加到我們設(shè)置的引腳上。將附加命令放在Void設(shè)置中。

現(xiàn)在我們進(jìn)行了這些設(shè)置,讓我們看看實際的輸出信號。

DigitalWrite

這是用于控制LED,Reley以及任何其他開啟或關(guān)閉的基本開/關(guān)輸出。

digitalWrite(actuatorPin, HIGH);

現(xiàn)在actuatorPin設(shè)置為高,所以任何東西都會開始運行。要關(guān)閉它,我們使用。

digitalWrite(actuatorPin, LOW);

AnalogWrite

AnalogWrite命令用于控制電機速度,LED亮度等。大多數(shù)Arduinos沒有實際的模擬輸出,但他們能夠模仿它。它們具有特殊引腳,即PWN(脈沖寬度調(diào)制),可模擬模擬引腳。我們這樣控制它

analogWrite(actuatorPin, Amount);

actuatorPin是執(zhí)行器所在的銷釘。數(shù)量可以是0到255之間的數(shù)字。

myServo.write

讓我們使用一些伺服器。

myServo.write(Val);

首先我們告訴什么伺服,在這種情況下myServo。然后我們說寫一個介于0和180之間的值。就像你移動的伺服器一樣。

步驟4:調(diào)試

它的變化很重要能夠調(diào)試腳本。這樣做的方法是通過與Arduino建立一個串行連接,然后告訴它何時到達(dá)某些點。您可以通過進(jìn)入IDE并按下右上角的按鈕并打開放大鏡來打開串行監(jiān)視器。

Serial.begin

第一步是像這樣開始我們的串行連接

Serial.begin(9600);

這就是Void設(shè)置。這個數(shù)字是波特率,暫時保留在9600。

Serial.print

以下是我們在輸入中的打印方式

Serial.print(“Hello world”);

Serial.print(AsensorVal);

第一個將Hello World打印到串行監(jiān)視器中。第二個打印模擬輸入的值。

Serial.println

Serial.println與Serial.print相同但它開始一個新行用它。所以,例如。如果我使用Serial.print命令繼續(xù)打印3,它將收到333333333333.現(xiàn)在,如果我們使用Serial.println打印它,它將收到它

3

3

3

明白了。

第5步:示例

5v Arduino怎么編程

在這里,我將向您展示一個腳本,顯示我們學(xué)到的一切。如果要構(gòu)建它,請按照頂部的原理圖進(jìn)行操作。左邊的電位器是pot1,控制伺服,右邊的電位器是pot2,控制LED的亮度。按鈕控制LED是打開還是關(guān)閉。

#include

Servo myServo; // Registering our Servo

int servoPin = 9; // The Pin our Servo is on

int lightPin = 3; // The Pin our LED is on

int potPin1 = A1; // The Pin our Potentiometer that controls the Servo is on

int potPin2 = A0; // The Pin our Potentiometer that controls the LED is on

int buttPin = 6; // The Pin our Button is on

void setup(){

myServo.attach(servoPin); // Attaching our servo

pinMode(lightPin, OUTPUT); // Registering our LED Pin as a Output

pinMode(potPin1, INPUT); // Registering our Servo Potentiometer Pin as a Input

pinMode(potPin2, INPUT); // Registering our LED Potentiomerer Pin as a Input

pinMode(buttPin, INPUT); // Registering our Button Pin as a Input

Serial.begin(9600); // Starts the Serial communacation

}

void loop(){

int pot1Val = analogRead(potPin1); // Gets Pot1’s current value

pot1Val = map(pot1Val, 200, 823, 0, 180); // Mapping it so that it removes the beginning and the end of the Pots range

pot1Val = constrain(pot1Val, 0, 180); // Insures that the Servo Input stays between 0 and 180

myServo.write(pot1Val); // Makes the servo move to the current location

Serial.print(“Pot1 value is: ”); // Starts printing in Debug Info

Serial.println(pot1Val); // It‘s now set up so it will say “Pot1 value is: (Current Value)”

int pot2Val = analogRead(potPin2); // Gets Pot2’s current value

pot2Val = map(pot2Val, 0, 1023, 0, 255); // Maps it accordingly

Serial.print(“Pot2 value is: ”); // starts printing in Debug Info

Serial.println(pot2Val); // It will say “Pot2 value is: (Current Value)”

int button = digitalRead(buttPin); // Gets the state of the Button

if(button == 1){ // The way the buttons is set up, 1 means it is being pressed

analogWrite(lightPin, pot2Val); // If its true then turn on the led at this brightness

}

else{ // Else

digitalWrite(lightPin, LOW); // If ELSE is true, which means IF is false, then turn off led

}

delay(50); // Makes a small delay so it isn‘t running every millisecond.

}

步驟6:謝謝

沒有進(jìn)一步的麻煩,我必須告別你再見并感謝您的閱讀。我希望這里的信息是有道理的。

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

    關(guān)注

    190

    文章

    6526

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    深入解析DS1836/A/B/C/D 3.3V/5V MicroManager

    深入解析DS1836/A/B/C/D 3.3V/5V MicroManager 在電子設(shè)備的設(shè)計中,電源管理和系統(tǒng)復(fù)位是至關(guān)重要的環(huán)節(jié)。DS1836/A/B/C/D 3.3V/5V
    的頭像 發(fā)表于 02-25 16:35 ?504次閱讀

    MAX680/MAX681:+5V 到 ±10V 電壓轉(zhuǎn)換器的深度解析

    MAX680/MAX681:+5V 到 ±10V 電壓轉(zhuǎn)換器的深度解析 在電子設(shè)計領(lǐng)域,電壓轉(zhuǎn)換是一個常見且關(guān)鍵的環(huán)節(jié)。今天我們就來深入探討一下 Maxim Integrated 公司
    的頭像 發(fā)表于 02-12 11:05 ?321次閱讀

    LTC1046 “Inductorless” 5V to –5V 轉(zhuǎn)換器:特性、應(yīng)用與設(shè)計要點

    LTC1046 “Inductorless” 5V to –5V 轉(zhuǎn)換器:特性、應(yīng)用與設(shè)計要點 在電子設(shè)計領(lǐng)域,電壓轉(zhuǎn)換是一個關(guān)鍵環(huán)節(jié)。今天我們要探討的 LTC1046 是一款具有獨特優(yōu)勢的“無電感
    的頭像 發(fā)表于 02-12 10:15 ?290次閱讀

    MAX5008:可編程電流限制的5V USB電荷泵調(diào)節(jié)器

    MAX5008:可編程電流限制的5V USB電荷泵調(diào)節(jié)器 在電子設(shè)備的設(shè)計中,電源管理是至關(guān)重要的一環(huán)。今天要給大家介紹一款來自Maxim的產(chǎn)品——MAX5008,這是一款具有可編程電流限制的
    的頭像 發(fā)表于 02-11 16:55 ?528次閱讀

    ADS8681IPWR 具有可編程 (±12/±10/±6/±5/±2.5V) 輸入范圍、5V 電源的 16 位、1MSPS、1 通道 SAR ADC

    ADS8681IPWR具有可編程(±12/±10/±6/±5/±2.5V)輸入范圍、5V電源的16位、1MSPS、1通道SARADC產(chǎn)品型號:ADS8681IPWR產(chǎn)品品牌:TI/德州
    的頭像 發(fā)表于 02-04 11:33 ?185次閱讀
    ADS8681IPWR   具有可<b class='flag-5'>編程</b> (±12/±10/±6/±<b class='flag-5'>5</b>/±2.5<b class='flag-5'>V</b>) 輸入范圍、<b class='flag-5'>5V</b> 電源的 16 位、1MSPS、1 通道 SAR ADC

    TI TS5V522C:5V 5位視頻交換開關(guān)的深度解析

    TI TS5V522C:5V 5位視頻交換開關(guān)的深度解析 在電子設(shè)計領(lǐng)域,視頻信號處理與交換一直是一個關(guān)鍵且具有挑戰(zhàn)性的主題。德州儀器(TI)的TS5V522C作為一款高性能的
    的頭像 發(fā)表于 01-14 11:35 ?800次閱讀

    N32 MCU IO 5V 耐壓選型指南

    支持5V耐壓IO的MCU能夠直接承受5V電壓輸入,能夠增強系統(tǒng)魯棒性,有效防止意外損壞。01如何快速判斷一顆MCU是否支持5V耐壓?選型時,無需通讀全篇數(shù)據(jù)手冊,只需重點關(guān)注以下兩處關(guān)鍵信息:●絕對
    的頭像 發(fā)表于 11-04 11:31 ?551次閱讀
    N32 MCU  IO <b class='flag-5'>5V</b> 耐壓選型指南

    鋰電池3V\3.3V\3.7V5V升壓芯片,選型指南

    3.7V5V的本質(zhì)是 “電壓搬運工+穩(wěn)壓器”,把電池變化的電壓轉(zhuǎn)化成設(shè)備需要的恒定5V,解決鋰電池直接供電不穩(wěn)的問題。有哪些適配的芯片呢?
    的頭像 發(fā)表于 09-09 16:50 ?1450次閱讀
    鋰電池3<b class='flag-5'>V</b>\3.3<b class='flag-5'>V</b>\3.7<b class='flag-5'>V</b>升<b class='flag-5'>5V</b>升壓芯片,選型指南

    FS5282輸入5V雙節(jié)串聯(lián)鋰電池升壓充電IC

    FS5282輸入5V雙節(jié)串聯(lián)鋰電池升壓充電IC
    發(fā)表于 09-08 18:53 ?2次下載

    FS4068升壓充電管理5V升壓充電16

    FS4068升壓充電管理5V升壓充電16.8V
    發(fā)表于 09-08 18:53 ?0次下載

    恩智浦MCX E系列5V MCU發(fā)布

    MCX E系列是恩智浦豐富的MCX產(chǎn)品組合中特別注重可靠性與安全性的系列。隨著該系列的推出,恩智浦進(jìn)一步豐富了其5V兼容的MCU產(chǎn)品線,為從3V5V的設(shè)計提供一致的開發(fā)體驗,幫助工程師在復(fù)雜環(huán)境中打造高可靠性的系統(tǒng)。
    的頭像 發(fā)表于 08-16 17:36 ?4788次閱讀
    恩智浦MCX E系列<b class='flag-5'>5V</b> MCU發(fā)布

    德州儀器MSPM0H321x系列5V MCU的優(yōu)勢

    盡管通用系統(tǒng)設(shè)計趨向于采用較低的電源電壓,但由于信噪比的物理特性和 5V 傳感器的普及,5V 電路仍然是一種流行的設(shè)計方法。但是,選擇 5V MCU 并不意味著您需要在性能、低功耗或安全性等現(xiàn)代 MCU 優(yōu)勢上有所妥協(xié)。
    的頭像 發(fā)表于 08-16 09:42 ?1612次閱讀

    Arduino與LabVIEW聯(lián)合編程指南

    Arduino編程并與LabVIEW上位機結(jié)合實現(xiàn)設(shè)備的遠(yuǎn)程控制與數(shù)據(jù)采集。
    發(fā)表于 06-19 15:54 ?3次下載

    Analog Devices / Maxim Integrated MAXM17572 5V輸出評估套件數(shù)據(jù)手冊

    Analog Devices Inc. MAXM17572 5V輸出評估套件用于評估MAXM17572高電壓、高效率、同步降壓直流-直流電源模塊。 套件針對5V輸出編程,并提供高達(dá)1A負(fù)載電流1A
    的頭像 發(fā)表于 06-15 14:53 ?892次閱讀

    SL4011芯片USB的5V升9V 5V升12V 內(nèi)置MOS管 性價比解決方案

    SL4011芯片的5V升壓至9V/12V設(shè)計要點 SL4011作為一款高效DC-DC升壓芯片,可支持5V輸入升壓至9V或12
    發(fā)表于 04-09 16:07