Arduino教程┃初學者要知道的5個Arduino基本功能,高手勿點

2021-01-10 初始化工作室

寫這篇文章是因為最近在梳理Arduino學習筆記,回想起自己當初第一次接觸Arduino時候的那種懵懂和興奮,現在還記憶猶新,當時只希望對於Arduino各種秘密馬上能知曉,可惜當時的網際網路沒有那麼多學習資源,只能是自己慢慢摸索,走了不少的彎路,甚至是犯了錯誤。現在回想起來主要是當時對於Arduino的基礎性知識不明確、不系統,因此想分享一些系統的基礎知識給初學者,先和你聊聊5個Arduino的基本功能。

1、數字輸出

我們可以使用數字輸出功能,控制一個LED燈,確保此電路正確,還可以控制電機,製造出聲音甚至操控更多設備。

以Arduino UNO為例,0-13、A0-A5都可以接,使用digitalWrite(管腳,HIGH/LOW)命令,使用之前要使用pinMode(管腳, OUTPUT);設置該管腳為輸出狀態。下圖為Mixly中的「數字輸出模塊",可以看到管腳的選擇範圍以及取值範圍。

Mixly數字輸出模塊

提醒:不同的數字傳感器觸發(燈亮、蜂鳴器鳴叫)方式不一樣,有的是低電平觸發,有的是高電平觸發,請注意區分,當初我也是傻傻的搞不清。

參考Arduino代碼如下:

void setup(){

pinMode(0, OUTPUT);

}

void loop(){

digitalWrite(0,HIGH);

}

2、模擬輸出

我們可以使用模擬輸出功能控制LED燈的亮度,不僅是使LED發光或者熄滅,還可讓它停留在兩者之間的某種亮度上。此外,我們甚至可以控制電機的轉速。

模擬輸出所能接的管腳不像數字輸出,只能接幾個PWM管腳:3、5、6、9、10、11,這點請你一定注意,這也是我有過慘痛的教訓的。如下圖Mixly當中的模擬輸出模塊所示,請注意觀察右側的代碼區,如果你是使用Arduino IDE直接代碼編程,那麼其命令就是:analogWrite(管腳,0-255);不需要使用pinMode命令。請你注意模擬輸出的取值範圍是0-255。

Mixly模擬輸出模塊

參考Arduino代碼如下:

void setup(){

}

void loop(){

analogWrite(3,0);

}

3、數字輸入

數字輸入功能可以讓我們獲知簡單傳感器的狀態,例如:按鈕、傾角開關。

數字輸入我們可以通過傳感器上的電位器(下圖光線傳感器中間藍色的突起,上面有十字架)調整我們需要的臨界值,這個也是初學者會忽略的地方。

光線傳感器

數字輸入命令:digitalRead(管腳);管腳可以是0-13、A0-A11,使用該命令前要使用pinMode(管腳, INPUT);將該管腳設置為輸入狀態。米思齊的編程模塊如下圖所示:

Mixly數字輸入模塊

參考Arduino代碼如下(使用了串口輸出):

void setup(){

pinMode(0, INPUT);

Serial.begin(9600);

}

void loop(){

Serial.println(digitalRead(0));

}

4、模擬輸入

我們可以使用模擬輸入功能讀取模擬傳感器的連續信號,而不只是開/關狀態的信號,例如:光線傳感器、電位計模塊。

模擬輸入使用analogRead(管腳);管腳只能是A0-A7,不需要使用pinMode。Mixly中的模塊如下:

Mixly模擬輸入模塊

參考Arduino代碼如下(使用了串口輸出):

void setup(){

Serial.begin(9600);

}

void loop(){

Serial.println(analogRead(A0));

}

5、串行通信

這使我們能夠與計算機進行溝通和數據交換,讓我們能夠監視正在運行的Arduino接收或者發送的數據。

使用時,先設置波特率,如下面的Arduino代碼所示:

void setup(){

Serial.begin(9600);

}

void loop(){

Serial.println("hello");

}

這個案例是串口輸出。串口輸出有很多種形式,你可以像下圖一樣,在mixly中一一進行嘗試。

Mixly串口輸出

還有串口輸入,請看下圖代碼:

Mixly串口輸入

參考Arduino代碼如下:

void setup(){

Serial.begin(9600);

}

void loop(){

if (Serial.readString() == "a") {

Serial.println("hello");

}

}

最後,建議大家看我的另一篇文章Arduino教程┃Arduino主板大盤點,你用過哪些呢?

了解各種類型的主板管腳及功能,不同的創意選擇不同的主板。

Arduino UNO

天天初始化,每天學一點。初始化工作室專注於Arduino、Scratch、樂高的學習以及「STEM+」課程的實施,如果你需要更多相關課程,請「關注」我,謝謝。

相關焦點

  • 十個中文例程教會你輕鬆上手製作Arduino智能小車
    ,更要學會修理東西,來看看這位創客是如何修理他的小車的吧!而盒仔的外形和功能完全取決於您的創意。我們可以用它來搞足球比賽,角色扮演,賽車或對戰,甚至拍MV!無線通訊:3個XBEE無線模塊分別在小車、Wii手柄遙控模塊、PC檢測模塊上。
  • 萬能超的arduino學習日記(一)
    本科時候有接觸過arduino,但是由於導師方向原因,轉做了3D列印和動力學分析,所以這裡是啥都會一點點的萬能超,希望能夠和大家一起學習討論。最近由於興趣原因,決定重新撿起arduino,所以決定寫這個萬能超的arduino學習日記跟大家一起重新學習。最開始的入門學習,我選擇跟B站太極創客的學習視頻,因為有基礎,選擇二倍速觀看學習。
  • arduino從零開始(4)PWM與呼吸燈
    我們要在數字電路中輸出模擬信號,就可以使用PWM技術實現。在arduino中,我們常用PWM來驅動LED的暗亮程度,電機的轉速等。我們知道,在數字電路中,電壓信號是離散的: 不是 0(0V)  就是 1(5V或者3.3V), 那麼如何輸出介於 0v 和  5V之間的某個電壓值呢?
  • 數碼管與ARDUINO 開發板的連接使用
    Q0~Q7:8位並行數據輸出,可以直接控制8個LED,或者是七段數碼管的8個引腳。Q7′:級聯輸出端,與下一個74HC595的DS相連,實現多個晶片之間的級聯。對於一個最簡單的74HC595應用來講,可以用單片機的三個數字I/O埠分別控制DS、SH_CP和ST_CP,然後將MR和OE分別接VCC和地。
  • Arduino教程┃模擬土壤溼度傳感器的介紹
    土壤溼度傳感器設計圖1、產品尺寸:31.5mm * 14.0mm* 9.0mm (長x寬x高) ;2.工作電壓3.3V-5V;3.設有固定螺栓孔,方便安裝;4、靈敏度調節電位器:模塊中藍色的電位器是用於土壤溼度的閥值調節,順時針調節,控制的溼度會越大,逆時針越小;通過電位器調節土壤溼度控制閥值,溼度低於設定值時,DO輸出高電平,高於設定值時,DO輸出低電平;可以實現自動對菜園,花園自動澆水,家庭花盆土壤溼度的控制,各種電子比賽,電子積木,arduino設計等;
  • [新課推薦]人工智慧科普活動資源包配套課程Micro:bit+ Arduino...
    人工智慧科普活動資源包配套課程-Micro:bit 課程《人工智慧科普活動資源包配套課程-Micro:bit 課程》一共分為兩個章節20個小節,每個小節5-10分鐘,課程內容包括外部結構搭建和編程演示。
  • Arduino使用光敏電阻實驗
    你只要在IDE中編寫程序代碼,將程序上傳到Arduino電路板後,程序便會告訴Arduino電路板要做些什麼了。 Arduino能通過各種各樣的傳感器來感知環境,通過控制燈光、馬達和其他的裝置來反饋、影響環境。板子上的微控制器可以通過Arduino的程式語言來編寫程序,編譯成二進位文件,燒錄進微控制器。
  • 如何使用Qt為arduino製作圖形界面
    如何使用Qt為arduino製作圖形界面 網絡整理 發表於 2019-11-13 11:11:39 步驟1:安裝Qt
  • 智能家居控制-arduino紅外遙控控制燈
    上一篇文章介紹了 arduino接受智能家具系統中的紅外遙控的解碼在此基礎上,今天就做一個遙控器控制的燈,我們可以將燈換成繼電器,這樣的話就實現了,用紅外遙控機,控制家裡的電器開關,比如燈,電視,插座,洗衣機等接線圖幾原理圖如上,一個板子一個紅外接收器,一個燈(可以換成你想控制的任何設備
  • 一文看懂arduino驅動uln2003操作步進電機的方法
    arduino驅動uln2003操作步進電機的方法   1、網上買的步進電機,很多接線順序都不對。驅動板的電機供電接口可以連接到Arduino的GND和5V取電,但是不推薦這種方法,推薦用獨立的5-12伏1安培的電源或電池組取電。「IN0~IN4」連接arduino的4個數字口(在代碼裡進行相應的設置)。   3、28BYJ-48步進電機的齒輪減速比為64:1,轉速約15轉/分鐘,一些軟體採用某些手段和高電壓電源(如12伏直流)也能達到約25轉/分鐘的轉速。
  • 用Arduino讀取霍爾流量傳感器的脈衝數
    Arduino 可以實現很多功能,今天我們用它來讀取高速脈衝信號。Arduino 可以實現很多功能,今天我們用它來讀取高速脈衝信號。安裝好開發環境,接好線,選擇好通道,點亮板子,連接霍爾流量傳感器至arduino板子,黃線接pin 2.紅色接5V,黑色接GND.把霍爾流量傳感器接在管路上接好小水泵都接好之後,打開水泵開關,水流流過,監視窗口就會顯示脈衝數,每秒鐘更新一次。
  • 敢碰就報警的Arduino Yún系統
    第一步 Arduino基本配置首先,你需要配置自己的Arduino Yún網絡設置,如果你按照教程一步步操作,其實非常簡單。 點擊查看教程.打開瀏覽器,輸入http://arduino.local,然後即能看到Arduino網頁界面了。如果一切操作正常,打開SSH會話。$ sshroot@arduino.local默認密碼是:「arduino」。
  • Arduino+Processing模擬雷達掃描效果教程
    一、前言閱讀此文前請戳這個視頻觀看使用Arduino超聲波傳感器模擬雷達掃描教程,先了解效果,有直觀感受再來看下文。圖2 所需硬體如圖2所示,需要Arduino主板(最好加上擴展板)1塊、超聲波傳感器1個、伺服電機(舵機)1個,1602液晶顯示屏(可選)。
  • LabVIEW+Arduino之四位數碼管顯示
    charScan[] = {0x08, 0x04, 0x02, 0x01}; //位選所對應的掃描碼,對應從pin11掃描到pin8;voidsetup() {DDRB =0xff; // 設置 PORTB為輸出,對應arduino
  • 大牛輕鬆帶你玩轉Arduino智能硬體六-arduino入門:LED流水燈
    (六)arduino入門:LED流水燈    一、本節介紹  在本課中,您將進行一個簡單但有趣的實驗 - 使用LED來創建流動的LED燈。顧名思義,這些流動的燈由連續八個LED連續點亮並逐漸變暗,就像流動的水一樣。
  • Arduino在嵌入式開發中應用案例之arduino點亮LED
    本分享一個通過arduino點亮LED的案例。另一種供電是通過供電插口(在板子上USB插口的下方有個圓形的黑色電源插口),這個供電插口是藍色區域中靠中間的長方形區域,它的電壓可以最高到20V,然後通過NCP1117變成5V電壓,然後再通過LP2985變成3.3V電壓。這裡面有個值得注意的地方是藍色區域的USBVCC出來後連接了一個三極體,三極體上面有個比較器,比較器的正向輸入端連接了一個分壓電路,反向輸入端連接著3.3V。
  • 【Arduino極簡教程】-02Arduino程序的基本結構
    下面是最基本的Arduino程序,只是它沒有做任何事。△ 最基本的Arduino程序要讓程序指揮控制板做你讓它做的事,就需要在參數設置(setup)和循環(loop)這兩個函數裡面填寫控制代碼。 setup()函數的主要功能是在程序運行開始時,對程序進行最初的參數設置。這些參數只設置一次,其中最基本的參數設置是設置引腳的工作模式,是用它來輸入還是輸出。
  • 淺談鋼琴初學者基本教程如何選擇?
    關於鋼琴初學者基本教程,眾說不一,或許大部分鋼琴老師制定的都不太一樣,本文只是討論某部分教材的特點和作用,只供小夥伴參考學習用,實際鋼琴培訓時一切以老師安排的為準。《湯普森淺易鋼琴教程》,也就是《小湯》,《小湯》是採用中央c入門法,一課學習一個音,逐步推進的方式,好處是幼兒會學得比較紮實,不好的是很長一個階段雙手擠在中央c周圍較窄音域彈奏;到第三冊之後出現技術課題不夠明確,句法、連線差強人意等情況。《約翰-湯普森現代鋼琴教程》,即《大湯》,《大湯》是為大一些的小孩編寫的入門教材,其優點是曲目非常豐富,活潑生動,而且選擇性多。
  • 【Ardunio】開發入門教程【一】簡介+數據類型+開發工具
    ArduinoArduino 是一款便捷靈活、方便上手的開源電子原型平臺,包含硬體(各種型號的arduino板)和軟體(arduino IDE)。它適用於藝術家、設計師、愛好者和對於「互動」有興趣的朋友們。
  • 【arduino】童芯派彩屏顯示圖片,圖片取模後在TFT液晶顯示
    彩屏的原理也一樣,只不過因為要表示彩色,所以不能只用「黑」和「白」來表示,需要用更多的數字區分不同的顏色總結:將每個點的顏色信息發送到屏幕模塊上,就能顯示圖像了針對童芯派,童芯派上是128×128個點組成的,即128行,128列,一共128×128個點,如果是用01表示黑白,那麼這些點理論上需要128×128×1b的存儲空間(b是小寫的,即bit,位,8b=1B),如果我們要顯示