ผู้ให้ย่อมเป็นที่รัก

การเชื่อมต่อ arduino กับ nokia graphic lcd

ในการใช้งานไมโครคอนโทรลเลอร์ติดต่อกับอุปกรณ์ภายนอกเพื่อแสดงข้อมูล นอกจากจะใช้ LED แล้วนิยมใช้ LCD ในการแสดงผลซึ่งมีทั้ง LCD แบบแสดงข้อความอย่างเดียวและแบบแสดงเป็นรูปภาพได้ด้วย

ตัวอย่างนี้เป็นการเชื่อมต่อ arduino กับ nokia lcd ที่ีใช้ไอซี S1D15G10 เป็นตัวคอนโทรลเลอร์เช่นจอสีของโนเกียรุ่น 6610 ดูรายละเีอียดพร้อม source code ตัวอย่างได้ที่ http://www.arduino.cc/playground/S1D15G10NokiaLCD/S1D15G10NokiaLCD

การแสดงผลข้อความออกจอทีวีโดยใช้ Atmega8

โครงงานน่าสนวันนี้เสนอ การแสดงข้อความซ้อนภาพทีวี ดูรายละเอียดเพิ่มเติมได้ที่ http://garydion.com/projects/videoverlay/

การเชื่อมต่อ LCD กับ Arduino โดยใช้สายสัญญาณเพียง 3 เส้น

ปกติเวลาเราเชื่อมไมโครคอนโทรลเลอร์กับ LCD แบบ text 16 x 1 เราจะใช้สายสัญญาณอย่างน้อย 7 เส้น http://www.arduino.cc/playground/Code/LCD3wires เป็นตัวอย่างการประยุกต์ใช้ shift register มาช่วยลดนำนวนสายสัญญาณให้เหลือเพียง 3 เส้น

อุปกรณ์เสริมของบอร์ด freeduino

หลังจากที่พัฒนาโปรแกรมโดยเขียนโปรแกรมบนคอมพิวเตอร์พีซีแล้วโหลดลงบอร์ดทดลองเรียบร้อย freeduino สามารถทำงานแบบ Stand Alone ได้โดยไม่ต้องเชื่อมต่อกับคอมพิวเตอร์พีซีโดยการใช้ไฟจาก external dc adapter ซื่งเลือกโดย set jumper ได้ โดยบอร์ด freeduino มี DC Plug สำหรับต่อ adapter ซึ่ง DC Plug นี้จะรับไฟบวกที่ขั้วตรงกลาง รุ่นที่แนะนำให้ใช้คือ Adapter 9 volt 500-800 ma. รุ่นที่ขั้วบวกอยู่ด้านใน หาซื้อได้ที่บ้านหม้อ หรือสั่งซื้อจาก logicthai ได้ในราคา 150 บาท

 

 

?

วงจร freeduino diecimila compatible

http://www.logicthai.net/sites/default/files/freeduinosch.png เพื่อดูภาพขยายใหญ่

arduino osciloscope

การเชื่อมต่อ arduino กับ ps2 keyboard หรือ barcode scanner

http://www.arduino.cc/playground/ComponentLib/BarcodeScanner เป็นตัวอย่างการเชื่อมต่อ ps2 keyboard ที่ใช้กับพีซีทั่วไปกับ arduino board พร้อม source code ตัวอย่าง

Arduino กับการเล่นไฟล์ เสียง

โปรเจกน่าสนวันนี้เสนอการนำ Arduino มาเล่นไฟล์เสียง (.wav file) ที่เก็บใน SD card ดูรายละเอียดเพิ่มเติมได้ที่ http://ladyada.net/make/waveshield/index.html

Arduino Servo Control

Arduino Hardware

บอร์ด Arduino มีหลายรุ่น ไมโครคอนโทรลเลอร์ที่ใช้กับบอร์ด Arduino มีสองเบอร์ได้แก่ Atmega8 ที่ใช้กับบอร์ดรุ่นเก่า และ Atmega168 ที่ใช้กับบอร์ดรุ่นใหม่ เป็นไมโครคอนโทรลเลอร์จากค่าย Atmel ตระกูล AVR

หมายเหตุ: การออกแบบวงจรของ Arduino ถูกแจกจ่ายตามข้อตกลง Creative Commons license Attribution-ShareAline2.5

I/O Boards

  • Diecimila เป็นบอร์ดรุ่นล่าสุด ที่มีความสามารถ reset ด้วยซอฟท์แวร์เมื่อทำการ Upload โปรแกรม สะดวกในการพัฒนาไม่ต้องกดสวิทซ์ reset บ่อยๆ ใช้วงจร low dropout power supply (ใช้ไฟ 6-12 โวลท์) และมีวงจรป้องกันกระแสเกิน ของ USB พอร์ท

แนะนำตัวโปรแกรมพัฒนา Arduino

เมนูต่างๆที่น่าสนใจ

Sketch

verify / compile

ตรวจสอบความบกพร่องของโปรแกรม

Import Library

ใช้โปรแกรมไลบรารี่ในโปรแกรมที่คุณออกแบบ ทำงานโดยการเขียน #include ไว้ที่ส่วนหัวของโปรแกรม ซึ่งจะทำให้โปรแกรมของคุณเรียกใช้ฟังชั่นความสามารถพิเศษโดยที่คุณไม่ต้องเขียนขึ้นเอง แต่ขนาดของโปรแกรมจะเพิ่มขึ้น ถ้าคุณไม่ต้องการใช้ ไลบรารี่, ลบบรรทัดที่มีข้อความ #include ออกจากส่วนหัวของโปรแกรม

Show Sketch Folder

เปิดไฟล์โปรแกรมที่จะนำมาพัฒนา

Add File

เปิดไฟล์ source code อื่นเพื่อแก้ไข ไฟล์ที่เปิดใหม่จะปรากฏใน tab ใหม่ในหน้าจอ Sketch ใช้สำหรับการแก้ไขโปรแกรมที่มี source code หลายๆไฟล์พร้อมกัน File ที่เปิดสามารถลบออกได้โดยใช้ เมนู tab

Tools

Auto Format

จะทำให้เนื้อหาโปรแกรมที่คุณเขียนในคลิบบอร์ดดูดีเป็นระเบียบและแยกสีให้ดูง่าย

Board

เลือกบอร์ดให้ตรงกับบอร์ดที่คุณใช้ เนื่องจากโปรเจก Arduino มีบอร์ดหลายรุ่น สำหรับบอร์ด Freeduino ให้เลือก Arduino Diecimila การเลือกบอร์ดจะมีผลกับการ upload โปรแกรมลงตัวบอร์

Serial Port

เมนูนี้จะแสดงพอร์ท serial ทั้งหมด (ทั้งพอร์ทจริง หรือพอร์ทเสมือน) ของเครื่องพีซี ซึ่งมันจะแสดงข้อมูลที่ update ทุกครั้งที่คุณเปิดเมนู Tools

ก่อนที่จะ upload โปรแกรมที่คุณเขียนขึ้นคุณต้องเลือกพอร์ทที่จะใช้งานเสียก่อน อาจเป็นพอร์ท com3 หรือ com อื่นที่มีตัวเลขสูงเนื่องจากเป็นพอร์ทเสมือน

Burn Bootloader

เมนูนี้จะใช้ burn bootloader ลงในบอร์ดโดยใช้เครื่องโปรแกรมหลากหลายชนิด เมนูนี้ไม่จำเป็นต้องใช้ในเวลาปกติ

การสร้างบอร์ด Freeduino รุ่น Arduino Diecimila compatible

Freeduino diecimila compatible USB version

?

?

รายการอุปกรณ์

S1 1 Reset pusbutton
IC4 1 LM2940CS-5 Voltage Regulator
X1 1 USB B type Female Connector
PWR, TX, RX, 13 4 3mm Green LED
POWER, J1 2 6 pins female header
J2, J3 2 8 pins female header
DC1 1 2.1mm power jack
Q1 1 16 MHz Quartz or ceramic oscillator
D1 1 1N4004
R1 1 10K 1/4 W resistor
R7, R8, R9, R10, R11, R12 6 1K 1/4 W resistor
C1, C5, C8, C9, C10, C12, CRS 7 0.1uF Ceramic Capacitor
pcb Freeduino 1 Freeduino pcb
C4 1 0.01uF Ceramic Capacitor
C2, C3 2 22pF Ceramic Capacitor (only with crystal)
C6 1 100uF Electrolitic Capacitor
C7 1 47uF Electrolitic Capacitor
ATMEGA168 1 Atmega168 28pin DIP microcontroller
IC1 1 FT232RL USB IC
X3 1 28pin IC socket
SV1 1 3 pin male header
ICSP 1 2x3 pins header
PTC 1 Polyfuse 0.5 A
การประกอบและบัดกรีอุปกรณ์ควรบัดกรี IC FT232RL ก่อนเนื่องจากเป็นอุปกรณ์ smd หลังจากนั้นจึงลงอุปกรณ์ R , IC Socket, xtal และตัวอื่นๆ ตามความสูงของอุปกรณ์ตามลำดับ สำหรับ IC ATMEGA168 จะต้องลงโปรแกรม Bootloader ก่อนจึงจะนำมาใช้ได้ สำหรับมือใหม่แนะนำให้ซื้อชุดสำเร็จ สมาชิกสั่งซื้อได้โดยเข้าเมนู contact

การประกอบชุดคิท Freeduino Max232 serial version

?

เพื่อให้การประกอบชุดคิท freeduinomax232ss ได้ผลดีควรทำตามขั้นตอนการประกอบจากอุปกรณ์ที่มีความสูงจากแผ่นปริ้นท์น้อยไปหามากดังนี้

1. บัดกรีจุดเชื่อมต่อของแผ่นปริ้นท์ JP1 - JP7 (โดยการใส่ resistor ลงแผ่นปริ้นท์แล้ว ตัดขาส่วนที่เกินเพื่อเอาไปใช้เป็นสาย JP1 - JP7 แล้วถอด resistor ออก เพื่อให้บัดกรีจุด JP1 - JP7 ได้ง่าย)

2. ใส่ resistor R1 ,R2 ,R3 ,R4 ,R5 ,R6 ค่า 1K และ R11 ค่า 10K แล้วบัดกรีและตัดขา

3. ใส่ ไดโอด D1 1N4004 ดูขั้วให้ถูกต้อง แล้วบัดกรีและตัดขา

4. ใส่ XTAL16 MHZ? ในแผ่นปริ้นท์จะไม่มีเครื่องหมายบอก (อยู่ติดกับ IC ATMEGA 28 ขา)แล้วบัดกรีและตัดขาให้เรียบร้อย

5. ใส่ ซ็อกเกทไอซี 16 ขา และ? 28 ขา จัดวางขาให้ตรงตามรูป บัดกรีให้เรียบร้อย

6. ใส่สวิทซ์รีเซท S1 บัดกรีให้เรียบร้อย

7. ใส่ไอซี 7805 ตัวไอซีให้ดัดขาเป็นมุมฉาก 90 องศาและทดลองใส่ให้พอดีช่องตามรูปตัวไอซีก่อน โดยให้เว้นช่องสำหรับตัวอุปกรณ์ LEDTX ,LEDRX ด้วย บัดกรีและตัดขาให้เรียบร้อย

8. ใส่ LEDPWR สีเขียว ,LEDTX สีแดง,LEDRX สีส้ม,LED13 สีเหลือง โดยสังเกตุขาให้หันด้านที่ตัดของตัวถัง LED ให้ตรงตามรูป บัดกรีและตัดขา

9. ใส่ FEMALE PIN HEADER 8 pin สองตัว และ FEMALE PIN HEADER 6 pin สองตัว บัดกรีให้เรียบร้อย

10. ใส่ C1, C2 ค่า 22 pf (ที่ตัวอุปกรณ์มีตัวอักษร 22) C3 ,C4 ,C7 ค่า 100 nanofarad(ที่ตัวอุปกรณ์มีตัวอักษร 104) บัดกรีและตัดขา

11. ใส่ PINHEADER 6 PIN(3x2) ICSP , และ PINHEADER 2 PIN(2x1) ENABLE บัดกรีให้เรียบร้อย

12. ใส่ DC Plug DC1 บัดกรีให้เรียบร้อย

13. ใส่ C5 ,C8 ค่า100 uf และ C6 ,C10 ,C11 ,C12 ,C13? ค่า? 10 uf ดูขั้วบวกลบให้ตรงตามรูป บัดกรีและตัดขา

14. ใส่ X1 pcb mounting db9 female บัดกรีให้เรียบร้อย

15. เสียบ ENABLESTRAP mini jumper 2.54 mm pitch เข้ากับ PINHEADER 2 PIN(2x1) ENABLE

16. ใส่ ไอซี IC2 MAX232CPE ลงในซ็อกเกทไอซี 16 ขาและ IC1 ATMEGA8-16PU หรือ ATMEGA168-20PU with bootloader ลงในซ็อกเกทไอซี 28 ขาตามลำดับ ดูขาให้ถูกต้องตามรูป

17. ตรวจสอบจุดบัดกรีให้ครบถ้วนสมบูรณ์ ชุดคิทแผ่น freeduinomax232ss นี้พร้อมใช้งานแล้ว การใช้งานจะใช้คู่กับสาย RS232 เพื่อเชื่อมต่อกับ PC และต้องใช้กับ DC อะแดปเตอร์ 9 - 12 โวลท์ ชนิดที่ไฟขั้วบวกอยู่ตรงกลาง เพื่อจ่ายไฟให้บอร์ด

?

แนะนำตัว Arduino

Arduino คืออะไร?

Arduino คือเครื่องมือที่จะทำให้คอมพิวเตอร์สามารถรับสัญญาณจากภายนอกและส่งสัญญาณไปควบคุมอุปกรณ์ภายนอกได้อย่างมีประสิทธิภาพมากกว่าใช้เครื่องพีซีตั้งโต็ะ
ตัวบอร์ดออกแบบจากไมโครคอมพิวเตอร์ชิพเดี่ยว, และมีโปรแกรมพัฒนาสำหรับเขียนโปรแกรมให้บอร์ดทำงาน

Arduino สามารถประยุกต์ทำเครื่องใช้อัจฉริยะ รับสัญญาณจากสวิทซ์ หรือ เซนเซอร์, และควบคุม หลอดไฟ, มอเตอร์, หรืออุปกรณ์อื่นๆ โปรเจก Arduino เป็นได้ทั้งแบบทำงานอิสระ หรือทำงานติดต่อกับโปรแกรมที่ทำงานบนเครื่องพีซี ตัวบอร์ดสามารถประกอบขึ้นใช้เอง หรือจะซื้อสำเร็จที่มีขาย ส่วนโปรแกรมพัฒนา Arduino สามารถดาวน์โหลดได้ฟรี

ทำใมต้องเป็น Arduino?

ในตลาดไมโครคอนโทรลเลอร์มีตัวเลือกมากมาย เช่น Parallax Basic Stamp, Netmedia's BX-24, Pidgets, MIT's Handyboard, และอีกหลายเจ้าที่มีคุณสมบัติไกล้เคียงกัน คือทำโปรเจกให้ใช้งานง่าย และเน้นการโปรแกรมไมโครคอนโทรลเลอร์เป็นหลัก Arduino ก็เช่นเดียวกันแต่มีข้อแตกต่างที่เห็นได้ชัดคือ

  • ราคาไม่แพง - ราคา Arduino บอร์ดไม่แพงเมื่อเทียบกับ บอร์ดอื่น บอร์ด Arduino ที่ราคาถูกสุดสามารถทำใช้เองได้หรือซื้อสำเร็จด้วยเงินไม่เกิน 30 $
  • ทำงานได้หลายแพลตฟอร์ม - โปรแกรมพัฒนา Arduino ทำงานได้ทั้งบนวินโดวส์, Macintosh OSX, และ บนลีนุกซ์ ในขณะที่บอร์ดอื่นทำงานได้เฉพาะบนวินโดวส์
  • ใช้งานง่าย, มีโปรแกรมพัฒนาที่ไม่ซับซ้อน - โปรแกรมพัฒนา Arduino ใช้งานง่ายสำหรับมือใหม่, และมีความสามารถครบความต้องการของนักพัฒนามืออาชีพ
  • เปิดเผยซอร์สโค้ด และ นำไปพัฒนาต่อยอดได้ - โปรแกรม Arduino ตีพิมพ์แบบเปิดเผยซอร์สโค้ด และสามารถเพิ่มเติมความสามารถผ่าน C++ library, ถ้าคุณต้องการศึกษาให้ลึกซื้ง คุณสามารถข้ามไปเล่น AVR C ซึ่งเป็นต้นแบบของ Arduino, และคุณสามารถเพิ่มเติม AVR - C โค้ดได้โคยตรงถ้าคุณต้องการ
  • เปิดเผยวงจร และ นำไปพัฒนาขยาย hardware ได้ - Arduino ใช้โมโครคอนโทรลเลอร์ของ Atmel เบอร์ ATMEGA8 และ ATMEGA168 วงจรของบอร์ดตีพิมพ์แบบเปิดเผยวงจรภายไต้ Creative Commons License คุณสามารถนำไปดัดแปลงต่อขยายและเพิ่มประสิทธิภาพ เพื่อศึกษาการทำงานของมันได้ฟรี


เริ่มต้นกับ Arduino

หลังจากที่ได้รับ Arduino มาตอนนี้คุณก็พร้อมที่จะเริ่มเล่น บทความนี้จะเป็นแนวทางการเริ่มต้นใช้งาน Arduino board และการเขียนโปรแกรมให้บอร์ดทำงาน ตั้งแต่การเปิดเครื่อง, ติดตั้ง driver และ upload โปรแกรมแรกของคุณ

การใช้งาน Arduino บน Windows

สำหรับผู้เริ่มต้นใช้งานควรอ่านและใช้งาน Arduino ตามขั้นตอนดังนี้

1. เตรียมบอร์ด Arduino และสาย USB cable

2. Download โปรแกรมพัฒนา Arduino หรือที่เรียกว่า Arduino environment

3. ติดตั้ง USB drivers

4. เชื่อมต่อ พีซีกับ Arduino

5. ทดลองต่อ LED

6. เรียกโปรแกรมพัฒนา Arduino

7. Upload โปรแกรม

8. ดูผลการกระพริบของ LED

9. เรียนรู้การใช้งาน Arduino

?

1. เตรียมบอร์ด Arduino และสาย USB cable (สำหรับบอร์ด freeduinomax232ss เตรียมบอร์ด ,สาย rs232 และอะแดปเตอร์ 9 โวลท์)

2. Download โปรแกรมพัฒนา Arduino หรือที่เรียกว่า Arduino environment

ในการโปรแกรม Arduino board คุณต้องใช้ โปรแกรมพัฒนา Arduino หรือที่เรียกว่า Arduino environment

ดาวน์โหลด Arduino 0011 for Windows

หรือ copy? ไฟล์จากแผ่นซีดี

หลังจากนั้นให้ทำการ UNZIP และเก็บไว้ใน folder ที่ต้องการ เช่น ถ้าเก็บไว้ที่ drive c:\ จะได้ folder C:\arduino-0011

3. ติดตั้ง USB drivers?? (สำหรับ freeduino max232ss ไม่ต้องทำขั้นตอนนี้)

ถ้าคุณใช้ Arduino diecimila หรือ Freeduino ซึ่งเป็นรุ่นที่มี USB port คุณจำเป็นต้องใช้ USB Driver

ดาวน์โหลด USB Driver จากเวบ FTDI

หรือ copy? ไฟล์จากแผ่นซีดี

ทำการ UNZIP แล้วเก็บไว้ใน Folder ที่ต้องการ เช่นถ้าเก็บไว้ที่ drive c:\ จะได้ folder C:\CDM 2.04.06 WHQL Certified

4. เชื่อมต่อ พีซีกับ Arduino

ตรวจสอบ jumper ที่บนบอร์ดว่าอยู่ในตำแหน่งการจ่ายไฟจาก USB (สำหรับบอร์ด freeduinomax232ss ต่อสาย rs232 กับพีซีและจ่ายไฟให้บอร์ดด้วยอะแดปเตอร์ 9 โวลท์แล้วข้ามไป step 5 ได้เลย)

ต่อสาย USB ที่เครื่องพีซีและบอร์ด Arduino ที่จอเครื่อง pc จะขึ้นข้อความ detect new hardware

คลิกที่ No, not this time และกด Next ตามรูปข้างล่าง

โปรแกรมจะขึ้นหน้าจอให้เลือกที่เก็บซอฟแวร์ติดตั้ง driver ให้คลิกที่ Install from a list และกด Next

โปรแกรมจะขึ้นหน้าจอให้เลือกแหล่งซอฟแวร์ ให้คลิก Search for the best driver ..., Include this location ...,และกด Browse ตามรูปข้างล่าง

หน้าจอจะขึ้นให้เลือกไฟล์ ให้เลือกไปที่ folder ที่เราได้ทำการเก็บ usb driver ไว้ และกด OK

หน้าจอจะกลับมาที่ search for best driver ให้กด Next

โปรแกรมจะทำการติดตั้ง driver เข้าเครื่องพีซี

หลังจากการติดตั้งเสร็จสิ้นให้กด Finish

ถ้า windows detect พบ driver และทำงานตามปกติ windows จะแจ้งข้อความว่า device ready to use แต่ถ้ามีข้อความ error ให้ทำการลงใหม่ตามข้อ 4

5. ทดลองต่อ LED

บอร์ด Arduino diecimila หรือ Freeduino มี LED ต่ออนุกรมกับความต้านทาน 1K ต่อกับขา 13 ของไมโครคอนโทรลเลอร AVR ที่เป็นตัวควบคุมหลักของบอร์ด เราสามารถเขียนโปรแกรมสั่งงานให้ LED กระพริบเพื่อทดสอบการทำงานของโปรแกรมได้เลย

6. เรียกโปรแกรมพัฒนา Arduino

เปิด folder ที่เรา unzip โปรแกรมพัฒนา Arduino และเรียกโปรแกรม Arduino

โปรแกรมพัฒนา Arduino หรือที่เรียกว่า Arduino environment จะทำงาน

ทดลองโหลดโปรแกรมไฟกระพริบตัวอย่างที่มากับโปรแกรมพัฒนาโดยเข้าเมนู File, sketchbook, examples, digital, blink

จะได้โปรแกรมไฟกระพริบที่พร้อมทดลอง

ทำการ compile โปรแกรมโดยกด Sketch, Verify/compile

ตรวจสอบ การตั้งค่าบอร์ดว่าตั้งไว้ที่ Arduino Deicemila โดยเรียก Tools, Board (ถ้าใช้ชิพ ATmega8 ให้เลือก Arduino NG or older w/ATmega8)

ตรวจสอบการตั้งค่า port ที่ใช้ติดต่อบอร์ด Arduino โดยเข้าเมนู Tools, Serial Port, จะเห็น Com3 (บางเครื่องอาจเป็น com อื่นให้เลือก Com port ที่มีค่าสูงสุด) (ถ้าใช้บอร์ด Freeduinomax232ss ให้เลือก com port ที่เสียบสาย rs232 เชื่อมต่อกับพีซี ส่วนมากจะใช้ com1 หรือ com2)

7. Upload โปรแกรมลงบอร์ด Arduino โดยกดปุ่ม Upload to I/O Board

8. ดูผลการกระพริบของ LED

จะเห็น LED กระพริบติด 1 วินาทีและดับ 1 วินาที คุณอาจทดลองเปลี่ยนตัวเลขค่าหน่วงเวลาแล้ว compile, upload เพื่อทดสอบการทำงาน (สำหรับบอร์ดที่ใช้ chip ATmega8 หลังจาก upload จะมีช่วงdelay เวลาประมาณ 8 - 10 วินาที โปรแกรมจึงจะทำงาน)

9. เรียนรู้การใช้งาน Arduino

ศึกษาเพิ่มเติมจาก e-book หรือคู่มือการโปรแกรม Arduino ในเวบนี้ ตัวอย่างการใช้งาน Arduino สามารถหาข้อมูลได้ที่ www.arduino.cc และ www.freeduino.org

?

?

คู่มือการทดลองสำหรับ Arduino

เนื้อหาใน e-book เล่มนี้อ่านเป็นแนวทางการทดลอง Arduino board เบื้องต้น download ได้ที่ http://www.tinker.it/en/uploads/v3_arduino_small.pdf

Syndicate content