上一篇嘗試了壓力感測器(Force-Sensitive Resistor),這一篇則玩玩看彎曲感測器(flex/bend sensor),用法跟電路都差不多。
基本上它就是個電阻,根據我買的產品資料規格書,平常狀態下電阻值約25kΩ,彎曲後電阻值會上升,大概會到100kΩ。
我向Adafruit買的壓力感測器,生產廠商是Spectra Symbol。
電路圖如下,在5V與GND之間串聯彎曲感測器(電阻)與10kΩ,將類比腳位A0接到兩者之間。
實際照片。
底下是程式碼。
#define led_pin 11
#define flex_pin A0
void setup()
{
Serial.begin(115200);
pinMode(led_pin, OUTPUT);
}
void loop()
{
int flex_value = analogRead(flex_pin);
int led_value = map(flex_value, 0, 1023, 0, 255);
analogWrite(led_pin, led_value);
Serial.println(flex_value);
Serial.println(led_value);
Serial.println("-------------");
delay(500);
}
當彎曲感測器在平常狀態下,flex_value的值大概在325,因電路的電壓是5V,Arduino類比腳位的解析度是10位元(0~1023),325 / 1024 * 5 = 1.59,代表該處電壓是1.59,5 - 1.59 = 3.41,也就是說彎曲感測器左右兩端的電位差是3.41。若相信此時彎曲感測器的電阻值是25kΩ,5 / (25000 + 10000) * 25000 = 3.58,嗯,差不多,沒錯。
然後若折彎彎曲感測器,它的電阻值就會上升,那麼flex_value的值就會越來越小,連帶地讓led_value的值越小,LED就會越暗。
Raise your cup, say cheers to the moon, look down on the ground, the shadow is also drinking with me. I'm not a lonely drinker.
2013/09/18
Arduino練習:壓力感測器(Force-Sensitive Resistor)
類比輸入的形式非常多,譬如我之前寫過的可變電阻與光敏電阻,這一篇則是壓力感測器(Force-Sensitive Resistor),顧名思義,加諸不同的力量(擠壓、重量),便會得到不同的電阻,進而改變從Arduino類比輸入腳位所讀取到的電壓值。
這是我向Adafruit買的壓力感測器,型號是Interlink 402,圓形部分半徑1/2吋可感測壓力,有兩支腳,可插入麵包板。
所謂壓力感測器(Force-Sensitive Resistor),其實就是個電阻,根據施加的壓力,其電阻值會改變,此產品的規格如下,無壓力時電阻幾近無限大,施加壓力後,電阻就會變小。
不過施加壓力的力道與電阻之間的變化關係,並非線性。
底下是電路圖,接法跟可變電阻很像,壓力感測器有兩支腳,其中一支接5V,另一支除了串聯10k歐姆電阻接地外,也接到Arduino的類比輸入腳位A0。
我另外從Arduino數位腳位11(具PWM)接了一個LED,將根據壓力感測器的讀數控制LED的亮度。
線路完成後的照片。
以上是硬體線路部分,底下是軟體程式的部份。
// 首先定義腳位
#define led_pin 11
#define fsr_pin A0
void setup()
{
Serial.begin(115200);
pinMode(led_pin, OUTPUT);
}
void loop()
{
int fsr_value = analogRead(fsr_pin); // 讀取FSR
int led_value = map(fsr_value, 0, 1023, 0, 255); // 從0~1023映射到0~255
analogWrite(led_pin, led_value); // 改變LED亮度
Serial.println(fsr_value);
Serial.println(led_value);
Serial.println("-------------");
delay(100);
}
Arduino類比腳位的解析度是10位元(0~1023),而PWM腳位則是8位元(0~255),所以程式中使用map進行映射。
完成後,平時FSR電阻無限大,A0會讀到接地(電壓0V),所以LED不亮;若輕輕按壓FSR,LED就會微亮,用力擠壓FSR的話LED就會更亮一點。
此種壓力感測器價格低、容易使用,但不精確,不可用來偵測確實的力道或重量,而是應該取出幾個範圍,譬如無壓力、有點壓力、中等壓力、很大的壓力、等等,然後加以運用。
這是我向Adafruit買的壓力感測器,型號是Interlink 402,圓形部分半徑1/2吋可感測壓力,有兩支腳,可插入麵包板。
所謂壓力感測器(Force-Sensitive Resistor),其實就是個電阻,根據施加的壓力,其電阻值會改變,此產品的規格如下,無壓力時電阻幾近無限大,施加壓力後,電阻就會變小。
不過施加壓力的力道與電阻之間的變化關係,並非線性。
底下是電路圖,接法跟可變電阻很像,壓力感測器有兩支腳,其中一支接5V,另一支除了串聯10k歐姆電阻接地外,也接到Arduino的類比輸入腳位A0。
我另外從Arduino數位腳位11(具PWM)接了一個LED,將根據壓力感測器的讀數控制LED的亮度。
線路完成後的照片。
以上是硬體線路部分,底下是軟體程式的部份。
// 首先定義腳位
#define led_pin 11
#define fsr_pin A0
void setup()
{
Serial.begin(115200);
pinMode(led_pin, OUTPUT);
}
void loop()
{
int fsr_value = analogRead(fsr_pin); // 讀取FSR
int led_value = map(fsr_value, 0, 1023, 0, 255); // 從0~1023映射到0~255
analogWrite(led_pin, led_value); // 改變LED亮度
Serial.println(fsr_value);
Serial.println(led_value);
Serial.println("-------------");
delay(100);
}
Arduino類比腳位的解析度是10位元(0~1023),而PWM腳位則是8位元(0~255),所以程式中使用map進行映射。
完成後,平時FSR電阻無限大,A0會讀到接地(電壓0V),所以LED不亮;若輕輕按壓FSR,LED就會微亮,用力擠壓FSR的話LED就會更亮一點。
此種壓力感測器價格低、容易使用,但不精確,不可用來偵測確實的力道或重量,而是應該取出幾個範圍,譬如無壓力、有點壓力、中等壓力、很大的壓力、等等,然後加以運用。
2013/09/17
Arduino練習:傾斜感測器Tilt ball switch
我向Adafruit買了個Tilt ball switch,可用來偵測是否傾斜。金屬小管子有兩隻腳,在管子內有顆金屬球,當管子成直立狀態,也就是腳朝下時,金屬球會落下接觸管子內的兩個接觸點接通兩隻腳,形成通路,若管子傾斜到一定程度後,就會斷路。
這是Tilt ball switch,tilt意思是傾斜、以管子裡的ball球控制、可當做switch開關使用。傾斜時可聽到裡頭球撞擊管子的聲音。
底下是接線圖,其實就跟一般開關沒什麼兩樣。管子的一隻腳接10k歐姆電阻後接5V,這隻腳也接Arduino的數位腳位2,另一隻腳接地。
以下是軟體部分。
int pin = 2;
int ledpin = 13;
void setup()
{
pinMode(pin, INPUT);
pinMode(ledpin, OUTPUT);
}
void loop()
{
int status;
status = digitalRead(pin);
digitalWrite(ledpin, status);
delay(100);
}
按照這份電路圖與這支程式,平常直立時,形成通路,所以腳位2會讀到LOW,於是LED不亮。若傾斜球開關,裡頭的球離開兩個接觸點,變成斷路,腳位2會讀到HIGH,於是點亮LED。
根據規格書,起作用的傾斜角度是30度,但實際狀況仍須試驗後才知道。這種感測器很便宜,號稱是窮人的加速度感測器,但用起來也不盡理想,並非從某個角度以上都是通路,而從該角度以下都是斷路,實際使用時,管子內的小球可能會亂跑,形成類似一般機械開關的彈跳(bounce)現象。
可到YouTube觀看實際使用時的影片。
這篇寫的有點簡略,關於「開關」,請參考我之前寫的「Arduino練習:以開關切換LED明滅狀態」。
這是Tilt ball switch,tilt意思是傾斜、以管子裡的ball球控制、可當做switch開關使用。傾斜時可聽到裡頭球撞擊管子的聲音。
底下是接線圖,其實就跟一般開關沒什麼兩樣。管子的一隻腳接10k歐姆電阻後接5V,這隻腳也接Arduino的數位腳位2,另一隻腳接地。
以下是軟體部分。
int pin = 2;
int ledpin = 13;
void setup()
{
pinMode(pin, INPUT);
pinMode(ledpin, OUTPUT);
}
void loop()
{
int status;
status = digitalRead(pin);
digitalWrite(ledpin, status);
delay(100);
}
按照這份電路圖與這支程式,平常直立時,形成通路,所以腳位2會讀到LOW,於是LED不亮。若傾斜球開關,裡頭的球離開兩個接觸點,變成斷路,腳位2會讀到HIGH,於是點亮LED。
根據規格書,起作用的傾斜角度是30度,但實際狀況仍須試驗後才知道。這種感測器很便宜,號稱是窮人的加速度感測器,但用起來也不盡理想,並非從某個角度以上都是通路,而從該角度以下都是斷路,實際使用時,管子內的小球可能會亂跑,形成類似一般機械開關的彈跳(bounce)現象。
可到YouTube觀看實際使用時的影片。
這篇寫的有點簡略,關於「開關」,請參考我之前寫的「Arduino練習:以開關切換LED明滅狀態」。
2013/09/16
Arduino練習:霍爾效應感測器
霍爾效應(Hall effect)由Edwin Hall於1879發現,當電流通過固體導體(或半導體)且放在磁場內,導體內的電荷載子受到勞倫茲力而偏向一邊,進而產生電壓(霍爾電壓)。根據此效應,便可偵測磁場、磁鐵。
這是我買的霍爾效應感測器Melexis US5881LUA。腳位功能圖,1:電源,2:接地,3:輸出。
工作電壓:3.5V到24V
適用溫度範圍:-40°C到150°C
US5881LUA是一個單極(unipolor)的磁力偵測裝置,只能偵測磁鐵的S磁極。
線路圖如下所示,接上5V電源與接地後,US5881LUA的腳位3接一個上拉電阻10k歐姆再接5V,腳位3再接Arduino的數位腳位2。
當US5881LUA處於磁力很弱、磁鐵的S磁極時,Arduino腳位2的狀態將會讀到HIGH,只有在磁鐵S磁極靠近US5881LUA的正面時(據我圖中那個小小的磁鐵而言,必須在1公分之內),Arduino腳位2的狀態將會讀到LOW,所以其作用就如同一個普通的開關,但是是以磁力控制罷了。
底下是測試用的程式碼:
int pin = 2;
void setup()
{
Serial.begin(115200);
pinMode(pin, INPUT);
}
void loop()
{
int status;
status = digitalRead(pin);
Serial.println(status);
delay(1000);
}
也沒什麼,就是讀取腳位2的狀態,並輸出到序列埠,平常會看到1(HIGH),磁鐵S極靠近就會看到0(LOW)。
這篇寫的有點簡略,關於「開關」,可參考我之前寫的「Arduino練習:以開關切換LED明滅狀態」。
這是我買的霍爾效應感測器Melexis US5881LUA。腳位功能圖,1:電源,2:接地,3:輸出。
工作電壓:3.5V到24V
適用溫度範圍:-40°C到150°C
US5881LUA是一個單極(unipolor)的磁力偵測裝置,只能偵測磁鐵的S磁極。
線路圖如下所示,接上5V電源與接地後,US5881LUA的腳位3接一個上拉電阻10k歐姆再接5V,腳位3再接Arduino的數位腳位2。
當US5881LUA處於磁力很弱、磁鐵的S磁極時,Arduino腳位2的狀態將會讀到HIGH,只有在磁鐵S磁極靠近US5881LUA的正面時(據我圖中那個小小的磁鐵而言,必須在1公分之內),Arduino腳位2的狀態將會讀到LOW,所以其作用就如同一個普通的開關,但是是以磁力控制罷了。
底下是測試用的程式碼:
int pin = 2;
void setup()
{
Serial.begin(115200);
pinMode(pin, INPUT);
}
void loop()
{
int status;
status = digitalRead(pin);
Serial.println(status);
delay(1000);
}
也沒什麼,就是讀取腳位2的狀態,並輸出到序列埠,平常會看到1(HIGH),磁鐵S極靠近就會看到0(LOW)。
這篇寫的有點簡略,關於「開關」,可參考我之前寫的「Arduino練習:以開關切換LED明滅狀態」。
2013/09/14
Raspberry Pi情報彙整(5)
我將網路上看到的、感興趣的、跟Raspberry Pi相關的資訊收集如下。如果您發現任何新奇驚人的新聞或專案,還請告知我。
Video: Making a Raspberry Pi – the full manufacturing process,影片,讓我們一窺Raspberry Pi的製造過程。
電子雜誌MagPi九月份出刊囉,趕緊去看看有什麼內容吧。
i.materialise的Raspberry Pi外殼設計競賽,點進去看看各方好手設計的外殼吧。
Raspberry Pi aids cyber 'safety net' for African rhino,看看Raspberry Pi如何保護犀牛,抓光盜獵者。
Bitcoin-Operated Pool Table,以Bitcoin付錢的撞球桌,裡頭當然是一台Raspberry Pi啦。
Jack the DVD ripping robot,光碟抽取機,結合電子與機械,幫你自動把光碟內容抽取出來。
SF Muni LED Sign at Home with Raspberry Pi,在家在辦公室裡也能擁有公車渡輪的現況,使用Raspberry Pi去讀取舊金山Muni大眾交通運輸工具的狀態。
Pi-Pan, a Pan-Tilt for Raspberry Pi Camera,以兩個伺服馬達控制相機模組的位置,已完成群眾募資。
Build a Raspberry Pi Moisture Sensor to Monitor Your Plants,偵測含水量,可別讓你的植物枯死啦。
RaspyFi,以音樂系統為中心的Linux發行套件,不僅支援Raspberry Pi,也開始移植到其他ARM架構的機器,擁有不錯的網頁操控介面。
PiHub,相當厲害的USB集線器,特別為Raspberry Pi打造,有4個USB埠,可供給3A電流!
PiCon,輕輕鬆鬆修改設定。
CODER,Google的東西,讓Raspberry Pi變成網站開發平台。
openSUSE ARM也開始支援Raspberry Pi了,嗯,又多了一個,我對openSUSE不熟。
Raspberry Pi as an Ad Blocking Access Point | Adafruit Learning System,讓Raspberry Pi作為無線AP,並且擋掉廣告!這樣一來,任何裝置,包括個人電腦、Xbox 360、Android手機,都看不到廣告啦。
Video: Making a Raspberry Pi – the full manufacturing process,影片,讓我們一窺Raspberry Pi的製造過程。
電子雜誌MagPi九月份出刊囉,趕緊去看看有什麼內容吧。
i.materialise的Raspberry Pi外殼設計競賽,點進去看看各方好手設計的外殼吧。
Raspberry Pi aids cyber 'safety net' for African rhino,看看Raspberry Pi如何保護犀牛,抓光盜獵者。
Bitcoin-Operated Pool Table,以Bitcoin付錢的撞球桌,裡頭當然是一台Raspberry Pi啦。
Jack the DVD ripping robot,光碟抽取機,結合電子與機械,幫你自動把光碟內容抽取出來。
SF Muni LED Sign at Home with Raspberry Pi,在家在辦公室裡也能擁有公車渡輪的現況,使用Raspberry Pi去讀取舊金山Muni大眾交通運輸工具的狀態。
Pi-Pan, a Pan-Tilt for Raspberry Pi Camera,以兩個伺服馬達控制相機模組的位置,已完成群眾募資。
Build a Raspberry Pi Moisture Sensor to Monitor Your Plants,偵測含水量,可別讓你的植物枯死啦。
RaspyFi,以音樂系統為中心的Linux發行套件,不僅支援Raspberry Pi,也開始移植到其他ARM架構的機器,擁有不錯的網頁操控介面。
PiHub,相當厲害的USB集線器,特別為Raspberry Pi打造,有4個USB埠,可供給3A電流!
PiCon,輕輕鬆鬆修改設定。
CODER,Google的東西,讓Raspberry Pi變成網站開發平台。
openSUSE ARM也開始支援Raspberry Pi了,嗯,又多了一個,我對openSUSE不熟。
Raspberry Pi as an Ad Blocking Access Point | Adafruit Learning System,讓Raspberry Pi作為無線AP,並且擋掉廣告!這樣一來,任何裝置,包括個人電腦、Xbox 360、Android手機,都看不到廣告啦。
2013/09/12
開箱文:Raspberry Pi原型擴充板Adafruit Prototyping Pi Plate Kit for Raspberry Pi
我買了Adafruit的Adafruit Prototyping Pi Plate Kit for Raspberry Pi,是一塊Raspberry Pi原型擴充板,屬於電子套件形式,必須自己動手焊接,原廠也提供了非常詳盡的焊接過程。
印刷電路板、插入Raspberry Pi的2x13排針的排母、螺絲終端、一些排母、緩衝墊。
動手焊接吧,滿簡單的。完成後的樣子,中間有類似麵包板的原型區,也有類似洞洞板一個洞一個洞的原型區,還有一個可焊接SMD元件的地方。。
背面,可看到插入Raspberry Pi排針的排母,以及位於網路線插座上方的緩衝墊。
與Raspberry Pi合體,耶。
原廠的產品照片,拍的真漂亮啊。
印刷電路板、插入Raspberry Pi的2x13排針的排母、螺絲終端、一些排母、緩衝墊。
動手焊接吧,滿簡單的。完成後的樣子,中間有類似麵包板的原型區,也有類似洞洞板一個洞一個洞的原型區,還有一個可焊接SMD元件的地方。。
背面,可看到插入Raspberry Pi排針的排母,以及位於網路線插座上方的緩衝墊。
與Raspberry Pi合體,耶。
原廠的產品照片,拍的真漂亮啊。
2013/09/11
開箱文:Arduino原型擴充板Adafruit Proto Shield for Arduino Kit
我買了Adafruit的Adafruit Proto Shield for Arduino Kit,是一塊Arduino原型擴充板,除了原型區之外,還有重置按鈕與ICSP 2x3排針,以及可自由運用的兩個LED與一個按鈕開關,屬於電子套件形式,必須自己動手焊接,原廠也提供了非常詳盡的焊接過程。
所有的零件,印刷電路板、排針排母、LED與電阻、按鈕開關、電容,2x3 ICSP排針。
動手焊接吧,沒什麼好說的,經過一番努力之後,結果如下。
背面。
插入一塊Arduino板子後的模樣。
不過有個缺點,這塊擴充板往下插入Arduino板後,上頭的排母並不符合規格,無法再疊上另一塊擴充板,除非使用超長的排針。
所有的零件,印刷電路板、排針排母、LED與電阻、按鈕開關、電容,2x3 ICSP排針。
動手焊接吧,沒什麼好說的,經過一番努力之後,結果如下。
背面。
插入一塊Arduino板子後的模樣。
不過有個缺點,這塊擴充板往下插入Arduino板後,上頭的排母並不符合規格,無法再疊上另一塊擴充板,除非使用超長的排針。
2013/09/10
開箱文:AVR ISP燒錄器Adafruit USBtinyISP
我向Adafruit買了AVR ISP燒錄器,名為USBtinyISP,屬於套件形式,必須自己焊接組裝。
這種AVR ISP燒錄器,如果是Atmel官方原廠的AVRISP mkII,大概要1000元,非原廠的通常500元上下,不過在拍賣網站上有約100元的產品,也有很多高手自行設計並公開在網路上,也可以根據Arduino官方文件描述的Parallel Port Programmer自己製作並列埠燒錄線,或是把另一塊Arduino板子當做ISP燒錄器。
外包裝。
內容物,晶片、電阻、電容、陶瓷諧振器、2x3與2x5排線、LED、印刷電路板、外殼、稽納二極體、USB B型插座、等等。
電路板的正反面。
根據文件,逐一焊接。
裝上排線與外殼,完成。
接上Arduino Uno試試看吧。
下載驅動程式並安裝,在裝置管理員裡會出現USBtinyISP AVR Programmer,是一個USB裝置。
可以先用燒錄程式avrdude試試看,以-c usbtiny指定燒錄器,-p指定微控制器,先隨便指定一個,譬如m8是Atmega8。
$ avrdude -c usbtiny -p m8
avrdude.exe: Error: Could not find USBtiny device (0x1781/0xc9f)
avrdude.exe done. Thank you.
居然說找不到裝置,難道我焊接錯誤嗎,還好拔插USB線後,再執行一次就正常了,如下。
$ avrdude -c usbtiny -p m8
avrdude.exe: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude.exe done. Thank you.
若以-p m328p指定正確的微控制器,Arduino Uno使用Atmega328P,則會出現如下訊息,代表燒錄器可以與微控制器正常溝通。
$ avrdude -c usbtiny -p m328p
avrdude.exe: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude.exe: Device signature = 0x1e950f
avrdude.exe done. Thank you.
雖然也可以自己使用avrdude下指令燒錄,不過還是使用Arduino IDE比較簡單方便,啟動後,從Tools-Board選擇你的Arduino開發板,從Tools-Programmer選USBtinyISP,然後,以File-Upload Using Programmer上傳(燒錄)程式碼,以Tools-Burn Bootloader燒錄bootloader。
燒錄一般程式碼,成功囉。
燒錄bootloader,需要一點時間,也成功囉。
當然啦,燒錄麵包板上的AVR微控制器也是可行的。
耶。
關於Adafruit USBtinyISP的詳細規格,請參考官方文件。
這種AVR ISP燒錄器,如果是Atmel官方原廠的AVRISP mkII,大概要1000元,非原廠的通常500元上下,不過在拍賣網站上有約100元的產品,也有很多高手自行設計並公開在網路上,也可以根據Arduino官方文件描述的Parallel Port Programmer自己製作並列埠燒錄線,或是把另一塊Arduino板子當做ISP燒錄器。
外包裝。
內容物,晶片、電阻、電容、陶瓷諧振器、2x3與2x5排線、LED、印刷電路板、外殼、稽納二極體、USB B型插座、等等。
電路板的正反面。
根據文件,逐一焊接。
裝上排線與外殼,完成。
接上Arduino Uno試試看吧。
下載驅動程式並安裝,在裝置管理員裡會出現USBtinyISP AVR Programmer,是一個USB裝置。
可以先用燒錄程式avrdude試試看,以-c usbtiny指定燒錄器,-p指定微控制器,先隨便指定一個,譬如m8是Atmega8。
$ avrdude -c usbtiny -p m8
avrdude.exe: Error: Could not find USBtiny device (0x1781/0xc9f)
avrdude.exe done. Thank you.
居然說找不到裝置,難道我焊接錯誤嗎,還好拔插USB線後,再執行一次就正常了,如下。
$ avrdude -c usbtiny -p m8
avrdude.exe: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude.exe done. Thank you.
若以-p m328p指定正確的微控制器,Arduino Uno使用Atmega328P,則會出現如下訊息,代表燒錄器可以與微控制器正常溝通。
$ avrdude -c usbtiny -p m328p
avrdude.exe: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.02s
avrdude.exe: Device signature = 0x1e950f
avrdude.exe done. Thank you.
雖然也可以自己使用avrdude下指令燒錄,不過還是使用Arduino IDE比較簡單方便,啟動後,從Tools-Board選擇你的Arduino開發板,從Tools-Programmer選USBtinyISP,然後,以File-Upload Using Programmer上傳(燒錄)程式碼,以Tools-Burn Bootloader燒錄bootloader。
燒錄一般程式碼,成功囉。
燒錄bootloader,需要一點時間,也成功囉。
當然啦,燒錄麵包板上的AVR微控制器也是可行的。
耶。
關於Adafruit USBtinyISP的詳細規格,請參考官方文件。
2013/09/09
在麵包板上建構Arduino(ATmega328P加USB轉TTL Serial轉接卡)
其實之前的「將Arduino Uno當做一台ISP線上燒錄器,燒錄bootloader或sketch到麵包板上的ATmega328P-PU晶片」,就已經曾在麵包板上建構Arduino,不過那時使用一塊Arduino板子當做ISP線上燒錄器,而這篇使用「USB轉TTL Serial」轉接卡。關於USB轉換功能的相關產品,可參考這一篇。
我將在麵包板上插入ATmega328P-PU微控制器晶片,並加入「USB轉TTL Serial」轉接卡FTDI Friend,開發時就跟一般的Arduino開發板完全一樣。我假定微控制器晶片已經燒錄bootloader了。
這是ATmega328的腳位功能圖,跟ATmega168一樣。
電路圖如下,從電腦USB埠、經由FTDI Friend供電給ATmega328,FTDI Friend的TX、RX連接到ATmega328的RX、TX。
ATmega328針腳1(reset),接10k歐姆電阻再接5V;另接開關再接地,燒錄必須手動按開關重置。
ATmega328針腳10(對應Arduino數位腳位13),接220歐姆電阻、串聯LED。將燒錄Blink範例草稿碼測試是否正常。
其他就是基本接法,接電源、接地、接外部石英晶體震盪器。
麵包板示意圖如下。
FTDI Friend的背後。
完成囉,使用時就跟一般Arduino開發板相同,哈哈。
當然啦,也可以轉移到洞洞板上,需要自己焊接線路。
除了使用「USB轉TTL Serial」的轉接卡或轉接線,如果你的電腦還有9針的RS-232序列埠的話,加上「RS-232轉TTL Serial」的產品,也是可以的。但要記得,連接序列介面時要跨接,某端的RX與TX分別接到另一端的TX與RX,但某些產品似乎故意調換這兩個腳位的標示。
我將在麵包板上插入ATmega328P-PU微控制器晶片,並加入「USB轉TTL Serial」轉接卡FTDI Friend,開發時就跟一般的Arduino開發板完全一樣。我假定微控制器晶片已經燒錄bootloader了。
這是ATmega328的腳位功能圖,跟ATmega168一樣。
電路圖如下,從電腦USB埠、經由FTDI Friend供電給ATmega328,FTDI Friend的TX、RX連接到ATmega328的RX、TX。
ATmega328針腳1(reset),接10k歐姆電阻再接5V;另接開關再接地,燒錄必須手動按開關重置。
ATmega328針腳10(對應Arduino數位腳位13),接220歐姆電阻、串聯LED。將燒錄Blink範例草稿碼測試是否正常。
其他就是基本接法,接電源、接地、接外部石英晶體震盪器。
麵包板示意圖如下。
FTDI Friend的背後。
完成囉,使用時就跟一般Arduino開發板相同,哈哈。
當然啦,也可以轉移到洞洞板上,需要自己焊接線路。
除了使用「USB轉TTL Serial」的轉接卡或轉接線,如果你的電腦還有9針的RS-232序列埠的話,加上「RS-232轉TTL Serial」的產品,也是可以的。但要記得,連接序列介面時要跨接,某端的RX與TX分別接到另一端的TX與RX,但某些產品似乎故意調換這兩個腳位的標示。