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

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

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