สอน Arduino - Blinking LED ไฟกระพริบ
LOGIN   |   REGISTER    
commandronestore.com         แจ้งชำระเงิน
 
 
 
  STORE  
  PRODUCT  
  LEARNING  
  MEMBER  
  CONTACT  
    0   CART  
 
  0   ORDER
 
Untitled Document
 
เลือกหมวดหมู่สินค้า
 เครื่องกล / หุ่นยนต์
 อิเล็กทรอนิกส์ / ไฟฟ้า
 บอร์ด / คอนโทรลเลอร์
 เครื่องมือช่าง
 Package / ชุด KIT
 
   
     
 
#1
 Blinking LED
Last Update  5 March 2016  
 
 Learning Arduino 
 
 
Blinking LED
เริ่มต้นงานแรกกับการทำไฟ LED กระพริบ ด้วย Arduino เรียนรู้การเขียนโปรแกรมขั้นพื้นฐาน และขาดิจิตอลของตัวบอร์ด
• การใช้งาน Code ตัวอย่าง
• ทำความเข้าใจ Code
• การต่อวงจรไฟ LED
• Upload โปรแกรม / สังเกตผล
• ดัดแปลง Code
 
• Leanig Arduino คือกลุ่มบทความ (LIST) ที่ Commandrone ได้จัดทำขึ้นมา มีเนื้อหาเกี่ยวกับการใช้งานบอร์ด Arduino ในระดับพื้นฐาน ไปจนถึงระดับกลาง ประกอบด้วยบทความต่างๆดังนี้
 
0
 
Getting Started!
เริ่มต้นใช้งาน ดาวน์โหลด Software และ Setup คอมพิวเตอร์ ทำความรู้จักกับ Libraries
 
Blinking LED
เริ่มบทเรียนแรกด้วยการทำไฟกระพริบด้วย Arduino
 
Button Digital Input
นำปุ่มกดติดปล่อยดับมาใช้ควบคุมการทำงานของวงจร
 
    SPONSORs
 
 
 
 
     
0
CART
 
0
ORDER
 อุปกรณ์ที่ใช้ใน Leraning นี้ 
 
  รายการสินค้า     *สามารถเปลี่ยนจำนวนสั่งซื้อได้ที่รถเข็น
 
Arduino UNO R3 +USB
บอร์ด UNO R3 Design in Italy
• ATmega328P
• 14 Pins
฿  310.00 THB
ต่อ 1 ชิ้น
 
3 mm Red LED
LED 3 mm สำหรับงานอิเล็กทรอนิกส์
• สีแดง
• ไฟเลี้ยง 1.9 - 2.1 V 20 mA
฿  2.00 THB
ต่อ 1 หลอด
 
MB 102 Protoboard
สำหรับทดลองวงจรอิเล็กทรอนิกส์
• ขนาด 830 รู
• สีขาวเนื้อ ,เสียบแน่น ถอดง่าย
฿  120.00 THB
ต่อ 1 ชิ้น
         
20cm M-M jumper
สายจัมป์เปอร์ ผู้ - ผู้
• หัวเหลี่ยมเสียบแน่น
• คละสี** (ทางร้านจะเลือกสีให้)
฿  3.00 THB
ต่อ 1 เส้น
 
470 Ω 1/4 W Resistor
ตัวต้านทานค่าคงที่
• 470 โอห์ม
• 1/4 วัตต์ ความแม่นยำ +/- 1%
฿  1.00 THB
ต่อ 1 ชิ้น
 
 
     
 
   
Blinking LED  
   
หลังจากเรียนรู้การ Setup การ Compile และการ Upload โปรแกรมลงบอร์ด ใน LEARNING#0 มาแล้ว เราก็จะเริ่มทำงานแรกด้วย Arduino นั่นก็คือทำ LED กระพริบติดดับ โดยในครั้งนี้เราจะไม่ใช้ Onboard LED แล้ว แต่จะใช้หลอด LED 3 หรือ 5 mm จากภายนอกแทน
 
 STEP 1   เปิดตัวอย่าง Code ขึ้นมา
• ในการใช้งานแรกๆ เรายังไม่จำเป็นต้องเขียน Code เอง เพราะใน Arduino IDE นั้นมีตัวอย่างโปรแกรมมากมายให้เลือกใช้อยู่แล้ว
• ไปที่ File > Examples > Basics > Blink
 
 #1.2 
จะเห็นตัวอย่าง Code ที่มีมาให้
 #1.1 
เปิดตัวอย่าง Blink ขึ้นมา
   
 STEP 2   ทำความเข้าใจ Code
• ก่อนอื่นต้องทำความเข้าใจ Code ก่อน โดย Code นี้เป็นแบบพื้นฐานมากๆ แบ่งเป็น 2 ส่วนหลักๆคือ
1. ส่วน Setup
2. ส่วนการทำงาน Loop
 
 #2.2 
ส่วนการทำงานแบบ Loop คือส่วนที่ออกคำสั่งให้ Pin ที่เราประกาศไปแล้ว ทำงานอะไร ยังไง? โดยการทำงานจะวนซ้ำไปเรื่อยๆจนกว่าจะเลิกจ่ายไฟ เนื่องจากคำสั่ง loop
digitalWrite() คือคำสั่งที่ใช้ควบคุมการจ่ายไฟ สำหรับแบบ Digital จะมีอยู่ 2 ค่าคือ HIGH (มีไฟ) และ LOW (ไม่มีไฟ)
delay() คือคำสั่งที่ใช้หน่วงเวลา หรือนับเวลานั่นเองโดยจะมีหน่วยเป็น มิลลิวินาที (1 วินาที = 1000 มิลลิวินาที)
 #2.1 
ส่วน Setup คือส่วนที่เอาไว้ตั้งค่าให้ Pins ต่างๆของ Arduino ทำหน้าที่อะไร
• จากภาพเป็นการใช้คำสั่ง pinMode() เพื่อประกาศให้ Pin 13 เป็นตัว output ซึ่งเราก็จะนำหลอด LED มาต่อเข้ากับ Pin 13
 
 
รูปแบบการใช้คำสั่งต่างๆ (Syntax)
• pinMode(หมายเลขpin , INPUT หรือ OUTPUT )
• digitalWrite( หมายเลขpin , HIGH หรือ LOW )
• delay(เวลาหน่วยมิลิวินาที )
 
** ต้องใช้ตัวพิมพ์เล็ก-พิมใหญ่ตามโปรแกรม
 
   
 STEP 3   ต่อวงจร
• ก่อนจะทดสอบการทำงาน เราก็จะต้องต่อวงจรเตรียมเอาไว้ก่อน วงจรนี้เป็นวงจรง่ายๆ มีเพียง หลอด LED 3 หรือ 5 mm ,ตัวต้านทาน 470 Ω และสายไฟนิดๆหน่อยๆ
 
 
วงจรนี้จะเอา PIN13 ของ Arduino มาใช้เป็นทั้งตัวคอนโทรล และ เป็นแหล่งจ่ายโดยตรงให้กับหลอดไฟเลย เนื่องจากหลอด LED 3 - 5 mm จะใช้กระแสประมาณ 20 mA ซึ่ง ดิจิตอล PIN ของ Arduino สามารถจ่ายกระแสได้ 20 mA พอดี
 
   
 #3.1 
ต่อวงจรตามภาพตัวอย่าง
 
อธิบายวงจร : เราใช้ PIN13 ของ Arduino เป็นตัวคอนโทรลการกระพริบของหลอดไฟเนื่องจากเราเขียน Code ให้ PIN13 เป็น OUTPUT โดยการต่อมันกับ ขา + ของหลอด LED ซึ่งมีตัวต้านทาน 470 Ω จำกัดกระแสไม่ให้มากเกินไป
 
• ไม่ต้องต่อไฟเลี้ยงเพิ่ม เนื่องจากไฟจากขา PIN13 มีกระแสมากพอที่จะใช้คอนโทรล LED 1 หลอด โดยตรงได้ (ประมาณ 20 mA)
• ค่าความตานทานที่แนะนำให้ใช้ อยู่ที่ประมาณ 220 Ω - 1 KΩ เพราะถ้ามากกว่านี้ หลอดไฟอาจจะได้กระแสไม่พอ
   
 STEP 4   Upload The Program และ สังเกตผล
• เมื่อต่อวงจรเตรียมไว้เรียบร้อยแล้ว ก็ให้เสียบสาย USB ต่อระหว่างคอมฯ กับ บอร์ด Arduino เพื่อ Upload โปรแกรมลงบอร์ด ซึ่งตัวบอร์ดและทั้งวงจรจะได้รับไฟเลี้ยงจากช่อง USB นั่นเอง
• วิธีการอัพโหลดและตั้งค่าการอัพโหลด ดูเพิ่มเติมได้ที่ LEARNING#0
 
หลังจาก Upload แล้วก็ให้สังเกตที่วงจรว่า ไฟกระพริบติดดับทุกๆ 1 วินาทีมั้ย เมื่อไฟติด แสดงว่า PIN13 อยู่ในสถานะ HIGH เมื่อไฟดับแสดงว่าอยู่ในสถานะ LOW
 #4.1 
กด Upload และรอจนกระทั่งเสร็จสิ้น...
   
 STEP 5   ดัดแปลงโปรแกรม
• เพื่อความเข้าใจมากยิ่งขึ้น เราควรดัดแปลงแก้ไข Code ต้นฉบับ โดยแนะนำให้ดัดแปลง 2 อย่างนี้
1. เปลี่ยน Output PIN
2. เปลี่ยนเวลาในการกระพริบ
 
 #5.1 
แก้ไข Code ตามภาพ แต่! เมื่อมีการแก้ไข Code ก็ควรมีการลอง Compile หรือ Verify ตรวจสอบก่อนว่าเราเขียน Code ผิดพลาดตรงไหนมั้ย ซึ่งจริงๆแล้วต่อให้เราไม่กด Compile แต่ถ้า Code ผิดพลาด มันก็จะอัพโหลดลงบอร์ดไม่ได้อยู่ดี แต่การคอมไพล์ก่อน จะรวดเร็วกว่า
 
1.เปลี่ยน Output Pin
• เราสามารถเลือกใช้ Digital I/O Pin อื่นๆ ของบอร์ดได้นอกเหนือจาก PIN13 ซึ่งก็ต้องแล้วแต่รุ่นของบอร์ดด้วยว่ามี PIN ไหนบ้าง ในที่นี้ขอลองเปลี่ยนเป็น PIN9
 
2.เปลี่ยนเวลาในการระพริบ
• เราไม่จำเป็นต้องให้ไฟกระพริบติดดับเท่าๆกันเสมอไป เช่น เราอาจะให้ไฟติด 5 วิ และดับ 1 วิ วนไปเรื่อยๆแบบนี้ เพราะฉะนั้น เราต้องแก้ไข Code ตรงส่วนของ delay ตามภาพ #5.1
 
 
 #5.2 
เมื่อมีการแก้ไข Code ก็ควรมีการคอมไพล์ตรวจสอบความถูกต้องก่อน เพื่อความรวดเร็ว
   
 STEP 6   แก้ไขวงจรและอัพโหลดโปรแกรมใหม่
• เมื่อแก้ไข Code แล้ว ก่อนที่จะอัพโหลดใหม่ ก็ให้เราไปแก้ไขวงจรเตรียมไว้เลย
 
 #6.1 
แก้ไขวงจรใหม่เพียงแค่จุดเดียว คือเปลี่ยนจาก PIN13 เป็น PIN9 เท่านั้นเอง
 
• เมื่อแก้ไขวงจรแล้วก็ทำการอัพโหลดโปรแกรมใหม่ได้เลย ลองสังเกตดูว่าไฟกระพริบตามที่เขียน Code ไว้มั้ย ลองเปลี่ยน PIN และเวลาในการกระพริบหลายๆแบบด้วยตัวเองนะครับ การเรียนรู้ไม่มีสิ้นสุด ...
   
 
 
  BACK  
  NEXT LEARNING  
   
     
 
 
MAIN MENU
Yor are going to visit...
 
STORE
Homepage & News
PRODUCT
Shopping at our store
LEARNING
Tutorials & How to
MEMBER
Become our client
CONTACT
Getting more information
 
 
 
 
CONTACT
Contact Commandrone
 
083-0121146
Bangsue, Bangkok
Commandrone Page
Commandrone Channel
thai.commandrone@gmail.com
commandronestore.com
 
 
 
 
  755 Pageviews today (Approximately)
 
 
     
 
www.commandronestore.com
© 2016 Commandrone All Rights Reserved