機 器 車 介 紹 & 實做.

Slides:



Advertisements
Similar presentations
H T U 報告者:周振聰 僑生處 主任. h T U 免會考成績入學 h T U 未來望 您想學 一技之長嗎 ? 歡迎參加莊敬建教班 不但三年免學費,且 保證讓您學到一技之 長,脫離貧窮,邁向 光明的人生 免試入學.
Advertisements

桃園地景藝術節 最近桃園在舉辦桃園地景藝術節,種共有五大主題區, 分別是:黃色小鴨展區、巨型蓮花展區、草間點點展區、范姜 古厝展區、新屋水巷展區。那這些景點到底個展覽什麼呢?讓 我們繼續看下去 …… 。
4-2 、聚落的演變 人口的分布 自然環境特性、交通便利性及就業 機會等因素,常影響人們對於居住地點 的選擇。 臺灣西部地區的平原和盆地,地勢 較為低平、開發較早,在肥沃的土壤、 便捷的交通網路等有利的條件下,工商 業往來頻繁,人口較為密集。
第一單元 建立java 程式.
加快培育和发展战略性新兴产业 科技部调研室 胥和平
2014年语言文字工作总结 党委学生工作部 2014年12月5日.
第3章: 產業與競爭環境 張緯良 世新大學資訊管理系.
高雄市復華高級中學 校務分享簡介 簡報人:康木村 校長.
文明建设,气象先行 ——农安县气象局 2.
滑雪美食街 組員:林韋伶、張雅弦、王佑盛、朱坤賢.
汪清县气象局创建省级文明单位工作展示 2016年8月
榕桥中学 校园文化建设情况汇报.
第 5 章 流程控制 (一): 條件分支.
第三章 控制结构.
2016年上半年工作汇报 后勤与保卫管理处 二○一六年七月.
Arduino課程 DHT11溫濕感測 中部自造者基地-雲科大.
智慧電子應用設計導論(1/3) Sensor-II
CH2 開發環境介紹 最簡單的互動設計 – Arduino一試就上手 孫駿榮、吳明展、盧聰勇.
物聯網實務 大仁科技大學 資訊工程與娛樂科技系 李文禮.
內容:串列傳輸 實作:Arduino to PC 、 Arduino to Arduino 簡報:廖崇義
多功能智慧家庭萬能手機搖控器 張右昇( ) 李政澤( ) 曾群翔( ) 成員.
特雷門琴 (Theremin) 是 tone() 函數的應用, 它只需要一個蜂鳴器, 一個光敏電阻, 以及一個 10K 電阻就可以進行測試了. 實際電路接線如下 :光敏電阻與 10 K 電阻串聯, 光敏電阻一端接 5V, 與電阻串接處接Arduino 的 A0 腳, 電阻另一端接地. 而蜂鳴器則 +
Arduino单片机基础 周弋
    Arduino 1602 LCD 量測電壓顯示 LCD 示波器    林品成 月.
C語言簡介 日期 : 2018/12/2.
組員:羅敏嘉 S (組長) 劉為云 S 鄭佳姍 S 黃瑩禎 S 指導老師:林得裕 教授
智慧電子應用設計導論(1/3) Display
加熱溫度控制器 S 許位祥 S 李世震 S 陳彥霖 S 羅章元 指導教授:林得裕教授.
語法:Variables & Functions 實作:Digital out (Button+LED) 簡報:廖崇義
DHT11 溫溼度感測器 林品成 月.
K60基础课程 02 首都师范大学物理系 王甜.
9.1 家用电器.
近代物理实验期末报告 ——by 金宵 周逸卢
第二組 體重計連接wifi 組員:S 羅翊甄 S 江德輝 S 江鴻儀 S 陳彥任.
第一單元 建立java 程式.
授课老师:龚涛 信息科学与技术学院 2016年3月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
類比轉數位 IC研究 組員:施怡儒 S 柯曄新 S 張久藝 S
世外桃源~ 劍 潭 里 零碳排放里.
Arduino課程 RFID 中部自造者基地-雲科大.
知识点0303 RFID射频模块 主讲人:宁波鄞州职业教育中心学校 陈浙 (Arduino功能模块与应用)
    使用Arduino量測交流(AC)電壓    林品成 月.
    使用Arduino量測直流(DC)電壓    林品成 月.
6-1 功能簡介 6-4 實驗成果 6-2 電路說明 6-5 延伸應用與練習 6-3 程式設計
亚博科技 Arduino视频教程 第8讲 蜂鸣器发声实验.
程式結構&語法.
語法:結構 實作:Analog in (VR、光敏+七段顯示電壓) 簡報:廖崇義
期末考.
亚博科技 Arduino视频教程 第12讲 8乘8点阵.
基本IO.
Chang Chi-Chung 國立大里高級中學
物聯網期末報告 組員: 邱景柏 方嘉慶 陳約翰 洪銘陽
Arduino智慧機器人 觸鬚的觸碰式導航
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
樂高機器人實作 準備工作─組裝簡易型車 NXT-G 初階程式複習 Data Hub 數字轉字串(自製View程式) 變數應用(馬達角度讀取)
知识点0204 夏普红外测距传感器 主讲人:宁波鄞州职业教育中心学校 陈浙 (Arduino功能模块与应用)
单片机原理及应用 实践部分 主讲人:刘 强 四川工商学院单片机教学团队 单片机原理及应用 实践部分 主讲人:刘 强
Arduino課程 液晶1602 中部自造者基地-雲科大.
第五章 逻辑运算和判断选取控制 §5.1 关系运算符和关系表达式
相片典藏 臺北市立弘道國中總務處 防災校園建置計畫補助-個人防護具 品 名 數 量 30 4 工作手套 72 6 簡易雨衣 300
全台灣最美的日出好美…好美… 這就是傳說中的潑墨二寮,耳聞她的日出有如國畫般 所以稱為潑墨二寮
第五章 序列埠通訊 並列與序列通訊簡介 認識序列埠 認識字元資料類型 字串資料類型 從序列埠監控視窗觀察變數 從Arduino接收序列資料
微算機(二) -- ADC0804 measurement
2010圖書館週 Library 指導單位:教育部(教學卓越計畫) 主辦單位:中原大學圖書館.
科展心得分享 電子科教師:童信源.
多重條件選擇敘述
LED Pili LED 中州技術學院 電子系 副教授 余文俊.
亚博科技 Arduino视频教程 第1讲 Hello World!
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
第2章 Arduino编程.
微 處 理 機 專 題 – 8051 C語言程式設計 主題:階乘計算
Presentation transcript:

機 器 車 介 紹 & 實做

使用軟體 arduino

環境安裝 控制台>裝置管理員 >更新驅動程式 C:\arduino-1.0.3-windows\arduino-1.0.3\drivers

資料型態(變數)

常用函數

測試 void setup(){ Serial.begin(9600); } void loop(){ Serial.print("hello@\n"); delay(1000);

腳位說明

LED 閃爍

int ledPin1=9; int ledPin2=10; void setup(){ pinMode(ledPin1,OUTPUT); pinMode(ledPin2,OUTPUT); pinMode(ledPin3,OUTPUT); } void loop(){ digitalWrite(ledPin1,HIGH); delay(500); digitalWrite(ledPin1,LOW); digitalWrite(ledPin2,HIGH); digitalWrite(ledPin2,LOW);

練習 請做出led同時閃爍

陣列(led右移) int ledpin[3]={10,9,8}; int j=0; int i=0; void setup(){ for(i=0;i<4;i++){ pinMode(ledpin[i],OUTPUT); } void loop() { for(j=0;j<4;j++){ digitalWrite(ledpin[j],HIGH); delay(500); digitalWrite(ledpin[j],LOW);

練習 陣列(led左移)

馬達控制 int servoPin1=12; //設定servoMotor1由12腳位控制 void setup(){ pinMode(servoPin1,OUTPUT); //12腳位為輸出 } void loop(){ for (int i=0;i<=120;i++){ //正向旋轉約三秒 digitalWrite(servoPin1,HIGH); delayMicroseconds(1300); digitalWrite(servoPin1,LOW); delay(20); } for (int i=0;i<=40;i++){ //靜止約一秒 delayMicroseconds(1500); for (int i=0;i<=120;i++){ //反向旋轉約三秒 delayMicroseconds(1700); delay(20); } } 馬達控制

車子往前 int servoPin1=13; //設定servoMotor1由12腳位控制 void setup(){ pinMode(servoPin1,OUTPUT); //設定12腳位為輸出 pinMode(servoPin2,OUTPUT); //設定13腳位為輸出 } void loop(){ digitalWrite(servoPin1,HIGH); delayMicroseconds(1300); digitalWrite(servoPin1,LOW); delay(20); digitalWrite(servoPin2,HIGH); delayMicroseconds(1700); digitalWrite(servoPin2,LOW); 車子往前

練習 試著做出右轉與左轉

這是右轉 for (int i=0;i<=40;i++){ //(這段程式執行40次大概1秒多) digitalWrite(servoPin1,HIGH); delayMicroseconds(1300); digitalWrite(servoPin1,LOW); delay(20); digitalWrite(servoPin2,HIGH); digitalWrite(servoPin2,LOW);

鍵盤控制 #include <Servo.h> Servo servo1; Servo servo2; void setup() { servo1.attach(12); servo2.attach(13); Serial.begin(9600); } void loop() char c; if (Serial.available () > 0) //判斷串列阜是否有資料傳入 c = Serial.read(); // 讀取串列阜資料

switch (c) { case '1': forward(400); //呼叫前進的副程式 break; case '2': trunLeft(400); //呼叫左轉的副程式 case '3': trunRight(400); //呼叫右轉的副程式 case '4': backward(400); //呼叫後退的副程式 case '5': bestop(400); //呼叫停止的副程式 }

void forward(int time){ //前進的副程式 servo1.write(1300); servo2.write(1700); delay(time); servo1.write(1500); servo2.write(1500); } void trunLeft(int time){ servo1.write(1700); void trunRight(int time){ //右轉的副程式 servo2.write(1300); void backward(int time){ //後退的副程式 servo1.write(1700); servo2.write(1300); delay(time); servo1.write(1500); servo2.write(1500); } void bestop(int time){ //停止的副程式 servo2.write(1500); delay(time); }

//光敏電阻測試程式 int photoresistorPin1=10; //設定photoresistor1腳位 int photoresistorPin2=9; //設photoresistor2腳位 int x; int y; void setup(){ pinMode(photoresistorPin1,INPUT); //設定6腳位為輸入 pinMode(photoresistorPin2,INPUT); //設定2腳位為輸入 Serial.begin(9600); } void loop(){ Serial.println("Photoresistor States"); x=digitalRead(photoresistorPin1); //讀取左邊光敏電阻 y=digitalRead(photoresistorPin2); //讀取右邊光敏電阻 Serial.print("P6="); //顯示光敏電阻狀態至螢幕 Serial.println(x,BIN); Serial.print("P2="); Serial.println(y,BIN); delay(1000);}

光敏當開關讓車子前進 #include <Servo.h> // 引用 Servo Library Servo servo1; // 建立Servo 物件 Servo servo2; int photoresistorPin1=2; //設定photoresistor1腳位 int photoresistorPin2=11; //設photoresistor2腳位 int x; int y; void setup(){ pinMode(photoresistorPin1,INPUT); //設定6腳位為輸入 pinMode(photoresistorPin2,INPUT); //設定2腳位為輸入 servo1.attach(13); servo2.attach(12); Serial.begin(9600); } void loop(){ Serial.println("Photoresistor States"); x=digitalRead(photoresistorPin1); //讀取左邊光敏電阻 y=digitalRead(photoresistorPin2); //讀取右邊光敏電阻 Serial.print("P6="); //顯示光敏電阻狀態至螢幕 Serial.println(x,BIN); Serial.print("P2="); Serial.println(y,BIN); delay(100);

int forward(){ //前進的副程式 servo1.write(1300); servo2.write(1700); delay(1000); } int trunLeft(){ //左轉副程式 servo1.write(1700); delay(400); } int trunRight(){ //右轉的副程式 servo2.write(1300); delay(400); } int stop(){ //後退的副程式 servo1.write(1500); servo2.write(1500); delay(1000); } if (x==1&y==1 ){ forward(); } else if(y==0&x==1){ trunLeft(); else if(y==1&x==0){ trunRight(); else{ stop();

觸鬚碰撞

int whiskerPin1=9; int whiskerPin2=5; int x; int y; void setup(){ pinMode(whiskerPin1,INPUT); pinMode(whiskerPin2,INPUT); Serial.begin(9600); } void loop(){ Serial.println("whisker States"); x=digitalRead(whiskerPin1); y=digitalRead(whiskerPin2); Serial.print("P9="); Serial.println(x,BIN); Serial.print("P5="); Serial.println(y,BIN); delay(1000);}

挑戰! 參考用光敏電阻讓車子前進的例子 1.車子在沒撞到東西前會不斷前進 1.做出撞到右邊觸角後,後退一秒往右轉 2.做出撞到左邊觸角後,後退一秒往左轉 3.兩邊觸角都撞到停止移動

#include <Servo.h> // 引用 Servo Library Servo servo1; // 建立Servo 物件 Servo servo2; int whiskerPin1=9; int whiskerPin2=5; int x; int y; void setup(){ pinMode(whiskerPin1,INPUT); pinMode(whiskerPin2,INPUT); servo1.attach(13); servo2.attach(12); Serial.begin(9600); } void loop(){ Serial.println("whisker States"); x=digitalRead(whiskerPin1); y=digitalRead(whiskerPin2); Serial.print("P9="); Serial.println(x,BIN); Serial.print("P5="); Serial.println(y,BIN); delay(10); if (x==1&y==1 ){ forward(); } else if(y==0&x==1){ backward(); trunRight(); else if(y==1&x==0){ trunLeft(); else{ stop();

int forward(){ //前進的副程式 servo1.write(1300); servo2.write(1700); delay(1000); } int trunLeft(){ //左轉副程式 servo1.write(1700); delay(900); } int trunRight(){ //右轉的副程式 servo2.write(1300); delay(900); } int backward(){ //後退的副程式 delay(1000); } int stop(){ //後退的副程式 servo1.write(1500); servo2.write(1500);