วันอาทิตย์ที่ 11 ธันวาคม พ.ศ. 2554

คอนโทรลเลอร์ตระกูล PIC สามารถผลิตได้ในประเทศไทย ราคาถูก

ข้อดีไมโครคอนโทรลเลอร์ตระกูล PIC มาประยุกต์ใช้งานในอุตสากรรมและในชีวิตประจำวัน ?

-ไมโคร คอนโทรลเลอร์ตระกูล PIC สามารถผลิตได้ในประเทศไทย ราคาถูก หาซื้อได้ง่ายตามร้านชั้นนำทั่วไป ร้านนัฐพงษ์,ร้านโชคชัย,ร้านEPS,ร้านอิเล็คทรอนิกส์ซอร์ซ และร้านค้าอื่นๆในบ้านหม้อพลาซ่า
-ไมโครคอนโทรลเลอร์ตระกูล PIC มีเบอร์ให้เลือกใช้งานเยอะ 8บิต,16บิต,32บิต จำนวนขา 8ขา จนถึง 100ขา
-ไมโคร คอนโทรลเลอร์ตระกูล PIC มีทรัพยากรณ์ในตัวครบครัน ADC โมดูลรับสัญญาณอนาล็อคทูดิจิตอลจากภายนอก,PWM โมดูลสร้างความถี่พัลวิทมอดูเ้ลชั่นส่งออกไปควบคุมปรับสปีดความเร็ว มอเตอร์,USB โมดูลสื่อสารใช้ติดต่อกับคอมพิวเตอร์ผ่านพอร์ต USB,RS-232 โมดูลสื่อสารแบบอนุกรมใช้ติดต่อกับไมโครคอนโทรลเลอร์ด้วยกันหรือใช้ติดต่อ กับคอมพิวเตอร์ บางเบอร์มี โมดูลสื่อสาร RS-232 มากกว่า 1ช่อง ,SPI โมดูลสื่อสาร SPI ใช้ติดต่อกับอุปกรณ์พิเศษเช่น SD Card,I2C โมดูลสื่อสาร I2C ใช้ติดต่อกับอุปกรณ์พิเศษต่างๆที่รองรับ I2C เช่น real Time Clock,EEProm,Motion Feedback Module โมดูลพิเศษใช้ควบคุมติดต่อควบคุมมอเตอร์และรับสัญญาณ Encoderจากมอเตอร์,RF Module โมดูลพิเศษสามรถรับส่งสัญญาณความถี่ RFได้ด้วยตัวเอง,Capacitance Touch Sensing คุณสมบัติพิเศษสามารถต่อรับสัญญาณสวิทซ์สัมผัสแบบการเปลี่ยนแปลงค่า Capacitance
-ทำ งานด้วยความถี่ 32khz,4Mhz-80Mhz สำหรับบางเบอร์สามารถทำงานด้วยคริสตัลภายในตัวได้ถึง 4Mhz โดยไม่ต้องต่อคริสตัลภายนอก เช่น PIC12F675,PIC16F628 เป็นต้น เคยเห็นบ้างเปล่าครับ วงจรบางวงจรที่เราคิดว่าเป็นไมโครคอนโทรลเลอร์ แต่ทำไม ไม่ต่อคริสตัล ไมโครคอนโทรลเลอร์ตระกูล PIC นี่แหละครับคือคำตอบ
-ระบบ การทำงานมีโหมดประหยัดพลังงาน Sleep Mode เมื่อไม่มีโหลด จะกินกระแสไฟฟ้าน้อยกว่า 25mA ที่แรงดันไฟฟ้า 5V และสัญญาณนาฬิกา 4Mhz,กินกระแสไฟฟ้า 15uA ที่แรงดันไฟฟ้า 3V และสัญญาณนาฬิกา 32khz
-ขาพอร์ตไมโครคอนโทรลเลอร์สามารถรับกระแสซิงค์และจ่ายกระแสซอร์ซ ได้ 25mA สามารถขับอุปกรณ์ประเภท LED ได้โดยตรง
-สามารถ รับสัญญาณ Interrupt ได้หลายแหล่ง เช่น Interrupt จากการเปลี่ยนแปลงระดับสัญญาณที่ขาพอร์ต,Interrupt จาก Timer,Interrupt จากสัญญาณ Input ผ่านขารับสัญญาณ RX โมดูล RS-232
ปัจจุบันมีหนังสือต่างประเทศและหนังสือภาษาไทยที่สอนการเขียนโปรแำกรมไมโครคอนโทรลเลอร์ตระกูล PIC หลากหลายบริษัทเช่น ETT,Inex,appsofttech,smartlearningweb,KtpBook,Se-ed,Amazon เป็นต้น
-มีบอร์ดทดลองและเครื่องโปรมแกรมที่รองรับการเขียนโปรแกรมไมโครคอนโทรลเลอร์ตระกูล PIC หลากหลายบริษัทเช่น ETT,Inex,SilaResearch,Micro-Research,ES,sign-advancetech,thaieasyelec,futurlec,appsofttech,smartlearningweb,robodkit,monthar,thaimcu,happymcu,basic-robot,thailabresearch,olimex เป็นต้น
-มีเว็บไซด์แหล่งข้อมูล บทความ โครงงาน Project ที่เกี่ยวข้องกับไมโครคอนโทรลเลอร์ตระกูล PIC มีทั้งเว็บไทยและต่างประเทศ semi-shop ,ETT ,ThaiMCU,Micro4Dev,Thaimicrotron,Wikipedia,Rentron,Mstracey
,Microchip,Technologystudent,Audiomulch,Electronic-Engineering,Mechatronics,MicroengineeringLabs,Mikroe

-หน่วยความจำโปรแกรมแบบแฟลชสามารถลบและเขียนใหม่ได้ไม่น้อยกว่า 100,000ครั้ง
-รอง รับการเขียนโปรแกรมได้หลากหลายภาษา ภาษาแอสแซมบลี MPLAB,ภาษาซี (CCS,Hitech,C30,MicroC),ภาษาเบสิก(PicBasicPro,MicroBasic),ภาษาโลโก้,และ การเขียน Flow Code

สอนการเขียนโปรแกรม อาร์ดูโน่ Arduino

สอนการเขียนโปรแกรม อาร์ดูโน่ Arduino

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

Easy Controller-System with Arduino

Contents

  • Introduction
  • The Starter Kit
  • What exactly is an Arduino?
  • Getting Started
  • Upload your first sketch
  • The Arduino IDE
  • Structure
  • Functions
  • The Projects

Structures

  • Structures
  • Further Syntax
  • Constants
  • Variables
  • Data Types Of Variable
  • Arithmetic Operators
  • Comparison Operators
  • Boolean Operators
  • Compound Operators
  • Conversion
  • Control Structures

Functions

  • Digital I/O
  • Analog I/O
  • Advanced I/O
  • Time
  • Math
  • Trigonometry
  • Random Numbers
  • Communication

The Projects

  • Project 1 - LED Flasher
  • Project 2 - Traffic Lights & Interactive Traffic Lights
  • Project 3 - Interactive LED Chase Effect
  • Project 4 - Pulsating Mood Lamp LED Fire Effect
  • Project 5 - Drive a DC Motor And A Single Servo
  • Project 6 - Piezo Sounder Melody Player
  • Project 7 – Button Pressing & Pushbuttons Sensor                      
  • Project 8 - Light And Serial Temperature  Sensor
  • Project 9 - Shift Register 8-Bit Binary Counter
  • Project 10 - Larger Loads Relays

รายละเอียดการอบรม

ค่าอบรมหลักสูตร Arduino            4,500          บาท        7     ชั่วโมง
  • ผู้เข้าอบรมจะได้รับบอร์ดอาร์ดูโน่                   1    บอร์ด
  • ชุดฝึกไมโคร Arduino Set                         1    ชุด  
  • เอกสารการฝึกอบรม                                      1    ชุด
  • โค้ดตัวอย่าง
  • เบรก 2 ชุด พร้อมอาหารกลางวัน

project-สร้าง arduino oscilloscope ง่ายนิดเดียว

สวัสดีครับ ช่วงนี้ต้องรีบเข้ามาปล่อยบทความไปเรื่อยก่อน หลังจากที่ดองไว้นาน สำหรับช่วงนี้ ผมได้กลับมาลองเล่นโปรแกรม processing อย่างจริงจัง อีกรอบ สำหรับโปรแกรม processing เป็น platform พัฒนาโปรแกรมสำหรับงาน Visual Art ครับ ซึ่งรู้สึกว่าโปรแกรมนี้ เล่นอะไรได้เยอะดีครับ ทดลองใช้งานมา ก้อไม่ติดขัดอะไร เขียนได้เรื่อยๆ เลยมาตั้งโจทย์ เขียนโปรแกรมง่ายๆ เล่นดูบ้างดีกว่า
สำหรับโปรแกรม processingเขา ตั้งใจสร้างมาเพื่อศิลปิน visual art เขาใช้งานกัน เพราะว่า tools ต่างๆ มันจะเกี่ยวกับ computer graphics ไม่ว่าจะเป็น สร้างภาพ 2D ,3D OpenGL และ ส่วน interface กับ mouse ,keyboard อย่างง่ายๆ คือ จริงๆมันก้อเหมือน C#, C++ ,java อะไรพวกนั้นล่ะครับ แต่มันง่ายกว่า กับไม่ต้องเรียนรู้การเขียนโปรแกรมมากนัก และ ที่สำคัญมันฟรี และ ใช้งานได้ทุก platform อีกด้วยคับ ไม่ว่าจะเป็น MacOS ,Linux ,Windows และอีกไม่นานจะไปอยู่บนโทรศัพท์ android กับ iphone อีกด้วย
ใน บทความตอนนี้ผมก้อ ลองทำ Oscilloscope ง่าย โดยเอา processing กับ arduino มาใช้ร่วมกันเลย จากแผนภาพจะแสดงให้เห็นว่า ใช้บอร์ด arduino อ่านค่าจะ sensor ผ่าน A/D แล้วส่งค่าให้ processing เอาไปแสดงผล จึงได้ digital scope ง่าย แสดงผลเป็นจอสี ต่อ USB ได้ด้วย และมีอาจจะใส่ function แปลงค่าที่อ่านได้ มาเป็นค่าอุณหภูมิ ความเข้มแสง? (แต่ต้องเขียนโปรแกรมเพิ่มเองนะครับ)
ในเน็ทมีคนทำ Oscilloscope เยอะเหมือนกัน ถ้าใครอยากใช้งานจริงจัง ไปเอาที่เวปเวอร์ชั่นนี้ arduinoscope ดีกว่า วัดได้ save ได้ ใช้งานจริงจังกว่าเยอะ บอร์ด arduino  ที่มีไว้จะได้ใช้งานคุ้มไปกว่าเดิม ตอนที่แล้วทำเครื่องเบิร์นไปแล้ว ตอนนี้ทำ [url=http://www.google.co.th/search?hl=th&client=firefox-a&hs=MCa&rls=org.mozilla:en-USfficial&&sa=X&ei=nmVxTIiMFo-ivgO0nrBB&ved=0CC8QBSgA&q=oscilloscope&spell=1]oscilloscope[/url] อีก เหลือ function gen จะครบแล้ว ฮ่าๆ
วิธีการสร้างสำหรับ จุดประสงค์ ศึกษาวิธีการส่งข้อมูลระหว่าง arduino กับ  processing ครับ และเอามาอ่าน sensor ง่าย แค่พอใช้งานได้ นะครับ อีกเดี่ยวจะมี sensor อีกหลายตัวที่จะเข้ามาทดสอบ เลยเตรียมเครื่องมือไว้สักหน่อยครับ
แผนภาพการเชื่อมโยงโดยรวมของระบบ

สำหรับโปรเจคนี้จะแบ่งเป็นสองส่วน
1. ส่วน arduino อุปกรณ์และวงจรไม่มีอะไรเพิ่มเติมเลยครับ สร้างโปรแกรมให้ arduino อ่านค่าจาก A/D ซึ่งจะได้ค่าเป็นโวลต์ แล้วส่งข้อมูลผ่าน UART หรือ RS232 ไปยังคอมพิวเตอร์ โดยผมแอบเสริม sensor วัดความชื้น กับ วัดอุณหภูมิเข้าไปด้วย (แอบทดสอบ) ซึ่งมันอ่านค่าออกมาเป็น analog ครับ สนใจเข้าไปอ่านใน กระทู้ electoday อันนี้ครับ
       
Notes: 4
        
2. ส่วน processing รับค่าจาก UART มาแปลงเป็นข้อมูล แสดงผลเป็น กราฟ หน้าตา interface ที่ออกแบบของ Scope? ออกแบบหน้าตาง่ายๆ plot   กราฟ  กับ แสดงค่า อย่างเดียวเลย ซึ่งผมก้อให้มันแสดงได้สองแบบ คือ 1-แสดงค่าโวลต์ ที่อ่านมาได้ กับ 2-แสดงค่าโวลต์ที่แปลงหน่วย มาเป็น ค่าความชื้น และ อุณหภูมิ เทคนิคการแปลงค่า ก้อเอามาจาก กระทู้ เริ่มต้นกับ module humi+temp ราคาประหยัด เอาสมการ ที่คำนวนการแุปลงค่าโวลต์ที่อ่านมาได้ เป็นค่าจริง
[download code] -> simple_scope_with_processing

source : ayarafun.com

ลิงค์เวบไซต์ ที่น่าสนใจ สำหรับ Arduino

ลิงค์เวบไซต์ ที่น่าสนใจ สำหรับ Arduino และ Electronics
    http://www.electoday.com/bbs/               แหล่งความรู้ของคนที่สนใจด้านอิเล็คทรอนิกส์ในไทย
    http://www.ayarafun.com/                         ทุกสิ่งใหม่ๆ ในวงการอิเล็คทรอนิกส์ พร้อมร้านค้าในตัว
    http://www.facebook.com/ThaiEasyElec แหล่งความรู้ของคนที่สนใจด้านอิเล็คทรอนิกส์ในไทย
    http://www.thaiduino.com/                         ร้านขายอุปกรณ์ เกี่ยวกับ Arduino ในไทย มีสินค้าจำนวนหนึ่ง และ

ข้อมูลให้ศึกษา
    http://www.warf.com/                                   ร้านขายอุปกรณ์ อิเล็คทรอนิกส์ และ Controller แทบทุกชนิด มี

บทความให้ความรู้
    http://www.warapcb.com/                           คุณฝัน เค้าสร้างให้...

หนังสือแนะนำ:(ภาษาไทย):
    http://inex.co.th/books/arduino.html                 หนังสือสอน Arduino ฉบับภาษาไทย เล่มแรกๆของไทย
    http://www.etteam.com/product2009/BOOKS/cArduino.html  เรียนรู้และเข้าใจArduino ภาษาไทย

หนังสือแนะนำ:(ภาษาอังกฤษ):
    http://www.arduino.cc/en/Booklet/HomePage  เว็บกลางของโลกนี้่ สำหรับ Arduino

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

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


Arduino_Uno
    สำหรับ หลายท่านที่เคยเล่น Arduino มาก่อนไม่ว่าจะเป็นรุ่นไหนๆ แต่สำหรับรุ่น Uno นี้เป็นรุ่นที่มีการเปลี่ยนแปลงอยู่มากพอสมควร ดังนั้น MCU4Fun จะนำเสนอการใช้งาน Arduino Uno ของแท้จากอิตาลี เริ่มกันเลยนะครับ

ภายในกล่องอันสวยหรูดูดีมีสไตล์นั้นมีอะไรกันบ้าง
Arduino_Uno_in_Box
  1. คู่มือ
  2. สติกเกอร์
  3. ตัวบอร์ด Uno


สัญลักษ์ใหม่
ArduinoLogo     forward     Arduino_new_logo
ข้อแตกต่างกับ Arduino รุ่นที่ผ่านๆมา
     บอร์ด Uno ใช้ AT-Mega8U2 เพื่อใช้ติดต่อกับคอมพิวเตอร์ผ่านทางพอร์ท USB ( USB to Serial ) แทน FT232 ของทาง FTDI ซึ่งส่งผลต่อการที่ windows ไม่รู้จัก Uno แต่ก็มีวิธีแก้ไขดังจะกล่าวต่อไป
  
การแก้ไขปัญหา
     สามารถทำตาหัวข้อที่ 4 Installing drivers for the Arduino Uno with Windows7, Vista, or XP ตามลิงค์นี้เลย แต่ทาง MCU4Fun ได้ทำเป็นขั้นตอนอย่างละเอียดทีละขั้นมาให้แล้วรวมทั้งหมด 10 ขั้นตอนดังต่อไปนี้
1. เสียบสาย USB ไปยังบอร์ด UNO ส่งผลให้ window แจ้งว่าไม่รู้จัก (Unknow hardware) ที่ Task bar

2. ให้ไปคลิกขวาที่ My Computer คลิกขวา Propoty --> Device Manager ก็จะเห็นได้ว่าwindow จะแจ้งว่าไม่รู้จัก (Arduino Uno) ว่าเป็นอุปกรณ์ประเภทใด
 Uno-1

3. ทำการคลิกขวาที่ Arduino Uno แล้วเลือก Update Driver Software..
 Uno-2

4. เลือก Let me pick แล้วกด Next
Uno-3

5. ให้เลื่อนลงมาที่ Ports (COM & LPT)
 Uno-4

6. ให้เลือก Have Disk
Uno-5

7. แล้วค้นหาไฟล์ที่ชื่อ ArduinoUno.inf ซึ่งจะอยู่ในโฟลเดอร์ที่ติดตั้ง Arduino IDE เช่น Arduino022 โดยการกด Browse..
Uno-6
 Uno-7

8. หลังจากเลือกไฟล์ Arduino Uno แล้วคลิก Open
Uno-8

9. หลังจากนั้น windows ก็จะรู้จักถามว่าให้ติดตั้ง Driver ที่ชื่อ Arduino Uno ไหมให้คลิก Next หลังจากนั้น windows จะถามให้เลือก Install this driversoftware anyway
Uno-10  Uno-11

10. ขั้นตอนสุดท้ายคือการตรวจสอบว่า windows เห็น Arduino Uno รึยัง ซึ่งดังรูปคือรู้จักแล้ว
Uno-12

     เท่านี้ท่านก็จะสามารถใช้งาน Uno ได้ตามต้องการแล้ว วิธีการนี้ใช้ทั้งกับท่านที่ใช้ Win XP ,Vista และ Win 7 แต่จากในรูปเป็นการแก้ไขใน Win 7 หากเป็นใน Win XP ,Vista รูปอาจจะแตกต่างนิดหน่อยแต่ขั้นตอนเหมือนกันครับ

 

ลิงค์เวบไซต์ ที่น่าสนใจ สำหรับ Arduino

ลิงค์เวบไซต์ ที่น่าสนใจ สำหรับ Arduino และ Electronics
  1. http://www.electoday.com/bbs/               แหล่งความรู้ของคนที่สนใจด้านอิเล็คทรอนิกส์ในไทย
  2. http://www.ayarafun.com/                         ทุกสิ่งใหม่ๆ ในวงการอิเล็คทรอนิกส์ พร้อมร้านค้าในตัว
  3. http://www.facebook.com/ThaiEasyElec แหล่งความรู้ของคนที่สนใจด้านอิเล็คทรอนิกส์ในไทย
  4. http://www.thaiduino.com/                         ร้านขายอุปกรณ์ เกี่ยวกับ Arduino ในไทย มีสินค้าจำนวนหนึ่ง และ ข้อมูลให้ศึกษา
  5. http://www.warf.com/                                   ร้านขายอุปกรณ์ อิเล็คทรอนิกส์ และ Controller แทบทุกชนิด มีบทความให้ความรู้
  6. http://www.warapcb.com/                           คุณฝัน เค้าสร้างให้...

หนังสือแนะนำ:(ภาษาไทย):
  1. http://inex.co.th/books/arduino.html                 หนังสือสอน Arduino ฉบับภาษาไทย เล่มแรกๆของไทย
  2. http://www.etteam.com/product2009/BOOKS/cArduino.html  เรียนรู้และเข้าใจArduino ภาษาไทย
หนังสือแนะนำ:(ภาษาอังกฤษ):
  1. http://www.arduino.cc/en/Booklet/HomePage  เว็บกลางของโลกนี้่ สำหรับ Arduino
และอื่นๆ จะมาอัพเดทภายหลังนะครับ

Credit: ทุกเว็บข้างต้นที่กล่าวมา
Special Thanks: Facebook ,Internet และกำลังใจจากคนที่่รักทุกคน
· แสดงความคิดเห็น · แชร์

microcontroller สั่งให้ไฟ led กระพริบ


การเขียนโปรแกรมแรกที่ เราเรียกว่า "hello world ในโลก electronic" คือการสั่งการให้ microcontroller สั่งให้ไฟ led กระพริบ
ซึ่งในบทนี้จะเป็นการปูพื้นฐานใน การใช้งานโปรแกรม Arduino และ uploading ไฟล์ sketch ที่เราเขียนเสร็จเข้าสู่อุปกรณ์ Arduino board(ปัจจุบันมีหลายชนิดให้ dowload เพราะ Arduino เป็น open hardware) โดยในที่นี้จะเน้นการใช้งานบน windows XP (Arduino นั้นสามารถใช้ได้กับ MAC และ LINUX ได้ด้วยเพียงแต่ต้องdownload software ให้ถูกชนิด)


ขั้นตอน Prepare( สิ่งที่ต้องเตรียม)

Arduino board ที่ประกอบสำเร็จหรือประกอบเอง, ในที่นี้เน้น Diecimila (หรือ Arduinoรุ่นใดก็ได้ ที่เป็นรุ่นล่าสุด) หาซื้อได้ตามwebsite หรือประกอบขึ้นเองได้ ราคาประมาณ 12xx-13xx
ขึ้นอยู่กับ ราคา MCU ใช้รุ่น 168 หรือ 328
สาย USB Cable. ชนิด หัว A-B
หาซื้อได้ตามร้านอะไหล่computer ทั่วไป
ประมาณ 30-50 บาท
หลอดไฟ LED(ไดโอดเปล่งแสง) 5 mm. ร้าน electronic ทั่วไป ราคา 3-12 บาท




ขั้นตอน Download the Software

เริ่มจาก download IDE รุ่นล่าสุด จาก url: http://www.arduino.cc/en/Main/Software โดยเลือกให้เหมาะสมกับ OS ที่ใช้ในการพัฒนา


ขั้นตอน Unpack and Install เมื่อ donwload สำเร็จจะได้ไฟล์ในรูปแบบ zip ให้ทำการแตกไฟล์ตาม folder ที่ต้องการ



ขั้นตอน สร้าง Short cut ทำการสร้าง shortcut ไว้บน desktop

ขั้นตอน Select chip
ขั้น แรกในการปรับแต่ง Arduino software ให้ match กับ chip. โดยส่วนใหญ่ Arduinos ใช้ chip ATmega168 แต่อย่างไรเราสามารถเปลี่ยนไปใช้ chip ATmega8 ได้
ภาพ chipที่มีเลขตัวถังที่แตกต่างกัน :

ตัวอักษรบ่งบอกว่าเป็น ATMEGA8-16P นั้นคือ chip รุ่น atmega8
หากตัวอักษรเขียนว่า ATMEGA168-20P นั้นคือ chip รุ่น atmega168
หากตัวอักษรเขียนว่า"ATMEGA328P-20P" นั้นคือ chip รุ่น atmega328p

select chip ให้เหมาะสม


ขั้นตอน Select port ขั้น ต่อไปคือการเลือก Port (COMunication Port)โดย Arduino Version ใหม่ๆมักจะใช้ USB port ในการสื่อสาร โดยจะทำการสร้าง virtual port เช่น COM3 เป็นต้น หากเป็นรุ่นที่ใช้ rs232จะใช้COM1-2 ในการสื่อสาร
select serial port ให้เหมาะสม



ขั้นตอน เปิดไฟล์ blink เพื่อทดสอบ
Sketches คือไฟล์ scriptsขนาดเล็กที่เราทำการส่งไปยัง Arduino เพื่อสั่งการต่างๆ
เปิดไปที่ Example Sketch (ไฟล์ตัวอย่าง)
โดยไปที่ File menu -> Sketchbook -> Examples -> Digital -> Blink

ซึ่งเปิดไฟล์ตัวอย่างแล้วจะมีโค้ดพิมพ์ให้เสร็จ




ขั้นตอน Verify / Compile (ตรวจสอบความถูกต้อง/คอมไพล์)
ขั้นแรกในการนำ Sketch ที่พร้อมแล้วส่ง arduino จะต้องทำการ Verify/Compile ก่อน เพื่อตรวจสอบความผิดพลาด (เรียงกันเหมือนการตรวจคำผิด)และทำการแปลงcodeดังกล่าวให้เหมาะสม ในการ upload ขึ้นสู่ Arduino hardware
ประมาณสองวินาทีจะได้รับข้อความว่า" Done compiling"(หากโปรแกรมที่เขียนไม่ผิดพลาด)
ใน Status Bar และ Binary Sketch Size: ใน Notification area
ในความหมายนี้คือไฟล์ sketch ได้เขียนและพร้อมที่ uploading ขึ้น Arduino board


ขั้นตอน Upload โดยเสียบอุปรณ์ Arduino ,จะมีไฟสีเขียวหากเลือก Serial Port ถูกต้อง
ทำการเลือก Upload to I/O Board จาก File menu

หลังจากนั้นประมาณหนึ่งวินาทีจะมีข้อความว่า Done uploading ในช่องstatus bar


ขั้นตอนหาข้อผิดพลาด error detect
หากได้รับข้อความดังกล่าวว่า "avrdude: stk500_getsync(): not in sync: resp=0x00" ซึ่งหมายถึง Arduino ไม่ตอบสนองการทำงาน

โดยการตรวจสอบเบื้องต้นดังนี้:
  • การเลือก Serial Port ถูกหรือไม่?
  • ทำการติดตั้ง driver (USB)ถูกต้องหรือไม่?
หากได้รับข้อความแสดงความผิดพลาดดังนี้:
แสดงถึงปัญหาเกี่ยวกับserial port โดยแก้ด้วยการติดตั้ง driver อีกครั้งและเลือก serial portให้ถูกต้อง


ขั้นตอนการแสดงผล โดย ใช้ Arduino Diecimila แสดงผลการกระพริบไฟ LED โดยนำขาที่ยาวกว่า(Anode)เสียบช่อง Digitalหมายเลข 13 และขาสั้น(cathode)เสียบที่ช่องGND(Ground) เมื่อเสียบลงไปทั้งคู่จะมีไฟกระพริบ



referent : http://www.ladyada.net/learn/arduino/lesson1.html

วันเสาร์ที่ 22 สิงหาคม พ.ศ. 2552

รีวิวคุณสมบัติ Duemilanove (2009) Arduino Standard ตัวล่าสุด





Arduino รุ่น Duemilanove(2009) ได้อัพเกรดเพิ่มประสิทธิภาพ microcontrollerโดยใช้ ATmega328 มันยัง compatible กับอุปกรณ์เหมือนกับรุ่นก่อนหน้าคือ ATmega168 เพียงแต่เพิ่มหน่วยความจำมากขึ้นสองเท่า
  • เพิ่ม flash memory เป็นสองเท่าในการเก็บไฟล์ sketches ( 32KB แทนที่ของเดิมคือ 16KB)
  • เพิ่ม RAM สองเท่าในการจองพื้นที่(2KB แทนที่เดิมคือ 1KB)
  • เพิ่ม EEPROM สองเท่าเพื่อเก็บข้อมูลเมื่อเราปิดในการจ่ายไฟแก่ board (1KB แทนที่เดิมคือ 512 bytes)
  • เพิ่มความเร็ว(ในการ bootloader )ในการ upload ไฟล์ sketches ที่เราเขียนใหม่ โดยความเร็วเพิ่มจากเดิม 19200 baud เพิ่มเป็น 57600 baud

Arduino คือเครื่องมือช่วยในให้ computer ที่มีการรับรู้เข้าใจ และการควบคุม เพิ่มมากกว่าเครื่อง desktop computer ที่จะทำงานโดยลำพังในการทำงานดังกล่าวขั้นต้น มันคือรูปแบบ open source physical computing โดยการเน้น microcontroller board ง่ายไม่ซับซ้อน ซึ่ง "Duemilanove" มีความหมายว่า 2009 ในภาษาอิตาลี Duemilanove เป็นรุ่นล่าสุดที่มีการใช้ USB อย่างเต็มตัวในการผลิต Arduino
referent: http://www.makershed.com/ProductDetails.asp?ProductCode=MKSP4&Click=19209

สรุป: ผู้เขียนบทความได้ทดลองใช้งานดูพบว่าค่อนข้างมีความเป็นมาตราฐานสูงในการ ทดลอง program ด้านต่าง ๆ เช่น Communication ,Servo motor ฯลฯ อีกทั้งยังสะดวกในการใส่ Shiled เนื่องจากมีความเป็นมาตราฐานสูง จึงเหมาะมากในการศึกษาเบื้องต้น



ภาพการเปรียบเทียบขนาดระหว่างDuemilanove กับ Duinothumb

หากท่านต้องการทำ Arduino Project ที่มีพื้นที่ใช้น้อยมาก เช่น รถบังคับเล็ก ๆ แนะนำให้ใช้ duinothumb ซึ่งผลิตโดยคนไทย เพื่อส่งเสริมให้มีการวิจัยและพัฒนาต่อไป

วันพฤหัสบดีที่ 20 สิงหาคม พ.ศ. 2552

การนำโปรแกรมเขียนลงไมโครฯ AVR ISP(In System Programming)



ในอดีตการพัฒนาคอนโทรลเลอร์เพื่อการเขียนข้อมูล (data หรือ program) ลงใน EEPROM (erasable rom) นั้นจำเป็นต้องถอดเอา chip ไปอาบข้อมูลด้วยแสง ultraviolet เพื่อทำการลบข้อมูล จึงจะสามารถเขียนโปรแกรมเข้าไปใหม่ได้ และมีอายุการใช้งานจำกัด ดังนั้นเมื่อต้องการพัฒนาโปรแกรมใหม่จะเกิดกระบวนการที่ซับซ้อนวุ่นวายมาก


ต่อมาความก้าวหน้าทาง Technology ทาง Flash Memory พัฒนามากขึ้น โดยบรรจุ Flash Memory ลงไปใน chip ทำให้การทำงานลบล้างข้อมูลบน chip ง่ายขึ้น ไม่ต้องใช้แสง ultraviolet เพื่อลบข้อมูล ใช้ไฟปกติสามารถอ่านเขียน ลบ โปรแกรมได้ แต่ต้องจำเป็นต้องใช้เครื่องมือ หรือวงจรที่ต้องออกแบบมาเพื่อใช้งานดังกล่าว

เครื่องเบิร์นโปรแกรม (Flash Programmers)
การอัดโปรแกรมเข้าไปใน chip หรือการเบิร์นโปรแกรม จำเป็นต้องใช้ไฟสูงหรือสัญญาณระดับไฟมากกว่า 12 โวลต์ เข้าไป tick ขาสัญญาณ เพื่อให้ Micro controller รับรู้ว่าจะมีการเขียนโปรแกรม ซึ่งในอดีตต้องมีการถอด chip เข้า - ถอด chip ออกเพื่อย้าย chip จากบอร์ดทดลอง ไปยังเครื่องโปรแกรม ซึ่งวงจรไฟสูง
แต่ด้วยความต้องการปัจจุบัน ทางบริษัทผลิต chip ได้บรรจุวงจรเพิ่มแรงดันเข้าไปใน chip ด้วยจึงทำให้สามารถ flash โปรแกรม เข้าไปใน chip ได้เรียกว่า In Circuit System Programming ( ICSP or ISP) คือ การเขียน การเบิร์น (burn) อุปกรณ์วงจรต่างๆ จึงลดลงน้อยลง

การเบิร์นโปรแกรม (flash programmers หรือ ISP) จะสามารถเบิร์นโปรแกรมได้สองวิธี
  1. Parallel Programming Mode (Parallel Mode) :คือการต่อตรงเข้าไป mcu ไม่ได้ผ่านชุดคำสั่งพิเศษ
  2. Serial Downloading Mode (ISP mode):จะใช้ชุดคำสั่งใช้ในการ flash โปรแกรม เข้าไป
การทำงานของ In System Programming (ISP) ดังที่กล่าวไว้ในขั้นต้นว่า flash memory สามารถเขียนได้ต้องใช้ไฟสูง ในการขับขา gate จึงได้มีการพัฒนาเพิ่มทวีแรงดัน เพื่อสร้างไฟสูงภายในวงจร การเบิร์นจึงทำได้ง่ายขึ้น


ภาพขาของ MCU ที่ใช้ใน In System Programming

  • MOSI == Master Out Slave In: data input
  • MISO == Master In Slave out : data output
  • SCK == Serial ClocK : clock input
  • RST == RESET: used to activate the serial Programming
จากภาพขาของ MCU ที่ใช้ใน In System Programming จะอธิบายได้ดังนี้
  • MOSI นั้น จะเป็นขาส่งข้อมูลออก( Output ) ของตัวแม่ ( master )
  • MISO นั้น เป็นขาที่รับข้อมูล (input ) ที่ส่งมาจากลูก ( slave )
  • SCK นั้น เป็นตัวนาฬิกาคอยให้จังหวะการส่งข้อมูล
  • RST นั้น คือตัวที่เริ่มให้มีการเขียนโปรแกรมลง chip
อ้างอิงจาก http://www.electoday.com/bbs/viewthread.php?tid=180