วันอังคารที่ 11 กรกฎาคม พ.ศ. 2560

ใบงานที่ 4 การวัดระยะด้วยเซนเซอร์แสดงผลด้วย LED

การวัดระยะด้วยเซนเซอร์แสดงผลด้วย LED


จัดทำโดย

นาย สุดใจ เพชรสูงเนิน
นางสาวเกษร จันทร์สมดี

อุปกรณ์
1.บอร์ดทดลอง Arduino UNO R3    1   บอร์ด
2.สาย USB                                    1   เส้น
3.เซนเซอร์Ultrasonic                                          1   ตัว
4.สายไฟ                                        13   เส้น
5.โฟโต้บอร์ด                                  1   แผง
6.ลำโพง                                        1  ตัว
7.ตัวต้านทาน 150 โอมป์                 2  ตัว  
8.LED                                           2  ตัว  



























    int const trigPin = 10;
int const echoPin = 9;
int const buzzPin = 2;
int Pin01 = A0;
int Pin02 = A1;
int Pin03 = A2;
int Pin04 = A3;
int Pin05 = A4;
int Pin06 = A5;
void setup()
{
pinMode(trigPin, OUTPUT); // trig pin will have pulses output
pinMode(echoPin, INPUT); // echo pin should be input to get pulse width
pinMode(buzzPin, OUTPUT); // buzz pin is output to control buzzering
pinMode(Pin01, OUTPUT); 
pinMode(Pin02, OUTPUT); 
pinMode(Pin03, OUTPUT); 
pinMode(Pin04, OUTPUT); 
pinMode(Pin05, OUTPUT); 
pinMode(Pin06, OUTPUT);
}
void loop()
{
// Duration will be the input pulse width and distance will be the distance to the obstacle in centimeters
int duration, distance;
// Output pulse with 1ms width on trigPin
digitalWrite(trigPin, HIGH);
delay(1);
digitalWrite(trigPin, LOW);
// Measure the pulse input in echo pin
duration = pulseIn(echoPin, HIGH);
// Distance is half the duration devided by 29.1 (from datasheet)
distance = (duration/2) / 29.1;
// if distance less than 0.5 meter and more than 0 (0 or less means over range)
if (distance <=30 && distance >= 20) {
// Buzz
digitalWrite(Pin01, HIGH);
digitalWrite(Pin02, HIGH);
digitalWrite(buzzPin, HIGH);
delay(1000);
digitalWrite(buzzPin, LOW);
delay(1000);
}else if(distance <=19 && distance >= 10) {
digitalWrite(Pin01, HIGH);
digitalWrite(Pin02, HIGH);
digitalWrite(Pin03, HIGH);
digitalWrite(Pin04, HIGH);
digitalWrite(buzzPin, HIGH);
delay(500);
digitalWrite(buzzPin, LOW);
delay(500);

}else if(distance <=9 && distance >= 5) {
digitalWrite(Pin01, HIGH);
digitalWrite(Pin02, HIGH);
digitalWrite(Pin03, HIGH);
digitalWrite(Pin04, HIGH);
digitalWrite(Pin05, HIGH);
digitalWrite(Pin06, HIGH);
digitalWrite(buzzPin, HIGH);
delay(200);
digitalWrite(buzzPin, LOW);
delay(200);

}else if(distance <=5 && distance >= 0) {
digitalWrite(Pin01, HIGH);
digitalWrite(Pin02, HIGH);
digitalWrite(Pin03, HIGH);
digitalWrite(Pin04, HIGH);
digitalWrite(Pin05, HIGH);
digitalWrite(Pin06, HIGH);
digitalWrite(buzzPin, HIGH);
delay(200);



}
}                        

ใบงานที่ 3 ระบบเปิดปิดประตูอัตโนมัติด้วยเซ็นเซอร์

ระบบเปิดปิดประตูอัตโนมัติด้วยเซ็นเซอร์



จัดทำโดย
 1.นาย สุดใจ เพชรสูงเนิน
 2.นางสาวเกษร จันทร์สมดี

อุปกรณ์ที่ใช้

1.บอร์ดทดลอง Arduino UNO R3     1   บอร์ด
2.เซนเซอร์Ultrasonic                              1   ตัว
3.สายไฟ                                         18   เส้น
4.บอร์ดรีเลย์                                         1   บอร์ด
5.โฟโต้บอร์ด                                    1   แผง
6.มอเตอร์                                         1   ตัว
7.ลำโพง                                          1  ตัว
8.ตัวต้านทาน 150 โอมป์                   2  ตัว  
9.LED                                             2  ตัว                              
10.แหล่งจ่ายไฟ 12 v









int const trigPin = 10;
int const echoPin = 9;
int const buzzPin = 2;
int Pin01 = 5;
int Pin02 = 6;
void setup()
{
pinMode(trigPin, OUTPUT); // trig pin will have pulses output
pinMode(echoPin, INPUT); // echo pin should be input to get pulse width
pinMode(buzzPin, OUTPUT); // buzz pin is output to control buzzering
pinMode(Pin01, OUTPUT); // Motor
pinMode(Pin02, OUTPUT); // Motor
}
void loop()
{
// Duration will be the input pulse width and distance will be the distance to the obstacle in centimeters
int duration, distance;
// Output pulse with 1ms width on trigPin
digitalWrite(trigPin, HIGH);
delay(1);
digitalWrite(trigPin, LOW);
// Measure the pulse input in echo pin
duration = pulseIn(echoPin, HIGH);
// Distance is half the duration devided by 29.1 (from datasheet)
distance = (duration/2) / 29.1;
// if distance less than 0.5 meter and more than 0 (0 or less means over range)
if (distance <= 50 && distance >= 0) {
// Buzz
digitalWrite(buzzPin, HIGH);
digitalWrite(Pin01, HIGH); // Motor
} else {
// Don't buzz
digitalWrite(buzzPin, LOW);
digitalWrite(Pin01, LOW); // Motor
 digitalWrite(Pin02, HIGH); // Motor
 delay(500);
 digitalWrite(Pin02, LOW); // Motor
}
// Waiting 60 ms won't hurt any one
delay(60);
}

โครงสร้างของบอร์ด Arduino UNO R3

โครงสร้างของ บอร์ด Arduino uno r3


   Layout & Pin out Arduino Board (Model: Arduino UNO R3) 




                             


1.USBPort: ใช้สำหรับต่อกับ Computer เพื่ออับโหลดโปรแกรมเข้า MCU และจ่ายไฟให้กับบอร์ด
2.Reset Button: เป็นปุ่ม Reset ใช้กดเมื่อต้องการให้ MCU เริ่มการทำงานใหม่
3.ICSP Port ของ Atmega16U2 เป็นพอร์ตที่ใช้โปรแกรม Visual Com port บน Atmega16U2
4. I/OPort:Digital I/O ตั้งแต่ขา D0 ถึง D13 นอกจากนี้ บาง  Pin  จะทำหน้าที่อื่นๆ  เพิ่มเติมด้วย 
เช่น Pin0,1 เป็นขา Tx,Rx Serial, Pin3,5,6,9,10 และ 11 เป็นขา PWM  
5.ICSP Port: Atmega328 เป็นพอร์ตที่ใช้โปรแกรม Bootloader
6. MCU: Atmega328 เป็น MCU ที่ใช้บนบอร์ด Arduino
7. I/OPort: นอกจากจะเป็น Digital   I/O   แล้ว   ยังเปลี่ยนเป็น   ช่องรับสัญญาณอนาล็อก 
ตั้งแต่ขา A0-A5
8.Power Port: ไฟเลี้ยงของบอร์ดเมื่อต้องการจ่ายไฟให้กับวงจรภายนอก ประกอบด้วยขา
ไฟเลี้ยง +3.3 V, +5V, GND, Vin
9. Power Jack: รับไฟจาก Adapter โดยที่แรงดันอยู่ระหว่าง 7-12 V 
10. MCU ของ Atmega16U2 เป็น MCU ที่ทำหน้าที่เป็น USB to Serial โดย Atmega328 
จะติดต่อกับ Computer ผ่าน Atmega16U2

 


Microcontroller ที่ใช่ IC

  Microcontrol ที่ใช      
    
      IC Atmega328
     


ผลการค้นหารูปภาพสำหรับ atmega328 คือ อะไร




                                                     โครงสร้างภายใน

                                             




                                               โครงสร้างภายนอก 

                                 

การติดตั้งโปรแกรม

วิธีติดตั้งโปรแกรม Arduino

                          วิธีติดตั้งโปรแกรม Arduino

1. Download

ให้ไปที่ http://arduino.cc/en/Main/Software
และ กด  click ที่ download เพื่อเข้าสู่ the download page.

ที่หน้า download,  ให้ Click ไปที่ Windows link เพื่อที่จะ download Arduino software 
สำหรับระบบปฏิบัติการWindows ตามรูปข้างล่าง

2. Install

 หลังจาก downloadแล้ว ให้เลือกที่อยู่ของ  downloaded file บนระบบ system และ ทำการ 
extract the folder จาก  zipped file วางลงบนตำแหน่งที่เหมาะสม
 Install the Arduino Windows Drivers
 1. ทำการPlug the Arduino Board ลงบนเครื่อง PC
ทำการ Plug the Arduino board ลงบนเครื่อง PC. Windows จะพยายาม install drivers 
แต่สุดท้ายก็จะไม่สำเร็จ

2. Start the Windows Device Manager

ให้ Click ไปที่ปุ่ม Start menu
 คลิกขวาที่ My Computer บน Start menu แล้วก็ click Properties or Manage 
จาก pop-up menu เพื่อทำการเปิด Device Manager
 Click ไปที่ Device Manager link เพื่อ Start device manager:
Device Manager จะเปิด และแสดง Arduino Device ที่เราทำการ Connect ไว้(ขึ้นอยู่กับว่าใช้  
board ชนิดไหน ชื่อก็จะแสดงขึ้นมาให้เห็น


 ทีนี้เราจะเจอ เครื่องหมายตกใจ ขึ้นสีเหลืองๆ ซึ่งแสดงว่า อุปกรณ์ Arduino นั้น ไม่สามารถทำการ 
Install มาถึงขั้นนี้ก็ต้อง

3. Installing the Device Driver

ในหน้าต่างของ Device Manager, ให้คลิกขวา ไปที่ Arduino board แล้วก็ click 
Update Driver Software, บน pop-up menu
ณ ขณะนี้ จะมีกล่องขึน pop-up มาโชว์ว่า Update Driver Software  ให้คลิกที่ Browse my 
computer for driver software เพื่อที่จะ install Driver Software Manually
ต่อไปก็click the Browse... button
เลือกไปที่ drivers folder ใน Arduino folder  ที่ได้ download มา
หลังจากเลือกไปที่ driver folder เรียบร้อยแล้ว ให้  click  Next
 จะมี กล่อง pops up ขื้นมา, click Install this driver software anyway, to continue the 
Arduino Board Drivers....
 
เมื่อทำการ Install Driveเป็นที่เรียบร้อยแล้ว จะมี  dialog box ตามรูปข้างล่าง
เราต้องทราบ  port number ที่ บอร์ด Arduino เราทำการเชื่อมต่ออยู่ในตัวอย่างนี้คือ Port  
COM3 แต่บอร์ดที่ใช้งานจริงของคุณ อาจจะมาเป็น Port COM อื่นๆ ก็อย่าได้ตกใจครับ
 ถ้าคุณเห็นข้อความนี้แสดงว่าคุณได้ทำการ Install Driver เป็นที่เรียบร้อยแล้ว  ก็ทำการ "Close" ได้เลย

4. ทำการ Set up Arduino Software หลังจาก Installation แล้ว:

การ set นี้ ทำแค่ครั้งเดียวเป็นอันเสร็จพิธี นอกเสียจากคุณจะต้องการเปลี่ยน 
รุ่นของ Board หรือ  เปลี่ยน port ที่ทำการเชื่อมต่อกับ Boardเท่านั้น.  เพียงแค่ 
เลือกไปที่  folder  ที่คุณได้เก็บ Arduino IDE ไว้ และทำการ startSoftware ของ 
Arduino IDE โดยทำการ double-clickingไปที่ Arduino application. 
Double Click ที่  "Arduino.exe" เพื่อ Start Arduino IDE
จากนั้นเลือกรุ่นของ Arduino board ที่ทำการเชื่อมต่อให้ถูกต้องจากใน  list ทำการเปลี่ยน 
ถ้าจำเป็น.....
ทีนี้ก็ทำการ check ว่า serial port ที่ต่ออยู่ได้ถูกเลือกอย่างถูกต้อง  เลือกไปที่  
Computer Serial Port ที่ Arduino ทำการต่อเชื่อมอยู่






ใบงานที่ 4 การวัดระยะด้วยเซนเซอร์แสดงผลด้วย LED

การวัดระยะด้วยเซนเซอร์แสดงผลด้วย LED จัดทำโดย นาย สุดใจ เพชรสูงเนิน นางสาวเกษร จันทร์สมดี อุปกรณ์ 1.บอร์ดทดลอง Arduino UNO R3    1...