1. 程式人生 > >Arduino學習(一):入門篇:軟硬體安裝 以及 hello,world編譯執行

Arduino學習(一):入門篇:軟硬體安裝 以及 hello,world編譯執行

Arduino是一款微控制器開發板,是個很好上手的入門級開發板,適合於用於開發電子產品原型,開發語言採用C,其特點是簡單、方便、軟體庫多、模組配件多。

一、微控制器, MCU

微控制單元(Microcontroller Unit,  即MCU) ,又稱單片微型計算機(Single Chip Microcomputer ).
是一種積體電路晶片, 將CPU、儲存器、I/O介面等裝配在一塊晶片上,就構成了一臺單片微型計算機(簡稱微控制器)。

微控制器使用非常廣泛,用於各類電子物體:

工業自動化:資料採集、測控技術。
智慧儀器儀表:數字示波器、數字訊號源、數字萬用表、感應電流表等。
消費類電子產品:洗衣機、電冰箱、空調機、電視機、微波爐、手機、IC卡、汽車電子裝置等。
通訊方面:調變解調器、程控交換技術、手機、小靈通等。
武器裝備:飛機、軍艦、坦克、導彈、太空梭、魚雷制導、智慧武器等。

二、Arduino是一款微控制器開發板,  板上使用了ATmel公司的AVR系列微控制器,配合Arduino IDE進行開發,程式設計簡單、易於上手。

與其它微控制器一樣,Arduino可用於製造各類電子物品。

讓我們進入Arduino世界,動手體驗微控制器開發的樂趣

三、初識Arduino

第一步:購買一個Arduino開發板

由於使用的晶片型號不同,Arduino有很多版本,比如:Arduino UNO, Arduino Due, Arduino Leonardo, Arduino Nano等。

我推薦一個便宜的: Arduino Nano V3.0, 在淘寶上售價僅約14元(國內版),大小如U盤,小巧玲瓏。

如下圖: 接下來的學習,我以這塊板為基礎 (其它版本的Arduino也是大同小異的)


Arduino Nano V3.0 板上有 一個MCU、一個Mini USB介面、指示燈、數十個引出管腳 、串列埠管腳等。

除此之外,你還要有一條USB線,用於連線電腦USB口到開發板的Mini USB。

Arduino Nano V3.0 板使用的是 ATmega 328晶片,這是一塊MCU晶片,工作電壓是5V, 有32K程式設計記憶體空間。

板上兩側的引出管腳如下圖,要了解清楚:


其中:

        GND 是 電源地,  5V 、 3.3V是兩個正電壓引出腳。 VIN是電源輸入腳

  D1 -  D13 是 數字IO腳

    A0 - A7 是 模擬輸入腳

  RST是復位腳

    RX, TX 分別是序列通訊收、髮腳

第二步:在電腦上安裝 Arduino IDE

Arduino IDE 是 Arduino的整合開發環境,用於微控制器軟體程式設計、下載、測試等。

到官網 http://www.arduino.cc 下載 Arduino IDE, 安裝完成。

第三步:安裝USB驅動程式

Arduino 通過USB線連線PC。對於Windows,必須安裝USB驅動程式,否則Windows將不認識Arduino開發板,無法連線。

USB驅動程式跟你的Arduino上使用的USB晶片型號有關。 (USB晶片一般在開發板的背面,上面印有型號)

對於官方版的Arduino Nano, 板上的USB晶片型號是FT232RL. 驅動安裝方法如下:

方式一:到 http://www.ftdichip.com/Drivers/VCP.htm 下載驅動程式,安裝

我買的Arduino Nano是國內版的,USB晶片型號是CH340T, 驅動在這裡下載:

驅動安裝完成,用USB線將Arduino連線到PC的USB口,則PC應能識別,併為PC增加了一個串列埠。在“我的電腦-屬性-硬體-裝置管理”中可以看到它,請記下它的串列埠號(下圖是 com4):


如果驅動未安裝,或驅動安裝不正確(與晶片型號不匹配),則會在裝置管理器中表現為一個“未知裝置”。

此時,應重新安裝驅動。 

Arduino IDE安裝目錄下有一個drivers目錄,包含了Arduino官方版本的驅動程式。可以選中未知裝置,更新驅動程式,將搜尋目錄指向Arduino IDE安裝目錄下有一個drivers目錄試試。

第四步:PC連線Arduino, 啟動Arduino IDE

驅動正確安裝完成, 用USB線將Arduino連線到PC的USB口。在PC上開啟Arduino IDE. 點選單“工具-開發板”中,選擇正確的開發板型號。點選單“工具-埠”選擇正確的串列埠(上一步裝置管理器中顯示的口串列埠)。如下圖:


到此,Arduino開發環境搭好了,可以寫程式了。

第五步:編寫第一個Arduino程式:hello,world

Arduino 採用C語言開發,所以,你必須懂得基本的C語言。

在ArduinoIDE中建立一個新專案,存檔為hello.

IDE將自動給每一個新專案的程式檔案中新增兩個函式 setup() 和 loop(), 如下圖:


Arduino程式不需要寫 main()函式 (IDE會自動生成main)。 必須有setup() 和 loop()函式。

setup() 函式是設定函式,主要用於寫初始化相關的程式碼。微控制器在啟動後,只調用一次setup()函式。

loop()函式是迴圈函式。微控制器在setup()函式執行完成後,呼叫loop()函式,loop()函式執行完成後,將迴圈呼叫loop()函式。

Arduino的工作機制,用C語言的理解方式是:

void main()
{
    setup();

    while(1) {
        loop();
     }
}

接下來,在Arduino程式寫入以下程式碼。
void setup() {
  Serial.begin(9600); //初始化串列埠,波特率為9600
}

void loop() {
  Serial.println("hello, world"); //向串列埠列印字串
}

接下來,編譯。 編譯完成後,將編譯後的程式上傳到Arduino開發板中。

Arduino IDE 左上角,有兩個按鈕,如下圖。 

先按編譯按鈕進行編譯。編譯正確,則視窗下方有提示。編譯出錯,也有提示。

編譯成功後,按上傳按鈕。上傳完成後,視窗下方有提示。


可執行程式一經上傳到開發板後,將立即開始執行。

現在,hello程式已經開始執行了。

Arduino IDE 中,點選單“工具-串列埠監視器”,則出現串列埠監視視窗。可以看到,程式的執行結果顯示出來了:


程式已經在開發板上執行,並通過串列埠不斷向PC發來訊息:hello, world.

恭喜你的第一個Arduino程式開發、執行起來了。

Hello, Arduino.

相關推薦

Arduino學習入門軟硬體安裝 以及 hello,world編譯執行

Arduino是一款微控制器開發板,是個很好上手的入門級開發板,適合於用於開發電子產品原型,開發語言採用C,其特點是簡單、方便、軟體庫多、模組配件多。 一、微控制器, MCU 微控制單元(Microcontroller Unit,  即MCU) ,又稱單片微型計算機(S

Arduino學習

5.5 nbsp most The this created ati 一個 都是 Arduino IDE自然是從官網下載的。pinMode(pin, mode):設置引腳。第一個參數表示設置的引腳,第二個參數表示將要把引腳設置成的模式。digitalWrite(pin, v

Spark學習--Spark入門介紹和安裝

本次主要介紹spark的入門概念和安裝 Spark概念 Spark安裝 Spark HA 高可用部署 1. Spark概念 1.1 什麼是Spark Spark 是一種快速、 通用、 可擴充套件的大資料分析引擎, 2009 年誕生於加州大學伯克利分校 AM

SpringMVC 學習——SpringMVC 入門

package com.xuehj.springmvc.handler; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping;

photoshop學習-切圖

前言         作為一個新時代的後端工程師,總想著去體驗新的事務,其實,我們的人生不就是由新的體驗一點點構成的嗎?而且,做一些前端同學的活,也就更能瞭解他們,這樣在工作中我覺得也可以提高工作效率的啦。廢話不多說,開始嘍! 材料準備         你

JavaWeb學習———JavaWeb入門

一、基本概念 1.1、WEB開發的相關知識   WEB,在英語中web即表示網頁的意思,它用於表示Internet主機上供外界訪問的資源。  Internet上供外界訪問的Web資源分為: 靜態web資源(如html 頁面):指web頁面中供人們瀏覽的資料始終是不變。

Struts2學習————Struts2入門

        首先推薦一本書,雖然我還沒看過,但是我以後肯定會看的,《Struts+技術內幕》提取密碼:kg6w 。現在只是停留在會使用struts2的層次,自己也想繼續深入研究,但是感覺自己的知識面還沒那麼廣,那就等以後工作之後,在回過頭來將那幾個框架研究一下,寫點有深度的文章,而此係列的文章,只是個人的

Spring學習-Spring入門示例

從本篇部落格開始,後續將重點學習Spring,並記錄學習過程中的點點滴滴。 開發環境:jdk 1.7,Eclipse Mars, Spring Framwork 4.3.0 1、 在Eclipse中

Spring Boot 基礎知識學習——快速入門

          SpringBoot 基礎知識學習(一)——快速入門 一、背景介紹          今天是2016年11月15號,接觸微服務大概一年多的時間,並且我們團隊已經在去年使用微服務架構

mybatis學習 mybatis入門

       mybatis(3.3.1version)是一個比較輕量級的O/R Mapping框架,跟Hibernate對比安裝和配置都要簡單許多。將mybatis.jar引入到專案中即可。安裝之後下面的工作就是要配置相關檔案。mybatis配置檔案主要包含兩個部門一個是核心配置檔案也可稱為主配檔案,另一

mybatis學習 快速入門

一、Mybatis介紹      MyBatis是一個支援普通SQL查詢,儲存過程和高階對映的優秀持久層框架。MyBatis消除了幾乎所有的JDBC程式碼和引數的手工設定以及對結果集的檢索封裝。MyBatis可以使用簡單的XML或註解用於配置和原始對映,將介面和Java的POJO(Plain Old Ja

MPC8313開發板學習之NFS配置mount bad file descriptor

NFS主機配置步驟 在客戶端配置當輸入mount –o nolock 192.168.1.101:/project/target /mnt/nfs/ ,此時一定要確保在自己的本機主機已經存在/pro

salesforce 零基礎開發入門學習Salesforce功能介紹,IDE配置以及資源下載

目前國內已經有很多公司做salesforce,但是國內相關的資料確是少之又少。上個月末跳槽去了新公司,主要做的就是salesforce,不過當時想要看一些相關資料確實比較難。為了避免想要零基礎學習的人少走一點彎路,所以整理一下這幾天學到的簡單的東西,包括登入salesforce後如何操作,如何下載配置IDE

mybatis學習基礎入門

Mybatis架構 SqlMapConfig.xml 核心配置檔案。 mapper.xml 實體的對映配置檔案,書寫sql。 SqlSessionFactory session的工廠。 SqlSession 核心操作物件。 一、使用

GO語言教程Linux( Centos)下Go的安裝, 以及HelloWorld

寫在前面: 目前,Go語言已經發布了1.5的版本,已經有不少Go語言相關的書籍和教程了,但是看了一些後,覺得還是應該自己寫一套Go語言的教程。給廣大學習Go語言的朋友多一種選擇。因為,咱寫的教程,向來和其他的不一樣。 尊重勞動,如果轉載,請註明出處:常城的專欄 Go語言在

pandas系列學習pandas入門

作者:chen_h 微訊號 & QQ:862251340 微信公眾號:coderpai 介紹 pandas 是一套用於 Python 的快速,高效的資料分析工具。近年來它的受歡迎程度飆升,與資料科學和機器學習等領域的興起同步。 正如 Numpy 提供了基礎

python資料分析新手入門課程學習——資料獲取來源慕課網

一、資料獲取手段 1.資料倉庫(DW):將所有業務資料經彙總處理構成             1)特點:              全部事實的記錄;部分維

機器學習快速入門線性分類器

定義 假設特徵與分類結果存線上性關係的模型,這個模型通過累加計算每個維度的特徵與各自權重的乘積來幫助類別決策。 線性關係公式 :f(w,x,b)=w^tx+b x=(x1,x2,…xn) 代表n維特徵列向量,w=(w1,w2,…wn)代表對應的權

使用Keras進行深度學習Keras 入門

Keras是Python中以CNTK、Tensorflow或者Theano為計算後臺的一個深度學習建模環境。相對於其他深度學習的計算軟體,如:Tensorflow、Theano、Caffe等,Keras在實際應用中有一些顯著的優點,其中最主要的優點就是Ker

CSS3總結學習CSS3用戶界面

interface 繪制 如果 位置 nbsp 瀏覽器 none ble adding 在CSS3中,新的用戶界面屬性有很多,本文重點介紹resize,box-sizing,offset。 瀏覽器支持,如下圖,圖片源於W3school 1.CSS Resizing 在cs