色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

完善資料讓更多小伙伴認識你,還能領(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ù),我們可以在頂部的一個位置更改它而不是通過整個代碼并且每次引用時都必須更改它。這個命令進入Void設(shè)置,大多數(shù)命令進入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來進一步采用此命令。這使得當(dāng)IF不活動時,ELSE就是。

if (a == b){

{

else{

}

現(xiàn)在當(dāng)IF為負數(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)在我們進行了這些設(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建立一個串行連接,然后告訴它何時到達某些點。您可以通過進入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)建它,請按照頂部的原理圖進行操作。左邊的電位器是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:謝謝

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

聲明:本文內(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)注

    188

    文章

    6477

    瀏覽量

    187641
收藏 人收藏

    評論

    相關(guān)推薦

    EE-39:將5V閃存與ADSP-218x接口(字節(jié)編程算法)

    電子發(fā)燒友網(wǎng)站提供《EE-39:將5V閃存與ADSP-218x接口(字節(jié)編程算法).pdf》資料免費下載
    發(fā)表于 01-15 16:11 ?0次下載
    EE-39:將<b class='flag-5'>5V</b>閃存與ADSP-218x接口(字節(jié)<b class='flag-5'>編程</b>算法)

    EE-103:在5V和3.3V IC之間執(zhí)行電平轉(zhuǎn)換

    電子發(fā)燒友網(wǎng)站提供《EE-103:在5V和3.3V IC之間執(zhí)行電平轉(zhuǎn)換.pdf》資料免費下載
    發(fā)表于 01-03 15:01 ?0次下載
    EE-103:在<b class='flag-5'>5V</b>和3.3<b class='flag-5'>V</b> IC之間執(zhí)行電平轉(zhuǎn)換

    使用帶時鐘輸出的TPS51103EVM集成3.3V/5V電源LDO

    電子發(fā)燒友網(wǎng)站提供《使用帶時鐘輸出的TPS51103EVM集成3.3V/5V電源LDO.pdf》資料免費下載
    發(fā)表于 12-20 16:25 ?0次下載
    使用帶時鐘輸出的TPS51103EVM集成3.3<b class='flag-5'>V</b>/<b class='flag-5'>5V</b>電源LDO

    5V過壓保護電路的原理分析

    采用5V供電的設(shè)備,當(dāng)供電電壓因各種原因變得過高,可能會燒壞設(shè)備。 于是5V過壓保護電路有了用武之地。 ▲ 5V過壓保護電路 一、電路分析1、當(dāng)輸入電壓 Vin < 5.1V 時:(下
    的頭像 發(fā)表于 12-20 09:56 ?333次閱讀
    <b class='flag-5'>5V</b>過壓保護電路的原理分析

    隔離式40Mbps、3.3V5V Profibus接口

    電子發(fā)燒友網(wǎng)站提供《隔離式40Mbps、3.3V5V Profibus接口.pdf》資料免費下載
    發(fā)表于 12-18 16:05 ?0次下載
    隔離式40Mbps、3.3<b class='flag-5'>V</b>至<b class='flag-5'>5V</b> Profibus接口

    5V TVS型號,怎么選好?

    有客戶問:“5V電壓的TVS二極管有哪些型號呢?”、“5V TVS管怎么選型好呢?”、“TVS管誰家做得好?”、“哪些品牌的TVS二極管質(zhì)量比較好呢?”、“國產(chǎn)品牌東沃DOWO怎么樣?好不好”……
    的頭像 發(fā)表于 12-13 10:08 ?680次閱讀
    <b class='flag-5'>5V</b> TVS型號,怎么選好?

    具有3.3V/5V輸入和12V/15V輸出的信號和電源隔離

    電子發(fā)燒友網(wǎng)站提供《具有3.3V/5V輸入和12V/15V輸出的信號和電源隔離.pdf》資料免費下載
    發(fā)表于 09-26 10:12 ?3次下載
    具有3.3<b class='flag-5'>V</b>/<b class='flag-5'>5V</b>輸入和12<b class='flag-5'>V</b>/15<b class='flag-5'>V</b>輸出的信號和電源隔離

    航天級100krad可編程負電壓源(–5V至0V)電路

    電子發(fā)燒友網(wǎng)站提供《航天級100krad可編程負電壓源(–5V至0V)電路.pdf》資料免費下載
    發(fā)表于 09-20 09:32 ?1次下載
    航天級100krad可<b class='flag-5'>編程</b>負電壓源(–<b class='flag-5'>5V</b>至0<b class='flag-5'>V</b>)電路

    5V接口資料分享

    電子發(fā)燒友網(wǎng)站提供《5V接口資料分享.pdf》資料免費下載
    發(fā)表于 09-07 10:39 ?0次下載
    <b class='flag-5'>5V</b>接口資料分享

    5V傳感器和信號連接到3.3V輸入SAR ADC

    電子發(fā)燒友網(wǎng)站提供《將5V傳感器和信號連接到3.3V輸入SAR ADC.pdf》資料免費下載
    發(fā)表于 09-06 10:09 ?0次下載
    將<b class='flag-5'>5V</b>傳感器和信號連接到3.3<b class='flag-5'>V</b>輸入SAR ADC

    atx電源-5v電壓作用是多少

    ATX電源是計算機中的一種電源供應(yīng)器,其主要作用是將交流電源轉(zhuǎn)換為計算機所需的直流電源。在ATX電源中,除了常見的+12V、+5V和+3.3V電壓外,還有一個-5V電壓。 -
    的頭像 發(fā)表于 08-23 14:25 ?1150次閱讀

    ESP32 Pico Kit使用5v管腳供電無法連接藍牙要怎么處理?

    是USB供電,電腦能正常掃描到ESP32 Pico Kit的藍牙信息。 然后拔掉USB,用5v管腳供電,這時候電腦掃描不到ESP32 Pico Kit的藍牙信息。 5v的電源,用面包版的電源和arduino芯片的電源都試過,電腦
    發(fā)表于 06-25 07:17

    ISL28634EV2Z 5V、軌-軌I/O、零漂移、可編程增益放大器評估板

    電子發(fā)燒友網(wǎng)站提供《ISL28634EV2Z 5V、軌-軌I/O、零漂移、可編程增益放大器評估板.rar》資料免費下載
    發(fā)表于 06-07 16:31 ?0次下載

    5V Tolerant I/O的意思是STM32和5V供電的芯片可以直接通信嗎?

    5V Tolerant I/O的意思是STM32和5V供電的芯片可以直接通信(不需要加電平轉(zhuǎn)換芯片)么?
    發(fā)表于 05-17 16:38

    求助,NucleoL432使用外部5V供電到+5V為什么不能運行?

    最近項目需要,用了一個NucleoL432KCT6作為核心板,外部5V供電接到+5V引腳,發(fā)現(xiàn)直接接+5V引腳程序不運行, 但是接VIN程序就可以正常運行,直接USB供電也是可以運行的,很奇怪, 看了手冊,也說是可以
    發(fā)表于 04-08 08:17
    主站蜘蛛池模板: 欧美午夜福利主线路 | 色多多污网站在线观看 | 男女作爱在线播放免费网页版观看 | 成人免费观看国产高清 | 夜夜艹日日干 | 超级乱淫片午夜电影网99 | 999视频精品全部免费观看 | 97色伦图片97色伦图影院久久 | 久久婷五月综合色啪网 | 在线中文字幕 | 乱亲女H秽乱长久久久 | 不卡的在线AV网站 | 亚洲AV无码一区二区三区乱子伦 | 精品极品三大极久久久久 | abp-146| 久久99热狠狠色一区二区 | 国产看午夜精品理论片 | 口工漫画r18全彩啪啪 | 国产亚洲精品精品精品 | yellow日本动漫观看免费 | 国产成人无码一区AV在线观看 | 天天看高清影视在线18 | 99国产亚洲精品无码成人 | 5g天天影院天天看天天爽 | 性欧美xxxxporn | 国产AV一区二区三区日韩 | 国产51麻豆二区精品AV视频 | 在线观看日本污污ww网站 | 国产精品人妻无码久久久奥特曼 | 国产超嫩一线天在线播放 | 蜜芽最新域名解析网站 | 人妖欧美一区二区三区四区 | caoporm国产精品视频免费 | 中文无码熟妇人妻AV在线 | 把手戳进美女尿口里动态图 | 欧美国产精品主播一区 | 最近高清中文字幕无吗免费看 | 果冻传媒MV免费播放在线观看 | 亚洲欧美高清在线 | 国产自拍视频在线一区 | 精品 在线 视频 亚洲 |