108 Arduino教學 介紹成員
為什麼聯合社課
創意機械、資訊研究簡單介紹(專長、成員)
介紹專案
Chris Lin 硬體 : 設計好的pin腳、根據需求有多種選擇性(一種語言)、許多周邊開發板和傳感器
編程環境 : 整合式編輯器、Arduino核心、內建程式庫、範例sketch、編譯器、燒錄程式
Arduino
Refers to a whole family of board that have different advantages and disadvantages
Started as a research project at the Interaction Design Institute of Ivrea in the early 2000s
UNO / Nano / Due / mini
UNO : Atmega328, 16MHz, 32KB of program memory, 1KB of EEPROM, 2KB of RAM, 14 digital I/O, 6 analog inputs, 5V and 3.3V(including a power jack)
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Nano V3.0 : 相較UNO不可接shield,有針腳可放在麵包板上做開發
Mini
Due : 32-bit Atmel SAM3X8E ARM Cortex-M3 CPU
Arduino IDE runs on Win, MacOS, Linux
開放原始電路設計圖
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
電路可獨自運作或與連接之電腦溝通(serial communication)
Open Source : https://github.com/arduino/Arduino
討論區 : https://forum.arduino.cc/
some cool project : https://create.arduino.cc/projecthub
Arduino Nano 簡述
單晶片微控制器(ATmega328)
Atmel corporation, AVR architecture, megaAVR series
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Chris Lin
Atmel半導體公司
Flash, EEPROM, and SRAM are all integrated onto a single chip
Have serial interfaces, which can be used to connect larger serial EEPROMs or flash chips
Harvard architecture 8bits RISC(reduced instruction set computer)
Chris Lin Harvard -> 指令和資料分開

技術參數
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Flash memory for program storage
Chris Lin 存放程式和初始資料
一區程式碼、一區bootloader
主機端的avrdude(AVR downloader/ uploader)和bootloader溝通進行燒錄(不須額外燒錄器=>self-programming)
燒錄工具將編譯後的程式碼燒錄
SRAM(static random access memory)
EEPROMs(electrically-erasable programmalble read-only memory)
Chris Lin 電子抹除式 多次複寫
腳位
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Power : VIN(7-12V)、5V、3V3(3.3V)
Chris Lin regulator
Reset : botton, digitalwrite(reset, LOW), resetFunc()
Serial port (UART) : hardwired TX(1)/RX(0)
Chris Lin Universal Asynchronize Receiver/Transmitter無時脈同步線
需傳送時起始通訊程序(協定上有開始和結束)
名詞 : 序列(串列)、同步、雙工
相對於SPI\I2C同步傳輸(用於CPU和周邊晶片)
Digital Pins :
digitalread()、digitalwrite();pinmode()
PWM(Pulse Width Modulation) :
利用數位訊號高頻率的切換模擬出類比訊號
analogWrite(pin, value) : value介於0~255(可算Duty Cycle)
490 Hz (pins 5, 6: 980 Hz)
Chris Lin Duty Cycle = Ton/Tof(%)
V = Von * Duty Cycle(%)
例如開關頻繁使得看起來比較暗(調整脈波工作週期影響平均值來控制電壓)
Analog Pins :
analogRead()
接收類比訊號(電壓、聲音、光亮、溫度)
ADC(Analog to Digital Converter)
Interrupt(higher priority) : attachInterrupt(digitalPinToInterrupt(pin), ISR, mode)
ISR(Interupt Service Routine)
mode = RISING/FALLING/CHANGE
Interupt occure when voltage changed on assigned pin
SPI(Serial Peripheral Interface) :
MOSI(Master Out Slave In)
MISO(Master In Slave Out)
SS(Slave Select) : en(dis)able device
Device's SS pin low => ignore master(AT mode)
high => listen to master
SCK(Serial Clock) : the palses which syncronizes the transmitted data from the master
I2C :
When start all pins get pulled low.
配置
Reset botton
mini usb
ICSP header :
LEDs : power, TX, RX, LED (D13)
COM port (communication port)
parallel port(印表機) VS. serial port(滑鼠、數據機)
PC上指RS-232(transmitting bit by bit),通常有四個
ATmega has USB to serial converter chip (真正電腦的COM port需查此晶片的data)
傳輸 1 bytes 的資料 = 1 parity bit + 8 data bits + 1 stop bit = 10 bits
Chris Lin Nano在實體層是TTL位準的5V
需FTDI或CH340G轉成RS232軟體層的TX/RX訊號
佈線 & 焊接
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
Image Not Showing
Possible Reasons
The image file may be corrupted The server hosting the image is unavailable The image path is incorrect The image format is not supported
Learn More →
小技巧 :
佈線的時候可以在電路板上先做起點、終點的 記號
焊同一條線的兩端點時先 等一邊稍冷 再做另一邊
焊會碰觸的兩條線同樣需稍做一些等待
從 較矮 之元件 開始焊 (單芯線->排母->排針)
在焊排母的時候需 注意 是否有 歪斜
Arduino Software Requirement Basic Introduction
Chris Lin 關於程式的基本介紹
接著解構我們的程式,函式之後再講
Sketch -> verify(編譯產生二進位碼) -> upload(燒錄)
選擇IDE
install libraries
https://www.arduino.cc/en/Reference/Libraries
set board, port
include libraries
<servo.h>
<SoftwareSerial.h>
Baud : bits per second
set two sides with the same baud (the highest acceptable rate)
use serial monitor to observe
Serial.begin()
Code Introduction
Chris Lin 課程可先讓學員習寫小程式(和我們程式所需功能相關者),可兩周
Chris Lin 上面的筆記本連結是給大家的引導練習題
也許還可以讓大家加寫SPI,秀文字在LCD板(手邊有)
燒錄
步驟 :
開發版"Arduino Nano" -> 處理器"ATmega168P(Old Bootloader) -> 序列埠(COM4)
Online :
Plugin
Serial Monitor
雲端草稿本
IDE
COM Port 驅動程式
燒錄前需按住reset鍵直到出現上傳中字樣立即放開
Arduino app HC-05 藍牙模組
支援SPP(Serial Port Profile序列埠規範)
主從(master/slave)一體型
上圖為無底板類型
上圖為第34腳為KEY類型
HC-05預設為slave,但是可藉由AT指令切換為master。
可以和HC-05之間互連也可以跟手機連,這裡使用HC-05當中有EN,藉由實體鍵進入AT模式的版本,並且示範藍芽為從、手機為主的連接模式。
藍芽連接
HC-05(slave)設定步驟 :
接RXD(Nano的傳送端)、TXD(Nano的接收端)、GND -> 將HC-05程式燒到Nano -> 按住EN實體鍵 -> 將5V接到VCC -> 藍芽板LED慢閃(進入AT Mode) -> 打開序列埠監控視窗 -> 輸入"AT" -> 顯示OK
AT command :
AT+VERSION
AT+UART? (查鮑率)
AT+NAME="the name you want to give"
AT+PSWD="password you want to give"
AT+ROLE? (0 for slave ; 1 for master)
AT+ADDR? (查此藍芽模組MAC)
手機端設定步驟 :
打開藍芽 -> 尋找藍芽Device -> 找到剛剛命名的藍芽或者未更改名稱HC-05 -> 輸入密碼進行配對 -> 如此即完成