ผมเขียนโปรแกรมได้ 1 ปีแล้วนะ :D


 

วันนี้เจ้าของบล็อกขอพูดถึงเรื่องของเจ้าของบล็อกบ้างนะครับ :D  เนื่องจากว่าวันนี้ของปีที่แล้ว 3 มิ.ย. เป็นวันที่เจ้าของบล็อกได้ฝึกงานที่สถานประกอบการแห่งหนึ่ง และมีโอกาสได้ศึกษาการเขียนโปรแกรมแบบจริง ๆ จัง ๆ ซักที ซึ่งก่อนหน้านี้ก็เคยเขียนโปรแกรมมาบ้าง ซึ่งตอนนั้นเจ้าของบล็อกก็เขียนได้แค่ if else แล้วก็ for loop กาก ๆ ซึ่งความรู้ที่มีนี้ มีเพียงน้อยนิดและเป็นเนื้อหาที่เคยศึกษามาตั้งแต่ ม.ต้น และไม่ได้ทบทวนอีกเลย จนมาถึงวันนี้เมื่อปีที่แล้ว ก็ได้เริ่มศึกษาการเขียนโปรแกรมแบบจริง ๆ จัง ๆ กับเขาซักที


เกริ่นนิดนึง

จากตอนเด็ก ๆ สมัย ม.ต้น ที่เจ้าของบล็อกได้เรียนวิชาเขียนโปรแกรมมา ซึ่งตอนนั้นโปรแกรมที่เจ้าของบล็อกได้เรียนคือ ภาษา C ครับ ซึ่งตอนนั้นใช้ turbo c ในการเขียน บอกก่อนเลยครับว่าตอนนั้นไม่รู้ว่าจะเรียนทำไม เรียนแล้วได้อะไร เขียนโค้ด คอมไพล์ รัน ก็มีแค่หน้าจอดำ ๆ ออกมา แต่ที่รู้ ๆ คือเจ้าของบล็อกก็สนุกดีนะ เขียนแก้ไขโจทย์ปัญหา และเจ้าของบล็อกก็ชอบเรียนที่เกี่ยวกับคอมอยู่แล้ว แต่ไม่ชอบศึกษาเกี่ยวกับคอม เอ๊ะ..ยังไง ก็ตามนั้นแหละครับ ชอบให้คนมาสอน 555 และพอจบ ม.ต้น ไปการเขียนโปรแกรมก็จบอยู่แค่นั้น..

ต่อมาช่วงปิดเทอมซัมเมอร์ก่อนขึ้น ปวช 3 เจ้าของบล็อกก็หาที่ฝึกงาน (เพราะไม่อยากว่าง) และได้มาเจอบริษัท Security แห่งหนึ่ง (ที่ขึ้นต้นด้วยตัว c และลงท้ายด้วยตัว c) เหมือนกับว่าได้มาเปิดโลกของตัวเองให้กว้างมากขึ้น เจ้าของบล็อกฝึกงานที่นี่ใช้เวลา 2 เดือน ที่เจ้าของบล้อกบอกว่าเปิดโลกกว้างคือ เจ้าของบล็อกได้เห็นเหล่าพี่ ๆ ที่ร่วมฝึกงานด้วยกันซึ่งแต่ละคนเรียนไม่เหมือนกัน พอได้ฝึกงาน ก็ทำ project ที่แตกต่างกัน มันทำให้เจ้าของบล็อกเห็นการเขียนโปรแกรมในรูปแบบต่าง ๆ ไม่ว่าจะเป็นการเขียนเว็ป การเขียน app android เขียน app ios และการเขียนโปรแกรมควบคุม hardware มันทำให้เกิดความสนใจ และเกิดเป้าหมายขึ้น ซึ่งจบฝึกงานจากที่นี่ไปสิ่งที่เจ้าของบล็อกได้คือ พื้นฐาน network นิดหน่อยเพราะไปฝึกงานในส่วนของ network security แต่ที่สำคัญจริง ๆ คือได้แนวทางในการเรียนรู้ว่า ในอนาคตจะศึกษาอะไรดี และเป้าหมายของเจ้าของบล็อกที่ต้องการทำอันดับแรกคือ ทำหุ่นยนต์รถบังคับที่ควบคุมด้วย app android ผ่าน bluetooth เป็นเป้าหมายที่คิดว่าทำยาก เพราะยังไม่มีความรู้ 

ฝึกงานที่บริษัท CI _ _ C


ฝึกงานช่วงเวลา 3 มิ.ย - 3 ต.ค 2557

ในช่วงเวลาฝึกงานนี้สิ่งแรกที่ศึกษาก่อนเลยก็คือตั้งแต่พื้นฐานการเขียนโปรแกรมภาษา java ซึ่งศึกษาตั้งแต่ต้นจนพอเข้าใจ OOP concept หลังจากนั้นก็ศึกษาการเขียน App android ละ ซึ่งส่วนนี้ใช้เวลาศึกษา 1 เดือน สามารถเขียนเรียกใช้ widget ได้ เขียนใช้งานสร้าง event ได้ เป็นเดือนแรกที่ศึกษาเกี่ยวกับเรื่อง android อย่างเดียว

เมื่อถึงปลายเดือน 30 มิ.ย ก็ได้มีโอกาศเล่นบอร์ด Arduino UNO ซึ่งเจ้าของบล็อกก็ซื้อมาเป็นเซทเลย 1400 กว่าบาท มีเซนเซอร์ มีโมดูลต่าง ๆ ให้หัดใช้ ซึ่งในส่วนของ arduino นี้ใช้เวลา ศึกษา 2 อาทิตย์ ก็พอเข้าใจ ต่อวงจรได้ หลังจาก 2 อาทิตย์นั้นก็เข้าคลอสอบรม Arduino basic ใช้เวลาในการอบรม 2 วัน ก็ทำให้เจ้าของบล็อกเริ่มกระจ่างในข้อสงสัยต่าง ๆ จากตอนที่หัด 2 อาทิตย์แรก ๆ ซึ่งหลังจากอบรมได้ 1 วัน เจ้าของบล็อกก็ลองเขียน app และสามารถเขียนโปรแกรมควบคุมการเปิดปิดของ LED ผ่าน bluetooth ได้ ตอนนั้นเป็นอะไรที่ตื่นเต้นมาก ๆ ซึ่งเจ้าของบล็อกก็ได้ศึกษาและหัดประยุกต์เล่นไปเรื่อย ๆ และได้ทำบทความนี้ขึ้นมา ตามรอย..รวมโปรเจคเล็ก ๆ ที่ศึกษาตั้งแต่เริ่มศึกษา Arduino & Android 

หลังจากได้ลองเล่นพอสมควรแล้วและเป็นที่บังเอิญมาก ๆ ที่ทางกระทรวงอาชีวะ ได้ทำการจัดแข่งขันแนว Smart Home Control และต้องเขียน app ขึ้นมาใช้เองในการแข่งนี้ ซึ่งเจ้าของบล็อกก็ได้ศึกษาเกี่ยวกับการเขียน app และ บอร์ด arduino พอดีเล้ยยยย การแข่งขันนี้จัดขึ้นในวันที่ 3-6 กันยายน 2557 ซึ่งเป็นการแข่งขันชิงถ้วยพระราชทาน จัดที่จังหวัด อยุธยา เมื่อรู้เช่นนี้เจ้าของบล็อกก็ไม่รอช้าอยากลองวิชาที่ได้ศึกษามา จึงได้ลาฝึกงานประมาณ 2 อาทิตย์ เพราะต้องไปปรึกษาจากอาจารย์ที่ปรึกษาเรื่องแข่ง การซ้อมแข่งแบ่งหน้าที่ ซึ่งผมก็ได้ทำหน้าที่เป็นคนเขียน app ตามที่ได้หัดมา



           โจทย์ในการแข่งครั้งนี้คือต้องเขียน app ขึ้นมาเพื่อติดต่อกับ arduino ผ่าน wifi ซึ่งต้องสามารถสั่งการควบคุมอุปกรณ์ไฟฟ้าตามที่โจทย์ได้กำหนดไว้



ทุกอย่างเสร็จเรียบร้อยภายในคืนก่อนวันแข่ง ไม่ได้หลับได้นอน และเมื่อได้แข่งปรากฎว่า วงจรชอร์ตจ้าาาา ซึ่งเป็นเหตุให้ไม่สามารถทำโจทย์ใด ๆ ได้เลยก็เลยได้แค่คะแนนในส่วนของ app อย่างเดียว และผลของการแข่งครั้งนี้ ก็ได้เหรียญทองแดง จากการแข่งครั้งนี้ทำให้ได้ skill ในการเขียน app และเขียน arduino เพิ่มเป็นอย่างมาก เพราะทุกอย่างเจ้าของบล็อกไม่เคยทำเพราะที่ผ่านมาช่วงฝึกงานเป็นการควบคุมผ่าน bluetooth ไม่ใช่ wifi = =! จึงทำให้ได้ความรู้ใหม่ ๆ เพิ่มขึ้นมาอีก

ในระหว่างฝึกงานเจ้าของบล็อกก็พยายามที่จะทำหุ่นยนต์ที่เจ้าของบล็อกตั้งเป้าหมายไว้ตอนนั้นด้วยนะ แต่... ได้เท่าที่เห็น เนื่องจากเครื่องมืออุปกรณ์หลาย ๆ อย่างยังไม่พร้อม





หลังจากฝึกงาน 4 ต.ค - 10 ต.ค 2557

ก็มีโอกาสอันน้อยนิดที่จะสานต่อรถน้อย ๆ ของเจ้าของบล็อกที่ได้ตั้งเป้าไว้ อันดับแรกคืออุปกรณ์ ซึ่งเจ้าของบล็อกก็ทำการสั่งซื้อของมาเพิ่ม และได้ลองทำสำเร็จกลายเป็นหุ่นยนต์รุ่น beta จึงได้เขียนบทความนี้ออกมา Project Robot Car Beta : Description  

ไปแอ่ว Chiang mai maker club 12-26 ตุลาคม 2557



ที่เจ้าของบล็อกได้รู้จักที่นี่เพราะหลงมาเจอ และพอหลงมาเจอเท่านั้นแหละก็ชอบเลย สถานที่สำหรับทำงานซึ่งรวบรวมนักพัฒนาสายต่าง ๆ มารวมกันขอเรียกเป็นเหล่า maker ครับ ซึ่งพี่ ๆ แต่ละคนก็จะถนัดไม่เหมือนกันซึ่งก็จะมีทั้งสาย Programmer สาย Electronic สายช่างกล robotic ไรงี้ เวลาทำ project ก็ทำช่วย ๆ กัน ซึ่งผมไปที่นี่ทำให้ผมได้ฝึก skill เพิ่มไปอีก เนื่องจากผมมี project อยากจะทำ เพื่อที่จะเอาไว้ไป present ตอนสัมภาษเรียนต่อที่ fibo และแน่นอนครับผมเอารถน้อย ๆ ของผมไปสานต่อให้เป็นร่างสมบูรณ์ด้วย เพราะที่นี่อุปกรณ์ครบ!!



ในระยะเวลา 2 อาทิตย์นี้ผมก็สามารถทำ project IoT และโปรเจครถน้อย ๆ ของผมสำเร็จแล้ว :D และนี่คือความประทับใจที่ได้มาเยี่ยมเยียนที่ chiang mai maker club เจ้าของบล็อกได้เขียนไว้ในบทความนี้ครับผม ความประทับใจเมื่อผมได้ไป Chiang Mai Maker Club :D 

ช่วงเทอม 2 1 พฤศจิกายน 2557 - 16 มีนาคม 2558

ในช่วงนี้จะเต็มไปด้วยการทำโครงการจบหรือโปรเจคจบนั่นเอง ซึ่งโปรเจคจบเจ้าของบล็อกก็ได้ใช้ project ที่ได้ทำตอนอยู่ที่ chiang mai maker club ซึ่งเจ้าของบล็อกก็สบายไปเหลือแค่ทำในส่วนของเอกสาร ในช่วงนี้ก็คือแบบทำเอกสารของตัวเองไปเรื่อย ๆ พอใกล้วัน deadline ก็มีเพื่อน ๆ ที่คิดว่าตัวเองทำไม่ทัน ทำไม่ได้ เข้ามาหาเจ้าของบล็อกซึ่งเจ้าของบล็อกก็แนะนำบ้าง และในบางกลุ่มก็จ้างเจ้าของบล็อกทำโปรเจคจบให้ และนี่คือตัวอย่างโปรเจคจบของเพื่อนเจ้าของบล็อกที่เจ้าของบล็อกทำให้นะครับ




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

หลังจากปีใหม่ไปเจ้าของบล็อกก็ได้ทำโปรเจควาเลนไทน์ขึ้นเพื่อที่จะมอบให้ผู้หญิงคนนึง แต่ก็ไม่ได้มอบและยังมาเลิกกันวันนั้นอีก 555 ไม่เป็นไร แต่อย่างน้อยเราก็ทำด้วยความตั้งใจด้วยอุปกรณ์ที่มีเพียงน้อยนิด


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



สรุปคือ เล่นยากครับ 5555 เพราะตัวแอพยังออกแบบ UI ไม่ดี กดยาก พูดสั้น ๆ กาก นั่นเอง 555 เพราะเจ้าของบล็อกไม่ค่อยมีหัวเรื่องออกแบบครับ = =! แต่ก็ทำออกมาเพื่อเล่นสนุก ๆ 


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

ก่อนปีใหม่เจ้าของบล็อกได้ไปเข้าคลอสอบรมการเขียนโปรแกรม Qt แล้วมารันบน Raspberry pi board กับ deaware ซึ่ง คลอสนี้เป็นคลอสที่ดีมากครับ แต่พอจบคลอสแล้วเนื่องจากเจ้าของบล็อกไม่มี raspberry pi board จึงยังไม่สามารถสานต่อจากที่ไปอบรมมา แต่ถ้าได้เคาะสนิมหน่อยก็จะพอถูไถไปได้

หลังจากปิดเทอมถึงปัจจุบัน

หลังจากปิดเทอม event แรกที่เจ้าของไปคืองาน Chiang Mai Maker Party ซึ่งเจ้าของบล็อกก็ต้องไปช่วยเป็น staff งานนี้ และได้ทำโปรเจคอยู่ 2 อย่างด้วยกัน

1 คือ plot clock


2 คือ หุ่นยนต์ไต่เชือก


ซึ่งแต่ละอันก็เป็นโปรเจคที่ไม่เคยทำมาก่อน hardware ทุกอย่างได้พี่ ๆ ทางชมรมช่วยออกแบบให้ ส่วนการเขียนโปรแกรมต่าง ๆ เจ้าของบล็อกเป็นคนเขียนเองและก็มีคำแนะนำจากรุ่นพี่บ้าง

งานนี้เจ้าของบล็อกได้เจอกับพี่เอก เจ้าของบล็อก sleeping for less ซึ่งเป็นบุคคลที่เป็น idol ของเจ้าของบล็อกตั้งแต่เริ่มเขียนโปรแกรมมาเลยครับ




หลังจากงานเสร็จไปเจ้าของบล็อกก็มีเวลาศึกษาของที่เจ้าของบล็อกสนใจนั่นก็คือการใช้งาน 3d printer และการใช้งาน CNC ในการทำ PCB ซึ่งก็ได้พี่ ๆ ที่ชมรมได้ช่วยสอนและช่วยแนะนำ และยังมีความรู้ใหม่อีกความรู้นึงที่เจ้าของบล็อกได้ตอนไปที่ chiang mai maker club ซึ้งได้เขียนโปรแกรมเกี่ยวกับการส่งข้อมูลผ่านวิทยุรถบังคับ ซึ่งโปรแกรมเจ้าของบล็อกก็แก้ไขจากโค้ดเดิมอยู่ ซึ่งสิ่งที่เจ้าของบล็อกยังสงสัยอยู่ก็คือ การส่งข้อมูลซึ่งเป็นการส่งข้อมูลชนิด int ที่เร็วมาก ๆ จึงทำให้เจ้าของบล็อกต้องศึกษาที่ไปที่มาของการส่งข้อมูลอย่างนี้ และก็ได้เข้าใจกับหลักการของมัน จึงเขียนเป็นบทความนี้ออกมา อยากส่ง int ผ่าน Serial ไว ๆ ทำไงดี :D 

จบจาก chiang mai maker party ก็มีโอกาสได้เล่น Myo ซึ่งพี่เอกก็ได้ให้มายืมเล่นตอนที่ไปงาน maker party เลยได้เป็นโปรเจคเล็ก ๆ นี้ขึ้นมาอีก


ในวันที่ 20 พฤษภาคมนี้จนถึงปัจจุบันเจ้าของบล็อกได้ฝึกงานที่บริษัทอิเล็กทรอนิคส์แห่งหนึ่งซึ่งเจ้าของบล็อกคิดว่าจบออกมาก็จะมาทำงานที่นี่เลย เป็นบริษัทในอุดมขติเลยก็ว่าได้ ซึ่งอารมจะประมาณที่ชมรม chiang mai maker club แต่ของ อุปกรณ์ หรือเครื่องมือมีเยอะกว่า 

ในช่วงเวลาที่ฝึกงานนี้เจ้าของบล็อกก็ได้ทำโปรเจคไปหลายอย่าง เช่น


เป็นโปรเจคแขนกลซึ่งจะทำงานสัมพันธ์กันเจ้าของบล็อกและเพื่อน ๆ ก็ช่วยกันทำออกมาใช้เวลาในการทำ 2 วัน และก็จะมีอีก 1 โปรเจคที่เจ้าของบล็อกเป็นคนทำก็คือโปรเจค IoT โดยใช้ NodeMCU ก็มาดูที่บทความนี้ได้เลย มาเริ่มต้นกันกับ NodeMcu v.2 ตอนที่ 1 Getting start 



สรุป

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

  • เขียนโปรแกรมภาษา c / c++
  •  เขียนโปรแกรมภาษา java basic , java oop concept
  • python basic 
  •  arduino programming , เขียน library for arduino ,ใช้งานเซนเซอร์ ,ทำหุ่นยนต์  
  •  IoT Smart Control , ESP8266 , NodeMCU v2
  • Solid work
  • Qt programming basic 
  • Electronic basic
  • Android Application
  • Network basic 
  • Raspberry pi board basic 
  • ฯลฯ (คิดไม่ออก = =!) 
ทั้งหมดนี้คือ 1 ปี จากที่เจ้าของบล็อกเริ่มตั้งแต่ไม่รู้อะไรเลยนะครับ ทุกคนสามารถพัฒนาได้ หากมีสิ่งที่ต้องการอยากจะทำมัน  สิ่งที่เราต้องการคือ เป้าหมาย แรงบันดาลใจ แล้วก็ต้นทุนนิดนึง อย่างที่เขาว่าความรู้คือการลงทน  :D ขอจบเท่านี้ก่อนนะครับ ถ้ามีอะไรเดี๋ยวจะมาอัพเดทบทความใหม่นะครับ







ความคิดเห็น

Unknown กล่าวว่า
สุดยอดครับๆพี่นี้idolเลย

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

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

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

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