วันเสาร์ที่ 18 เมษายน พ.ศ. 2552

มาเริ่มต้นกับโปรแกรมกระพริบขั้นพื้นฐาน

ก่อนที่จะเขียนโปรแกรมขั้นเทพ ก้ต้องเริ่มต้นที่ไฟกระพริบเสียก่อนครับ

โปรแกรมไฟกระพริบเป็นโปรแกรมที่เป็นสากลที่เราต้องทำความรู้จัก เหมือนกับ "Hello world" ที่เห็นโดยทั่วไป แต่แต่ด้วย mcu นั้นจะไม่มีจอภาพให้เราเห็น แต่เราสามารถสร้างภาคแสดงผลขึ้นมาได้เอง การแสดงผลด้วย LED นั้นเป็นสิ่งที่นิยมมากตั้งแต่งานที่มีขนาดเล็กจนถึงานที่มีขนาดใหญ่และมีความซับซ้อนสูง มีความเที่ยงตรงค่อนข้างสูงเพราะว่าการควบคุมให้ทำงานนั้นไม่มีความซับซ้อน มาเริ่มก้าวแรกไปด้วยกันเลยครับ


อุปกรณ์การทดลอง













































ลำดับที่
รายการ
ภาพประกอบ
จำนวน
1
rduino/freeduino/clone ต่างๆ สำหรับในภาพเป็น iduino
1 บอร์ด
2
Breadboard

1 บอร์ด
3
สาย USB
1 เส้น
4
LED
1 ตัว
5
ตัวต้านทาน 330 Ohm

1 ตัว
6
สายไฟ

5 เส้น

วิธีการทดลอง



  1. ต่อ Arduino หรือ clone (ตัวอย่างที่ใช้เป็น iduino)เข้ากับคอมพิวเตอร์ ดังรูป ให้สังเหตุว่าไฟ LED (สีเหลือง) ที่ PWD ติด ดังรูป



    หากว่า LED (สีเหลือง) ที่ PWD ไม่ติดให้ตรวจสอบดังต่อไปนี้

    -
    ดูว่า สาย USB แน่นหรือไม่ หรือลองเปลี่ยนสาย USB ใหม่

    - เลือกแหล่งจ่ายไฟถูกต้องไหม

    - เปลี่ยนบอร์ดใหม่

  2. ต่อวงจรดังรูปลงใน Breadboard



    - นำสายไฟต่อ GND จาก iduino พร้อมทั้งต่อ LED ด้าน N-Type (ขาที่สั้นกว่า) ลง GND



    - ต่อตัวต้านทาน 330 Ohm



    - ต่อสายไฟจากขาตัวต้านทาน 330 Ohm เข้าที่ขา 13 ของ iduino


  3. เขียนโปรแกรมควบคุม





    int ledPin = 13; // 1

    void setup() // 2

    { // 3

    pinMode(ledPin, OUTPUT); // 4

    } // 5

    void loop() // 6

    { // 7

    digitalWrite(ledPin, HIGH); // 8

    delay(1000); // 9

    digitalWrite(ledPin, LOW); // 10

    delay(1000); // 11

    } // 12




    อธิบายการทำงานของโปรแกรม

    - บรรทัดที่ 1 กำหนดตัวแปร ledPin แทนขา 13

    - บรรทัดที่ 4 กำหนด Mode ของ ledPin เป็น OUTPUT

    - บรรทัดที่ 8 ให้ขา ledPin เป็น HIGH (ขา 13 มีศักย์ไฟฟ้าเป็น 5 Volt จะทำให้ LED สว่าง)

    - บรรทัดที่ 9 หยุดรอ 1 วินาที

    -
    บรรทัดที่ 10 ให้ขา ledPin เป็น LOW (ขา 13 มีศักย์ไฟฟ้าเป็น 0 Volt จะทำให้ LED ดับ)

    - บรรทัดที่ 11 หยุดรอ 1 วินาที

  4. ผลการทดลอง

    - LED จะติด-ดับ เป็นจังหวะห่างกัน 1 วินาที

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