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

arduino แปลว่า เพื่อนแท้ ในภาษา อิตตาลี

arduino แปลว่า เพื่อนแท้ ในภาษา อิตตาลี
arduino มี lib ที่ใช้ในการติดต่อกับอุปกรณื มากมาย เช่นติดต่อกับ sensor ต่างๆ และ สามารถนำมาใช้ได้โดยไม่ต้องเขียนโปรแกรม เพื่อใช้ติดต่อกับอุปกรณ์เหล่านั้น เพียงแต่เรียกใช้ฟังชั่น ก็สามารถใช้งานอุปกรณ์เหล่านั้นได้ ซี่งส่วนใหญ่ถ้าเรา เขียนโปรแกรมด้วย ภาษาแอสแซมบลี เอาแค่การประมวลผมง่ายๆอย่าง 1+1 = 2 ก็ปวดหัวแล้ว ซี่งถ้าเรารู้จักภาษา c อยู่แล้ว ก็ยิ่งง่ายในการศึกษา แต่ไม่รู้ก็ไม่เป็นไร ลองอ่านบทความนี้ดู          
ในการเขียนโปรแกรม เราต้องใช้ IDE ในการเขียน ซึ่งสามารถ download ได้ที่ http://arduino.cc/en/Main/Software
จัด ไปครับ ในการเขียนโปรแกรมเพื่อให้ ไมโครคอนโทรเลอร์ ทำงานของ arduino ต้องทำการโหลดข้อมูลผ่าน boot loadder  อันนี้เป็นหน้าตาของ ide อะครับ
 
ก่อนเราจะเขียนโปรแกรมเรามาทำความเข้าใจเล็กๆ ในส่วนที่ต้องใช้ในการเขียนโปรแกรมของเรา (ต้องขออภัยหากมีท่านผู้รู้อยู่แล้ว) ข้อมูลที่ เราเข้าใจและใช้ในชีวิตประำวันคือเลขฐานสิบ เช่น 10,9,8,7 แต่ไมโครคอนโทรไม่รู้จักครับ มันรู้จักแต่เลขฐานสอง
ครับผม เช่น 1111 0101 ครับ เราจะมาอธิบายในส่วนนี้กัน ถึงวิธีการแปลงเลขฐานเพื่อเอาไปใช้ประโยชน์กันครับ

ตัวอย่าง
       20(10) เลขฐานสิบ

วิธีการ
      20/2 =  10    เศษ 0
      10/2  =  5     เศษ 0
       5/2   =  4    เศษ 1
       4/2   =  2    เศษ 0
        2/2   = 1   

 เราจะได้ค่าที่แปลงดังนี้คืออ่านจาก ล่างขึ้นบนคือ 1 0100 (2)
  
    จากรูปบันทัดแรก int ledpin = 13
คือกำหนด output port ให้กับ arduino
ใน arduino  เรียก port ต่างๆเป็นหมายเลข
void setup()
{
       

}

ในส่วนนี้ไว้กำหนด ให้ port ทำหน้าที่อะไร
void loop()
{


}


ในส่วนนี้เราไว้เขียนว่าจะให้ทำงานอะไร เรียกใช้ function อะไร


พอเสร็จแล้วเรา save โปรแกรม จะเป็นไฟล์ sketch  ไว้อัพโหลดลง arduino
 
 
 
เรื่องชนิดของตัวแปร
Char    ใช้เก็บข้อมูลที่เป็นตัวอักษร (character) เก็บได้ 256 ค่า
 Int     ใช้เก็บข้อมูลที่เป็นตัวเลขจำนวนเต็ม (integer) ใช้เก็บข้อมูลที่เป็นเลขจำนวนต็มได้ 65536 ค่า
Float    ใช้เก็บข้อมูลที่เป็นเลขทศนิยม
Double   ใช้เก็บข้อมูลที่เป็นเลขทศนิยมแบบละเอียดกว่า float ถึง 2 เท่า
Void   ใช้เก็บข้อมูลแบบไม่มีค่า

ชนิดตัวแปร   จำนวนบิต   ค่าข้อมูลที่เก็บได้
char   8   -128 ถึง +128
int   16    - 32768 ถึง +32767
float   32   3.4E-38 ถึง +3.4 e+38
double   64    1.7e-308 ถึง +1.7+308
void   0   ไม่มีค่า

 สำหรับ มือใหม่คงงงว่าไรหว่า ผมขออธิบายแบบบ้านๆก็แล้วกัน ไมโครชิบไม่รู้จักหรอกครับเลขที่เราใช้กันอยู่ เช่น 10  9  8 อะไรพวกนี้เขาเรียกว่าเลขฐาน 10  มันเข้าใจเฉพาะเลขฐาน 2 และ ฐาน 16  เพราะฉะนั้นเรามาดูกันว่าจำนวนบิตคืออะไร
   ในที่นี้เราใช้ arduino ในการสร้างสรรค์ซอฟแวร์ และใช้ atmega 8 ซึ่งเป็นไมโครขนาด 8 บิต ใน 1 ไบต มี 8 บิต คือ
7   6   5   4   3   2   1   0

   เวลา เราจะเก็บข้อมูลตัวเลขที่เป็นเลขฐาน 10 เช่น 5 ในไมโครก็ใช้การเก็บข้อมูลขนาด 1 ไบต เพราะ 5 แปลงเป็นเลขฐาน 2 ได้ค่าคือ 0000 0101 เห็นไหมครับ มันใช้การเก็บข้อมูลขาด 8 บิต
    ในการเลือกชนิดตัวแปรที่ใช้เก็บข้อมูลนั้นสำคัญมากนะครับมันมีผลทั้งในเรื่องของการคำนวณและหน่วยความจำ

   ใน ภาษา ซี ไม่ได้มีการจำแนกชนิดว่าค่าเป็นบวกหรือเป็นลบ เป็นการเฉพาะแต่จะใช้วิธีการเพิ่มคำสั่งเพื่อกำหนดคุณสมบัติจำเพาะของตัวแปร จะช่วยให้เราประหยัดหน่วยความจำได้  มันมีค่าที่ใช้กำหนดคุณสมบัติของตัวแปรอยู่ 4 คำสั่ง
Unsigned ใช้ระบุตัวแปรที่เป็นบวกเท่านั้น
Signed    ใช้ระบุค่าเลขตัวแปรจำนวนเต็มทั้ง บวก และ ลบ  
Short       ใช้เก็บจำนวนเต็มที่มีค่าน้อยกว่า int
Long       ใช้เก็บค่าตัวแปรที่มีจำนวนมากกว่า int 2 เท่า
 
 
 
 
 
 
ลิงค์เวบไซต์ ที่น่าสนใจ สำหรับ 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
 





ไม่มีความคิดเห็น: