"Skills, Knowledge, Abilities, and Experiences

are only useful....

If you are at the right place "

"Try listening to music from the Thai Symphony Orchestra, you may like it"

C:\ Upon trying my hand at designing a coffee shop.

Coffee shop design concept

I once had the opportunity to work with a college friend as his employee. My friend owns a building in Mukdahan Province, which is located near the border of Laos. He had an idea to open a coffee shop and asked me to sketch out a rough design to assess its feasibility. Once the coffee […]

C:\ MCS-51 VS Z80 ความแตกต่างที่ต้องพิสูจน์

MCS-51 VS Z80

คนที่สนใจด้าน Single board microprocessor หรือ microcontroller แต่ก่อนจะรู้จัก Z80 ซึ่งเป็น CPU และ MCS-51 (หรือที่เก่ากว่า MCS-51 ก็เช่น 8048) เป็นอย่างดี แต่ปัจจุบัน CPU และ MCU ทั้งสองกลุ่มนี้ได้หมดความนิยมไปแล้ว และถูกแทนที่ด้วยผลิตภัณฑ์ใหม่ๆ

C:\ A to D, Recording to magnetic tape

A t0 D Recording

ปี 2528 ผมเรียนอยู่ ปวช.ปี2 ช่างอิเล็กทรอนิกส์ ที่วิทยาลัยเทคนิคมีนบุรี ขอบๆ กรุงเทพ ผมมีเพื่อนสนิทคนนึงเขาเอาบัตร ATM ของธนาคารไทยพาณิชย์ มาอวดให้เพื่อนในห้องเรียนดูกัน มันเป็นอะไรที่โคตรเท่ห์เลย เพราะสมัยนั้นธนาคารไทยพาณิชย์เป็นธนาคารแห่งแรกที่นำตู้เอทีเอ็มมาติดตั้งที่ศูนย์การค้าสยาม (น่าจะปี 2526) มันเป็นเรื่องไกลตัวที่คนธรรมดาๆ จะมีบัตรเอทีเอ็มใช้งาน (จะเปิดบัญชีธนาคารยังรู้สึกว่าเป็นเรื่องไกลตัวเลย ยิ่งไม่ได้เป็นคนทำงานมีเงินเดือนยิ่งแล้ว ไม่รู้ว่าจะมีบัญชีธนาคารไปทำไม) ได้เห็นเพื่อนมีผมก็อยากมีบ้าง ณ.ตอนนั้นธนาคารกสิกรกับธนาคารกรุงเทพเริ่มเอาเครื่องมาติดตั้งตามสาขาใหญ่ๆ กันบ้างแล้ว แต่ไม่ใช่จะไปขอสมัครทำบัตรกันง่ายๆ นะครับ ผมไปสมัครขอทำบัตร ATM กับธนาคารกรุงเทพ เจ้าหน้าที่เขาถามผมว่าจะทำบัตร ATM เพื่อเอาไปทำไม? ผมตอบคำถามเขาไม่ถูกเลยว่าจะมีบัตรเพื่อไปทำอะไร และก็เลยสรุปว่าไม่ได้ทำ จนวันหลังต่อมาได้ไปสมัครของธนาคารกสิกร และก็สมัครผ่านมีบัตรมาอวดเพื่อนๆ เป็นรายที่สองในห้องเรียน55+ (มีแต่บัตร แต่น่าจะมีเงินในบัญชีไม่เกิน 500 บาท) นั้นคือจุดเริ่มต้นที่ทำให้ผมสนใจอยากเรียนรู้ทางด้านเทคโนโลยีเกี่ยวกับเรื่องพวกนี้ อยากรู้ว่ามันทำงานอย่างไร กอรปกับผมได้เรียนสาขาอิเล็กทรอนิกส์ด้วย ผมจึงวางแผนไว้ว่าผมอยากทำโครงงานเครื่องอ่านเขียนข้อมูลลงบัตรแถบแม่เหล็กไว้ส่งอาจารย์สำหรับโปรเจ็คเมื่อตอนเรียน ปวส. ความรู้สมัยนั้นหาได้ยากเหลือเกิน แหล่งเดียวที่อาจจะมีความรู้เรื่องเหล่านี้มาให้อ่านได้บ้างก็จากหนังสือวารสารอิเล็กทรอนิคส์เซมิคอนดัคเตอร์ ซึ่งแทบจะไม่เคยนำข้อมูลความรู็เรื่องเหล่านี้มาลงเป็นบทความให้ศึกษา  จนผมเรียนจบ โครงงานส่งอาจารย์ที่ผมอยากจะทำไม่สำเร็จตามเป้าหมาย แต่ก็สำเร็จได้สัก 40~50% ของที่คาดหวังได้ แต่ก็ได้เกรด […]

C:\ เพิ่ม 16 Bit INDEX ให้กับ MCS-51

16 Bit Index for MCS-51

เนื่องจาก MCS-51 มี DPTR เพียงตัวเดียวเท่านั้น ในงานบางอย่างเรามีความจำเป็นต้องใช้ Index หลายตัว ซึ่งเราอาจจะแก้ปัญหาได้ด้วยการเก็บค่า Index ให้อยู่ใน Internal RAM และใช้วิธีสลับค่าไปมาระหว่าง DPTR กับค่าใน RAM นั้นซึ่งก็ใช้งานได้ดี แต่อาจจะใช้เวลาอยู่บ้างและค่อนข้างจะต้องเขียนคำสั่งยาวสักหน่อย  เคยอ่านบทความแนะนำของ SILA Research ที่ได้เขียนเป็นบทความแนะนำเทคนิคการเพิ่ม DPTR ไว้ด้วยการนำ Register R0 และ R1 ไว้ดังนี้ครับ โดยใน MCS-51 จะมีคำสั่งที่เกี่ยวข้องไว้ให้เรียบร้อยแล้วคือ MOVX A,@R0  MOVX @R0,A และทั้งสองคำสั่งนี้สามารถใช้ได้กับ r1 ด้วย ปัญหาอยู่ที่ว่า การนับ Address ขนาด 16 bit จะเป็นไปได้อย่างไรในเมื่อ r0 และ r1 มีค่าเพียง 8 bit เท่านั้น คำตอบก็คือ […]

C:\ MCS51, ROM & RAM

MCS-51 ROM & RAM

หน่วยความจำโปรแกรมของ MCS-51 เป็นบริเวรหน่วยความจำสำหรับเก็บข้อมูลและคำสั่งใช้งานต่างๆ ซึ่งแม้ว่าจะไม่มีการจ่ายกระแสไฟฟ้าให้กับระบบข้อมูลเหล่านั้นก็ยังไม่สูญหาย โครงสร้างของหน่วยความจำโปรแกรมมีลักษณะเช่นเดียวกับหน่วยความจำที่บรรจุอยู่ในไอซี หน่วยความจำประเภทต่างๆ เช่น หน่วยความจำแบบ ROM (Read Only Memory) หรือ EPROM (Erasable Programmable Read Only Memory) เป็นต้น MCS-51 สามารถอ่านข้อมูลหน่วยความจำโปรแกรมได้สูงสุดไม่เกิน 64 กิโลไบต์ และแยกหน่วยความจำโปรแกรมออกเป็น 2 ลักษณะ คือ หน่วยความจำโปรแกรมภายใน (Internal Program Memory) ซึ่งเป็นหน่วยความจำ ROM หรือ EPROM ที่อยู่ภายในตัวไอซีไมโครคอนโทรลเลอร์เอง และหน่วยความจำโปรแกรมภายนอก (External Program Memory) ซึ่งเป็นการใช้ไอซีหน่วยความจำมาทำหน้าที่เป็นหน่วยความจำโปรแกรมของระบบ หน่วยความจำโปรแกรมภายใน ไมโครคอนโทรลเลอร์ในตระกูล MCS-51 มีขนาดของหน่วยความจำโปรแกรมถายในแตกต่างกันออกไปเพื่อความเหมาะสมกับการนำไปใช้งานในลักษณะต่างๆ กัน เช่น 8051 และ 8052 มีหน่วยความจำแบบ ROM ขนาด 4 […]

C:\ What is NETPIE ?

What is NetPi

NETPIE (Network Platform for Internet of Everything) คือบริการบน Cloud Platform ที่พัฒนาโดย NECTEC สำหรับใช้สื่อสารระหว่างอุปกรณ์ IoT บนเครือข่ายไร้สาย ทำให้อุปกรณ์ต่างๆ สามารถสื่อสารคุยกันได้โดยที่เราไม่ต้องพัฒนาตัว Server ขึ้นเอง เนื่องจาก NETPIE จะเป็นตัวกลางให้เรา ผู้สนใจสามารถเข้าไปสมัครใช้บริการ (ฟรี) หรือศึกษารายละเอียดเพิ่มเติมได้ที่ https://netpie.io หากสนใจใช้งานต้องสมัครสมาชิกและนำข้อมูลรหัสต่างๆ ไปใส่ในโปรแกรม และจะต้องติดตั้งไลบรารี่ NETPIE ลงในอุปกรณ์ IoT ด้วย  ไลบรารี่ NETPIE รองรับอุปกรณ์เกือบทั้งหมดที่นิยมเล่นใช้งานกันไม่ว่าจะเป็น Arduino, Raspberry Pi, Android, Python, HTML5 และอื่นๆ

C:\ ระบบ IT สำหรับองค์กรขนาดเล็กจำเป็นแค่ไหน?

Small Network for SME

เคยตั้งใจอยากจะวางระบบ IT สำหรับบริษัทเล็กๆ ที่มีพนักงาน Officeไม่เกิน 50 คน (ไม่รวมพนักงานฝ่ายผลิต) แต่ก็ทำไม่สำเร็จเพราะนำเสนอไม่ผ่านด้วยผู้บริหาร ณ ตอนนั้นอาจจะยังไม่เห็นความจำเป็นของมัน และพอดีผมก็ได้ออกจากงานนั้นมาเสียก่อนด้วยเลยไม่ได้ทำให้สำเร็จ แต่ก็อยากเอามาเล่าถึงที่ไปที่มาให้ฟังกัน บริษัทที่ผมเคยทำงานมานั้นไม่ได้มีระบบ IT ใดๆ เลยนอกจะระบบ Router Internet จากผู้ให้บริการที่กระจายสัญญาณ WiFi ให้กับพนักงานใช้งาน (ไม่มีแม้แต่การพ่วงต่อ Switch และเดินสาย LAN) งานบางงานที่สำคัญหน่อยอย่างเช่นระบบบัญชีก็เช่าระบบโปรแกรมบัญชีที่เป็น Cloud และเดินสาย LAN แบบต่อตรงไปที่ PC หนึ่งเครื่องเพื่อดึงข้อมูลการแสกนเวลาของพนักงานเท่านั้น ปัญหาจุกจิกรายวันมีเกิดขึ้นเสมอๆ โดยที่ผู้บริหารไม่ได้ให้ความสนใจกับเรื่องเหล่านี้ แต่ผมกลับมองว่าเป็นเรื่องเสียน้อยเสียยากเสียมากเสียง่ายมากกว่า คือแทนที่พนักงานจะทำงานได้อย่างมีประสิทธิภาพกลับต้องมาเสียเวลาไปกลับการเรียกช่างหรือรอช่างบริการเข้ามาแก้ปัญหาและเสียค่าใช้จ่ายโดยไม่จำเป็น เนื่องจากพนักงานในออฟฟิตไม่มีความรู้เรื่อง IT และวิธีแก้ปัญหา (หรืออาจจะมีความรู้แต่ไม่อยากทำเพราะถือว่าหน้าที่ไม่ใช่) ปัญหาที่พบเสมอๆ ก็เช่น จากที่ยกตัวอย่างทำให้บริษัทต้องเสียเวลาและ คชจ. ที่ไม่จำเป็นอยู่เสมอๆ ผมเลยคิดว่าจะดีกว่าหรือไม่หากมีการติดตั้งระบบ Network ภายในและมีอุปกรณ์ช่วยอำนวยความสะดวกในการใช้งาน เช่น อย่างไรก็ตามสิ่งที่คิดไว้ไม่ทันได้ทำให้เกิดขึ้นได้ ด้วยเวลาที่ต้องยุ่งไปกับการจัดการงานอื่นๆ และการเขียนโครงการนำเสนอที่ไม่ละเอียดพอ จึงไม่สามารถทำให้ผู้บริหารมองเห็นประโยชน์ของมันว่าจะต้องลงทุนเท่าไหร่ ทำไปแล้วจะได้ประโยชน์อะไรกลับมาเท่าใด