วันพฤหัสบดีที่ 14 ตุลาคม พ.ศ. 2553

Light Dependent Resistor (LDR)

ตัวต้านทานเปลี่ยนค่าตามแสง ( Light Dependent Resistor ) เป็นอุปกรณ์ประเภทสารกึ่งตัวนำชนิด 2 ขั้วต่อ ทำมาจากสารแคดเมียมซัลไฟล์ (Cds) หรือแคดเมียมซีลิไนด์ (Cdse) ซึ่งเป็นสารประกอบชนิดกึ่งตัวนำมาฉาบบนแผ่นเซรามิคที่ใช้เป็นฐานรอง แล้วต่อขาจากสารที่ฉาบเอาไว้


           
รูป LDR โครงสร้าง และสัญลักษณ์ของ LDR

คุณสมบัติของ LDR
ค่าความต้านทานในตัว LDR ระหว่างขั้วต่อทั้งสองจะเปลี่ยนแปลงไปตามความเข้มของแสงที่มาตกกระทบ ความเข้มของแสงน้อย LDR มีค่าความต้านทานสูง และถ้าความเข้มของแสงมาก LDR มีค่าความต้านทานต่ำ

รูปกราฟแสดงความสัมพันธ์ระหว่างความเข้มแสงและค่าความต้านทานของ LDR

คุณสมบัติทางแสง LDR
ไวต่อแสงในช่วงคลื่น 400-1000 นาโนเมตร (1 นาโนเมตร = 10 ^ -9 เมตร) ซึ่งครอบคลุมช่วงคลื่นที่ไวต่อตาคน (400-700 นาโนเมตร) นั่นคือ LDR ไวต่อแสงอาทิตย์ และแสงจากหลอดไส้ หรือ หลอดเรืองแสง และยังไวต่อแสงอินฟราเรดที่ตามองไม่เห็นอีกด้วย (ช่วงคลื่นตั้งแต่ 700 นาโนเมตรขึ้นไป)

คุณสมบัติทางไฟฟ้า
ความต้านทานในขณะไม่มีแสงจะอยู่ในช่วงตั้งแต่ 0.5 เมกะวัตต์ขึ้นไป และความต้านทานขณะที่มีแสงจะอยู่ในช่วงตั้งแต่ 10 กิโลวัตต์ ลงมาทนแรงดันสูงสุดได้มากกว่า 100 โวลต์ และทนกำลังไฟได้ประมาณ 50 มิลลิวัตต์

วันพุธที่ 29 กันยายน พ.ศ. 2553

การใช้งาน apache2 + php5 + Sqlite และ Qt + Sqlite

            เนื่องจากการใช้งานบน linux-pc และ การใช้งานบน mini2440 นั้นมีความคล้ายคลึงกันจึงขออธิบายเฉพาะการใช้งานบน linux-pc น่ะครับ

  1. เริ่มต้นให้ทำการติดตั้งแพกเกจ apache2 + php5 + Sqlite โดยใช้คำสั่ง

    sudo apt-get install  apache2  php5  php5-cli  php5+sqlite  sqlite3


  2. เนื่องจาก tool ที่ใช้ในการจัดการของ Sqlite แบบ GUI  สำหรับที่ใช้ในการทดสอบคือ sqlitebrowser สามาถติดตั้งโดย

    sudo apt-get install sqlitebrowser
  3. ทดสอบโดยการสร้างฐานข้อมูลชื่อ dbtest และสร้างตาราง profile ขึ้นมาดังรูป




  4. จากนั้นทำการ save และ copy ไฟล์ไปไว้ในโฟลเดอร์ที่ทำการรันhttp ในที่นี้คือ /var/www โดยใช้คำสั่ง 

    sudo cp -p /dbtest /var/www

  5. ทำการทดสอบโดยสร้างโปรเจค Qt ขึ้นมาแล่ะทดสอบโดยการเขียนโคดอย่างง่าย ๆ เพื่อ insert ข้อมูลเข้าไปใน database Sqlite
    โดยเมื่อสร้างโปรเจคแล้วให้เข้าไปเพิ่ม path plugin ของ sql ในไฟล์ .pro ดังรูป



  6. จากนั้นทำการพิมพ์โคดเพื่อทดสอบ และ รันโปรแกรมโดยใช้สถานนะเป็น root ด้วยการ

    sudo ./test


  7. เข้าไปที่โฟลเดอร์ /var/www และทำการสร้างไฟล์ php เพื่อทดสอบการติดต่อกับฐานข้อมูล

    cd /var/www
    sudo gedit new.php





    จากนั้นทดสอบโดยการเปิดหน้าเว็บขึ้นมาโดยเรียก ip ไปที่เครื่องที่เก็บฐานข้อมูลดังรูป

                    สำหรับการใช้งานใน mini2440 มีการติดตั้งและการใช้งานเหมือนกับ linux-pc แต่เพื่อความสะดวกในการสร้างและจัดการฐานข้อมูลจึงเลือกที่จะสร้างฐานข้อมูลและตารางต่างๆ ให้พร้อมก่อนทำการย้ายไปเก็บไว้บน mini2440 แล้วใช้ Qt ในการจัดเก็บข้อมูลอีกทีหนึ่ง

วันจันทร์ที่ 20 กันยายน พ.ศ. 2553

Ultrasonic Distance Detector Module : SRF05

โมดูลตรวจจับและวัดระยะทางด้วยอัลตร้าโซนิก


        SRF05 เป็นแผงวงจรวัดตรวจจับและวัดระยะทางด้วยคลื่นอัลตร้าโซนิกที่มีความเที่ยงตรงสูงโดยสามารถวัดระยะทางได้ไกลถึง 4 เมตร ถูกออกแบบมาให้ใช้งานกับไมโครคอนโทรลเลอร์ได้ง่ายโดยใช้ขาเชื่อมต่อเพียง 1 หรือ 2 ขา ขึ้นอยู่กับการกำหนดรูปแบบการทำงานทางฮาร์ดแวร์ เหมาะอย่างยิ่งกับการประยุกต์ใช้งานด้านหุ่นยนต์


คุณสมบัติ
  • ใช้ไฟเลี้ยง +5 โวลต์ ต้องการกระแสไฟฟ้า 30 มิลลิแอมป์
  • ใช้ตัวรับและส่งคลื่นอัลตร้าโซนิก ใช้ความถี่ 40 กิโลเฮริตซ์ ในการทำงาน
  • วัดระยะทางในช่วง 1 เซนติเมตรถึง 4 เมตร
  • สัญญาณพัลส์สำหรับกระตุ้นการทำงาน ต้องมีความกว้างอย่างน้อย 10 ไมโครวินาที
  • ให้ผลลัพธ์จากการวัดระยะเป็นค่าความกว้างพัลส์ซึ่งเป็นสัดส่วนกับระยะทางที่วัดได้  
  • มีขนาดเล็กคือ 43 มิลลิเมตร × 20 มิลลิเมตร × 17 มิลลิเมตร (กว้าง  × ยาว  ×สูง)
  • สามารถติดต่อได้ 2 แบบคือ แบบ 2 สัญญาณ (Echo กับ Trigger) และแบบอนุกรมสัญญาณเส้นเดียว

หลักการทำงาน
               SRF05 จะทำการส่งสัญญาณคลื่นอัลตร้าโซนิกออกไป แล้ววัดระยะเวลาที่มีสัญญาณสะท้อนตอบกลับมา เอาต์พุตที่ได้จาก SRF05 จะอยู่ในรูปของความกว้างพัลส์ซึ่งสัมพันธ์กับระยะทางของวัตถุที่ตรวจจับได้ ความถี่ของสัญญาณอัลตร้าโซนิกของ SRF05 คือ กิโลเฮริตซ์ ถูกส่งออกไปในอากาศด้วยความเร็ว 1.125 ฟุตต่อมิลลิวินาที (ประมาณ 346 เมตรต่อวินาที) ดังนั้นเมื่อทราบความเร็วในการเคลื่อนที่ของคลื่น เวลาเริ่มต้นส่งคลื่น และเวลาที่ได้รับ เสียงสะท้อนกลับมา ซึ่งความกว้างพัลส์สะท้อนต้องอยู่ในช่วง100 ไมโครวินาที ถึง 25 มิลลิวินาที จึงสามารถคำนวณหาค่าของระยะทางได้ ถ้ามากกว่า 30 มิลลิวินาที แสดงว่าตรวจจับไม่พบวัตถุ

 รูปแสดงหลักการตรวจจับวัตถุโดยใช้สัญญาณความถี่เหนือเสียงหรืออัลตร้าโซนิก


จุดเชื่อมต่อการใช้งานของ SRF05

                                                                       รูปแสดงจุดเชื่อมต่อการใช้งานของ SRF05

จุดเชื่อมต่อสำหรับใช้งานมีทั้งหมด 5 จุด
                                1. ขาไฟเลี้ยง (+5 V) สำหรับต่อไฟเลี้ยงแรงดัน +5 โวลต์
                                2. ขา Echo Pulse Output (ECHO) เป็นขาเอาต์พุตสำหรับส่งสัญญาณพัลส์ออกจาก SRF05 ซึ่งการใช้งานจะนำขานี้ไปต่อเข้ากับพอร์ตอินพุตของไมโครคอนโทรลเลอร์เพื่อตรวจจับความกว้างของสัญญาณพัลส์ที่ส่งออกมาเพื่อแปลความหมายออกมาเป็นระยะทางอีกครั้งหนึ่ง
                                3. ขา Trigger Pulse Input (TRIGGER) เป็นขาอินพุตรับสัญญาณพัลส์ที่มีความกว้างอย่างน้อย 10 ไมโครวินาทีเพื่อกระตุ้นการสร้างคลื่นอัลตร้าโซนิกความถี่ 40 กิโลเฮริตซ์ ออกสู่อากาศจากตัวส่ง ดังนั้นเมื่อคลื่นเคลื่อนที่ไปกระทบสิ่งกีดขวางที่อยู่เบื้องหน้าก็จะเกิดการสะท้อนกลับมายังตัวรับ และถูกแปลงออกมาเป็นความกว้างของสัญญาณพัลส์ที่จะส่งออกไปทางขา ECHO นอกจากนี้ในโหมด 1 สัญญาณ จะใช้จุดนี้เป็นจุดสื่อสารข้อมูลอนุกรมเพื่อรับส่งค่าการวัดกับไมโครคอนโทรลเลอร์
                                4. ขา MODE สำหรับเลือกรูปแบบการติดต่อกับ SRF05 
                                    ปล่อยลอยไว้ (NC): เลือกให้ติดต่อแบบ 2 สัญญาณ ผ่านจุดต่อ ECHO และ TRGGER
                                    ต่อลงกราวด์          :  เลือกให้ติดต่อแบบ 1 สัญญาณ ผ่านจุดต่อ TRIGGER
                                5. ขา GND สำหรับต่อกราวด์ 0 โวลต์

โหมดการใช้งาน
มีโหมดการใช้งาน 2 โหมด
                1. การติดต่อแบบ 2 สัญญาณ ผ่านจุดต่อ ECHO และ TRIGGER

รูปแสดงจุดเชื่อมต่อการใช้งานของ SRF05 ในกรณีติดต่อแบบ 2 สัญญาณ

               รูปไดอะแกรมเวลาแสดงสัญญาณที่ส่งไป และสัญญาณที่ตอบกลับของ SRF05 ในกรณีติดต่อแบบ 2 สัญญาณ


                2. การติดต่อแบบ 1 สัญญาณ ผ่านจุดต่อ TRIGGER

รูปแสดงจุดเชื่อมต่อการใช้งานของ SRF05 ในกรณีติดต่อแบบ 1 สัญญาณ

รูปไดอะแกรมเวลาแสดงสัญญาณที่ส่งไป และสัญญาณที่ตอบกลับของ SRF05 ในกรณีติดต่อแบบ 1 สัญญาณ