ตามรอย..รวมโปรเจคเล็ก ๆ ที่ศึกษาตั้งแต่เริ่มศึกษา Arduino & Android

                วันนี้เจ้าของบล็อกจะขอเขียนบทความเกี่ยวกับโปรเจคเล็ก ๆ ทั้งหมดที่เจ้าของบล็อกได้ทำและอัดวิดีโอไว้ โดยโปรเจคทั้งหมดเริ่มศึกษาในระหว่างที่ฝึกงานในขณะนี้ มาดูกันว่าเจ้าของบล็อกได้ศึกษาอะไรไปบ้าง เผื่อจะพอเป็นแนวทางให้กับผู้ที่สนใจอยากจะศึกษาเหมือนเจ้าของบล็อกกันนะครับ



                ขอเริ่มตั้งแต่วันแรกที่เริ่มฝึกงาน คือวันที่ 3 มิถุนายน 2557 ที่ผ่านมานี้ อันดับแรกที่เจ้าของบล็อกศึกษาเลยก็คือ ภาษา Java ครับ เพราะเป้าหมายในตอนนี้ก็คือต้องการเขียน App อย่างเดียว เจ้าของบล็อกก็ศึกษาภาษา Java (แบบลวก ๆ พอให้เค้าใจหลักการเขียน oop) ใช้เวลาอาทิตย์นึง หลังจากนั้นก็ไปจับ Android เลยครับ ใช้เวลาหัดเกือบเดือน ในระหว่างที่ศึกษาแบบพอเข้าใจบ้าง (แต่ยังไม่ที่สุด เพราะพื้นฐาน Java ยังไม่แน่น) เจ้าของบล็อกก็ได้เข้าคอร์สอบรมเขียน App เบื้องต้น โดยมี อาจารย์กบ javathailand เป็นวิทยากร เป็นคลอสอบรมที่ดีครับถึงจะไม่เข้าใจหมด แต่ก็เป็นแนวทางการศึกษาที่ดี เป็นเดือนแลกที่ใช้เวลาฝึกฝนกับการเขียน App ครับ

                พอวันที่ 30 เดือนมิถุนายน เจ้าของบล็อกก็ได้ใช้เงิน กยศ. สั่งซื้อชุด RFID System Learning Kit based Arduino เพื่อมาศึกษาการใช้งานบอร์ด Arduino เพราะมันก็คือเป้าหมายของเจ้าของบล็อกที่จะต้องศึกษาควบคู่ไปกับการเขียน App

  

                 หลักจากที่ของได้ถูกส่งมานั้น ด้วยความที่ไม่เคยเล่น (ก่อนหน้านี้เคยเล่นแค่ raspberry-pi (กำลังหัดเล่น)) จะถามคนแถวนี้ก็ไม่มีใครรู้จักแล้วเราจะศึกษายังไงละเนี่ย อันดับแรกก็ google + youtube เลยละครับ แล้วในที่สุดก็ต่อวงจรได้ 1 ชิ้น นั่นก็คือการปรับความสว่างของ LED โดยใช้ R ปรับค่าได้ควบคุม



                 โปรเจคนี้ทำวันที่ 30 มิถุนายน 2557 เป็นสิ่งแรกที่ผมได้ศึกษา โดยหลักการทำงานคืออ่านค่าจาก R ปรับค่าได้ โดยอ่านจาก analog pin ของ arduino แล้วนำค่าที่ได้มาแปลงค่าจาก 10 บิตที่อ่านจาก analog pin แปลงเป็น 8 บิต เพื่อนำค่าที่แปลงนั้นไปปรับความสว่างของ LED นั่นเอง


                  วันต่อมาเจ้าของบล็อกก็ทำอีกโปรเจคขึ้นมา และในโปรเจคนี้เจ้าของบล็อกได้ลองใช้ sensor วัดค่าแสง หรือ LDR ดู นั่นก็คือ อ่านค่าที่ได้จาก LDR แล้วทำให้ LED เปิดและปิด




                 โปรเจคนี้ทำวันที่ 1 กรกฎาคม 2557 เป็นโปรเจคถัดมาที่ได้ลองศึกษาและปฏิบัติดู โดยหลักการทำงานของโปรเจคนี้ คือ อ่านค่า LDR จาก analog pin เพื่อนำค่าที่อ่านได้นั้นมาใช้เป็นเงื่อนไขในการเปิด ปิด LED 

                 โปรเจคถัดมา เจ้าของบล็อกก็ลองใช้ switch ที่เป็นปุ่มกดดู โดยจะตั้ง default ให้ LED กระพริบสลับกันไปมา แล้วก็กด switch เพื่อให้ LED นั้นหยุดครับ


                 โปรเจคนี้ทำวันที่ 2 กรกฎาคม 2557 หลักการทำงานของมันนั้นเจ้าของบล็อกให้มันเช็คเงื่อนไขจากการกดที่ปุ่ม switch ถ้าเกิดกดปุ่มก็จะ delay สักหน่อยแล้วให้ LED หยุด และทำงานต่อ


                 ในโปรเจคนี้เจ้าของบล็อกจะเริ่มฝึกอัลกอรึทึมนิดนึง โดยลองให้ LED วิ่งสลับกันไปมาดูครับ แต่ก็ยังรู้สึกว่าธรรมดาอยู่ดี แต่การเขียนโปรแกรมควบคุมฮาร์ดแวร์นี้ก็ฝึกอัลกอรึทึมได้ดีเหมือนกันนะ



                 โปรเจคนี้ทำไว้วันที่ 4 กรกฎาคม 2557 เป็น การควบคุม output ธรรมดา อุปกรก็มีแค่ LED กับสาย jump เท่านั้นที่เหลือก็ใช้อัลกอรึทึมว่าจะให้ output ออกมารูปแบบยังไง


                 โปรเจคต่อมาเจ้าของบล็อกก็ลองเล่น LED เหมือนเดิม แต่ลองเปลี่ยนรูปแบบการกระพริบของ LED ตาม VR มาดูกันว่าจะเป็นยังไง



                 

                 โปรเจคนี้ทำไว้วันที่ 7 กรกฎาคม 2557 ครับ โดยเจ้าของบล็อกก็จะปรับ VR หมุนไปตาม step จากน้อยไปมากครับ และก็ใช้ arduino อ่านค่า analog ที่ได้จากขา analog pin ครับ โดยค่าที่อ่านได้มาก็จะเอาไปทำเป็นเงื่อนไขในการแสดงให้ LED กระพริบเป็นรูปแบบต่าง ๆ ครับ


                 

                 โปรเจคต่อมาเจ้าของบล็อกก็เริ่มเขียน app android เพื่อติดต่อกับ arduino board ผ่านทาง Buletooth spp ครับ จะเป็นการเปิดปิด LED ผ่าน app




                 โปรเจคนี้ทำไว้วันที่ 14 กรกฎาคม 2557 ครับ โดยเจ้าของบล็อกได้เขียน app ตัวนึง โดยให้เจ้าตัว app นั้นส่งค่าไปยัง arduino board ผ่านทาง bluetooth spp โดยข้อความที่ส่งไปจะอยู่ในรูปแบบ ascii code ครับ พอส่งข้อมูลจาก app ไปแล้วก็จะถูกแปลงข้อมูลให้อยู่ในระดับ byte และส่งไปยัง bluetooth spp และให้เจ้า arduino นั้นมาอ่านค่าจาก Serial port เพื่อนำค่าที่อ่านได้นั้นมาทำเป็นเงื่อนไข โดยเจ้าของบล็อกได้นำข้อมูลนั้นมาทำเงื่อนไขเพื่อ เปิด-ปิด LED



                 ในโปรเจคนี้เจ้าของบล็อกก็ลองประยุกต์ในส่วนของ output ดูจากที่เป็น LED ก็จะมาลองกลับตัว 7 segment กันครับ





                 โปรเจคนี้ทำไว้วันที่ 22 กรกฎาคม 2557 ครับ เจ้าของบล็อกลองปรับเปลี่ยน Output เป็น 7 segment ดู ก็ได้ตามที่เห็นในวิดีโอครับ โดยส่งข้อมูลไปก็ให้แสดงเป็นตัวเลขต่าง ๆ และก็ยังมีนับเวลาด้วย



                 ในโปรเจคต่อมานี้ เจ้าของบล็อกก็ได้ลองประยุกต์ในส่วน Output อีก XD และในคราวนี้ก็ลองมาเล่นกับตัว LED RGB ดูครับ





                 โปรเจคนี้ทำไว้วันที่ 24 กรกฎาคม 2557 เจ้าของบล็อกก็ลองปรับเปรียน Output มาเป็น LED RGB ดูครับ ปกติแล้ว RGB มันจะมีค่าอยู่ 3 ค่า โดยแต่ละค่าจะควบคุมสี 3 ตัวครับ คือสีแดง สีเขียว และสีน้ำเงิน เจ้าของบล็อกก็ลองประยุกต์การส่งข้อมูลมาเพื่อให้ค่าสีเกิดการเปลี่ยนแปลงตามที่เรากำหนดไว้ครับ


                 โปรเจคต่อมานี้ เจ้าของบล็อกก็ลองเปลี่ยนจากส่งค่า ไปเป็นรับค่าบ้างครับ โดยจะแสดงอุณหภูมิ จากตัว LM35 คือตัวเซนเซอร์วัดอุณหภูมิ ณ ขณะนั้น




                  โปรเจคนี้ทำไว้วันที่ 24 กรกฎาคม 2557 เช่นกันครับ โดยเจ้าของบล็อกได้ลองเปลี่ยนจากส่งค่าไปยัง arduino ก็ลอง ให้เจ้า arduino นั้นส่งค่ากลับมาบ้าง ก็เลยใช้ LM35 เซนเซอร์วัดอุณหภูมิครับ โดยค่าที่อ่านได้จากเซนเซอร์นั้นจะถูกนำไปคำนวณเพื่อแปลงหน่วยเป็น  ํc แล้วส่งค่ามาที่ app ครับก็จะได้ตามวีดิโอที่นำเสนอ


                  โปรเจคนี้ทำไว้วันที่ 27 กรกฎาคม 2557  และในโปรเจคนี้เจ้าของบล็อกก็ลองเขียน app เพื่อส่งข้อมูลในรูปแบบข้อความดูครับ โดยส่งไปหาเจ้า arduino แล้วให้แสดงผลทาง LCD I2C เป็นข้อความที่ส่งไปครับ



                  ทั้งหมดนี้ก็เป็นโปรเจ็คเล็ก ๆ ที่เจ้าบล็อกได้ศึกษามาตลอดเกือบ 1 เดือนครับ ส่วนวิธีหรือขั้นตอนการทำเจ้าของบล็อกจะเอาไว้เขียนในบทความต่อไปครับเพราะยังไม่มีเวลาเขียนทั้งหมดเลย ช่วงนี้ยุ่ง ๆ เรื่องสอบต่อ ป.ตรี ครับ ต้องเตรียมตัวอ่านหนังสือ ไหนจะโปรเจคจบ ปวช 3 อีก ไว้มีโอกาสจะเขียนให้ได้อ่านกันเรื่อย ๆ นะครับ

ความคิดเห็น

Akexorcist กล่าวว่า
เล่น LED แบบเมามันเลยนี่นา :D
Team กล่าวว่า
70% เลยทีเดียวครับ 555

โพสต์ยอดนิยมจากบล็อกนี้

ว่าด้วยเรื่องหน่วยความจำ สิ่งที่หลายคนมองข้าม : รู้จักกับ Memory

คณิตศาสตร์กับโปรแกรมมิ่งมันเป็นยังไงนะ ตอนที่ 1 เกริ่นพีทาโกรัส

Pointer กับตัวแปร Array นะจ๊ะ.. [Back to basic แต่ไม่ basic]