檢視 課程:Arduino 的原始碼
←
課程:Arduino
前往:
導覽
,
搜尋
由於下列原因,您沒有權限進行 編輯此頁面 的動作:
您請求的操作只有這個群組的使用者能使用:
管理員
您可以檢視並複製此頁面的原始碼。
=Arduino= 零件的取得: #國內販售的網站、拍賣 #淘寶 [[File:IMG_5769.JPG|400px]] ==Arduino Uno接腳圖== [[File:ARDUINOPinDiagram.png|800px]]<br> <center> [from http://forum.arduino.cc/] </center> ==Arduino Leonardo接腳圖== [[File:ArduinoLeonardo.png|800px]] <center> [from http://forum.arduino.cc/] </center> ==Arduino範例== *[http://english.cxem.net/arduino/arduino5.php Data transfer between Android and Arduino via Bluetooth] ==Arduino可以做什麼?== ==Arduino那裏買== *網路 **[http://www.playrobot.com/cart/index.php 飆機器人] *網拍(奇摩、露天) *淘寶 **淘寶是大陸最大的購物、商城網站,規模要比台灣任何一家電子購物、商城網站大上許多,我從淘寶一家[http://xdguo.taobao.com/shop/view_shop.htm?spm=a1z09.2.9.27.hy4bpV&user_number_id=132136629 信德電子]購入,總共花了約600人民幣,基本上一定比台灣買便宜很多,運費35元人民幣。(從大陸買東西便宜,台灣賣家多的是從對岸買進來再賣,天生比較喜歡冒險的人可以嘗試看看,從大陸寄貨回來時間約在二天,淘寶上的賣家也都蠻負責的。) ==Arduino第一步== #下載Arduino驅動程式和開發軟體Arduino 1.0.4 ==> [http://arduino.cc/en/main/software http://arduino.cc/en/main/software], 解壓縮至硬碟 或從[https://docs.google.com/file/d/0BzE4m9IZwZhaZkhEZk5SY2RhZVk/edit?usp=sharing 我的google雲端硬碟]下載。 #使用USB連接上,將設備的驅動程式指向下載目錄中的drivers,成功抓取驅動程式後,系統的裝置硬體設定畫面為: [[File:Arduino-COM.png|400px]] COM7是Arduino透過USB驅動程式對Arduino單板的通訊連接埠號,程式之後都將以此COM7做為與Arduino單板之通訊基礎。(可能是其他的號碼,比方說是COM3。) ==Arduino實驗== ===RFID與磅秤資料整合=== {{Arduino:MFRC522-LoadCell}} ===測距實驗:超音波感測器結合蜂鳴器=== (巧盈:把這個實驗所用到的零件列個表+連線圖+簡單的說明) *零件列表: *連線圖: *說明: *程式: <source lang="c"> long time_echo=0; long len_mm=0; void setup() { pinMode(3,INPUT); pinMode(4,OUTPUT); Serial.begin(9600); pinMode(6,OUTPUT); } void loop() { digitalWrite(4,HIGH); delayMicroseconds(50); digitalWrite(4,LOW); time_echo=pulseIn(3,HIGH); //接收回傳資料 len_mm=(time_echo * 34 / 100 / 2); //運算回傳資料 if(len_mm<100){ tone(6,600,500); }else if(len_mm<300){ tone(6,200,100); } Serial.println(len_mm); delay(500); } </source> ----------------------- ===實驗:七段顯示器=== *零件列表: *連線圖: *說明: *程式: <source lang="c"> int a; void setup(){ pinMode(2,OUTPUT); pinMode(3,OUTPUT); pinMode(4,OUTPUT); pinMode(5,OUTPUT); pinMode(6,OUTPUT); pinMode(7,OUTPUT); pinMode(8,OUTPUT); pinMode(9,OUTPUT); } void s1(void){ //1 digitalWrite(3,HIGH); digitalWrite(4,HIGH); delay(500); digitalWrite(3,LOW); digitalWrite(4,LOW); } void s2(void){ //2 digitalWrite(2,HIGH); digitalWrite(3,HIGH); digitalWrite(9,HIGH); digitalWrite(7,HIGH); digitalWrite(6,HIGH); delay(500); digitalWrite(2,LOW); digitalWrite(3,LOW); digitalWrite(9,LOW); digitalWrite(7,LOW); digitalWrite(6,LOW); } void s3(void){ //3 digitalWrite(2,HIGH); digitalWrite(3,HIGH); digitalWrite(4,HIGH); digitalWrite(6,HIGH); digitalWrite(9,HIGH); delay(500); digitalWrite(2,LOW); digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(6,LOW); digitalWrite(9,LOW); } void s4(void){ //4 digitalWrite(3,HIGH); digitalWrite(4,HIGH); digitalWrite(8,HIGH); digitalWrite(9,HIGH); delay(500); digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(8,LOW); digitalWrite(9,LOW); } void s5(void){ //5 digitalWrite(2,HIGH); digitalWrite(8,HIGH); digitalWrite(4,HIGH); digitalWrite(6,HIGH); digitalWrite(9,HIGH); delay(500); digitalWrite(2,LOW); digitalWrite(8,LOW); digitalWrite(4,LOW); digitalWrite(6,LOW); digitalWrite(9,LOW); } void s6(void){ //6 digitalWrite(2,HIGH); digitalWrite(4,HIGH); digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH); digitalWrite(9,HIGH); delay(500); digitalWrite(2,LOW); digitalWrite(4,LOW); digitalWrite(6,LOW); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,LOW); } void s7(void){ //7 digitalWrite(2,HIGH); digitalWrite(3,HIGH); digitalWrite(4,HIGH); delay(500); digitalWrite(2,LOW); digitalWrite(3,LOW); digitalWrite(4,LOW); } void s8(void){ //8 digitalWrite(2,HIGH); digitalWrite(3,HIGH); digitalWrite(4,HIGH); digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH); digitalWrite(9,HIGH); delay(500); digitalWrite(2,LOW); digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(6,LOW); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,LOW); } void s9(void){ //9 digitalWrite(2,HIGH); digitalWrite(3,HIGH); digitalWrite(4,HIGH); digitalWrite(6,HIGH); digitalWrite(8,HIGH); digitalWrite(9,HIGH); delay(500); digitalWrite(2,LOW); digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(6,LOW); digitalWrite(8,LOW); digitalWrite(9,LOW); } void su(void){ //8 digitalWrite(3,HIGH); digitalWrite(4,HIGH); digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH); delay(500); digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(6,LOW); digitalWrite(7,LOW); digitalWrite(8,LOW); } void s0(void){ //8 digitalWrite(2,HIGH); digitalWrite(3,HIGH); digitalWrite(4,HIGH); digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH); delay(500); digitalWrite(2,LOW); digitalWrite(3,LOW); digitalWrite(4,LOW); digitalWrite(6,LOW); digitalWrite(7,LOW); digitalWrite(8,LOW); } void loop(){ while(1){ su(); s1(); delay(100); s0(); delay(100); s0(); delay(100); s5(); delay(100); s2(); delay(100); s4(); delay(100); s9(); delay(100); } } </source> ===實驗:RGB LED=== LED RGB呼吸燈~ 藉由analogWrite([腳位],[亮度]);這個指令可以設定單一LED之亮度強弱,不過須在PIN端與LED相交處接上一支電阻降低電流。 digital IO 7 8 9 為三個不同顏色之PIN位,另一個接地 以下為原始碼 <source lang="c"> void shine(int a) //單色閃耀 { for(int k=0;k<=255;k=k+5){ analogWrite(a,k); delay(10); } for(int k=255;k>=0;k=k-5){ analogWrite(a,k); delay(10); } } void double_shine(int a,int b) //雙色閃耀 { for(int k=0;k<=255;k=k+5){ analogWrite(a,k); analogWrite(b,k); delay(10); } for(int k=255;k>=0;k=k-5) { analogWrite(a,k); analogWrite(b,k); delay(10); } } void threebl_shine(int a,int b,int c) //三色閃耀 { for(int k=0;k<=255;k=k+5) { analogWrite(a,k); analogWrite(b,k); analogWrite(c,k); delay(10); } for(int k=255;k>=0;k=k-5) { analogWrite(a,k); analogWrite(b,k); analogWrite(c,k); delay(10); } } void mix_shine(int a,int b,int c) //全部閃耀 { for(int i=0;i<=255;i=i+25) { for(int j=0;j<=255;j=j+25) { for(int k=0;k<=255;k=k+25) { analogWrite(a,i); analogWrite(b,j); analogWrite(c,k); delay(10); } } } for(int i=255;i>=0;i=i-25){ for(int j=255;j>=0;j=j-25){ for(int k=255;k>=0;k=k-25){ analogWrite(a,i); analogWrite(b,j); analogWrite(c,k); delay(1); } } } } void setup(){ pinMode(7,OUTPUT); pinMode(8,OUTPUT); pinMode(9,OUTPUT); } void loop() { shine(7); shine(8); shine(9); double_shine(7,8); double_shine(7,9); double_shine(8,9); threebl_shine(7,8,9); mix_shine(7,8,9); } </source> ==現有Arduino設備== ===入門套裝清單(購自淘寶,155 RMB)=== #Arduino UNO R3 控制板1個 #原形開發擴展板1個+MINI面包板一個. #高級面包板1個 #10*20CM,透明有機玻璃板一片 #大元件盒一個+貼片元件盒一個 #1602液晶模塊一個 #LED燈紅黃綠 各5個 #蜂鳴器2個 #按鍵開關4個 #數碼管2個 #水銀開關或滾珠開關2個 #光敏電阻3個 #可調電阻一個 #火焰傳感器1個 #紅外接收管1個 #電阻220歐、1K、10K各5個 #LM35溫度傳感器1個 #USB線1條 #多彩面包線20條 #9V電池盒1個 #mini遙控器1個 #Arduino基礎教程1份(電子檔) ===單品=== #2012最新款!Arduino UNO R3 開發板 送USB線 1條 48RMB x3 #Arduino 無線藍牙串口透傳模塊 HC-06從機藍牙模塊無線串口通訊 32RMBx1 #US-100 超聲波傳感器/超聲波測距/超聲波模塊/帶溫度補償 Arduino 15RMBx4 #單總線數字溫濕度傳感器DHT11模塊Arduino電子積木 10RMBx2 #LCD1602 字符液晶 輸入輸出擴展板 LCD Keypad Shield ARDUINO 25RMBx1 #Arduino電子積木 5050全彩LED 全彩LED模塊 6 RMBx6 #MFRC-522 RC522 RFID射頻 IC卡感應模塊 送S50複旦卡、鑰匙扣批發 40 RMBx1 #MAX7219點陣模塊 Arduino控制模塊 單片機模塊 顯示模塊 成品 16RMB x2 #單片機學習板遙控器 紅外遙控器 紅外解碼遙控器 智能小車配件 1.7 RMB x4 ==樂在Arduino實驗中的學生== [[File:IMG_5782.JPG|400px]] [[File:IMG_5783.JPG|400px]] [[File:IMG_5784.JPG|400px]] =pcDuino= pcDuino是一個內嵌ubuntu Linux的實驗板,第一步要做的動作是要能連線到板子上的Linux作業系統,做法有二種: #用HDMI線來連接LED螢幕 #透過網路連線到板子,有二個預設帳號,ubuntu/ubuntu,root/nopasswd,先用ubuntu帳號登入,下sudo sh切換至root,改變所有的預設密碼。 ##使用ssh ##使用vnc,安裝x11vnc sudo apt-get install x11vnc sudo su cd /etc/ssh 修改ssh_config檔案中的ForwardX11為yes x11vnc ==pcDuino針腳圖== [[File:Pcduino_pin_definition.png|800px]] {{模板:Arduino:WrittingLibrary}} =References= *[http://www.pcduino.org/forum.php pcDuino開源夢想社區(大陸)] *[http://electronhobbies.com Electron Hobbies] *[https://docs.google.com/file/d/0BzE4m9IZwZhabHNwMGNELWx6R1E/edit?usp=sharing Arduino入門教學(大陸)] *[http://coopermaa2nd.blogspot.tw/2011/05/arduino.html Copper Maa] *[http://www.pcduino.com pcDuino官方網站] *[https://learn.sparkfun.com SparkFun] *[http://www.eeboard.com/bbs/forum.php 大陸愛板網] *[http://www.electrodragon.com/w/Category:PCduino pcDuino on ElectroDragon]
此頁面使用了以下模板:
模板:Arduino:MFRC522-LoadCell
(
檢視原始碼
)
模板:Arduino:WrittingLibrary
(
檢視原始碼
)
返回至
課程:Arduino
。
導覽選單
個人工具
登入
命名空間
頁面
討論
變體
檢視
閱讀
檢視原始碼
檢視歷史
更多
搜尋
導覽
首頁
基本資料
專案計劃
教授課程(本學期)
創意3D列印實務
程式設計
資料結構
WordPress
教授課程(所有)
資訊安全
科技英文
資料庫管理
管理專業英文
管理資訊系統
作業系統
專利與發明
程式設計
學生專題
網路概論
技術與學習
Delphi XE
3D印表機
SCJP考題
Arduino/pcDuino
Android
Linux/Unix
虛擬/雲端作業系統
網站功能
Wiki安裝設定筆記
隨機頁面
說明
工具
連結至此的頁面
相關變更
特殊頁面
頁面資訊