"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"

ASTM F2100-11, Test Standard

ASTM F2100 Test Standard

ตัวอย่างมาตรฐาน ประสิทธิภาพหน้ากากอนามัยทางการแพย์ใช้ครั้งเดียวชนิด N95 ที่ยอมรับตามประกาศของสำนักงานอาหารและยา (พ.ศ.2563)

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

MCS-51 VS Z80

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

ไม่ดูแลคนให้ดีแล้วงานจะดีไปได้อย่างไร!

Human Resources

องค์กรที่ดีเป็นอย่างไร? ผมเองเรียนจบช่างเถอะ ไม่ได้จบสายบริหาร (มาเรียนบริหารก็ตอนแก่แดดแก่ลมแล้ว) เวลานั่งเรียนฟังอาจารย์บรรยาย หรือไม่ว่าจะจากการอ่านตำราเองก็มักจะมีคำถามในใจว่าความรู้ภาคทฤษฎีมันช่างสวยหรู แต่ในชีวิตการทำงานจริงผมแทบจะไม่เจอหลักการเหล่านี้กับชีวิตการทำงานที่ผ่านมาเลย หรือว่าเราไม่เคยทำงานกับองค์กรใหญ่ๆ ที่ให้ความสำคัญกับงาน HR ก็ไม่รู้ ตอนเริ่มต้นทำงานใหม่ๆ อายุเพิ่งจะ 20 ผมเคยเป็นหัวโจกนำการประท้วงของพนักงานโรงงานกับฝ่ายบุคคล แต่จริงๆ ตอนนั้นก็ไม่ได้มีความรู้อะไรมากมายหรอก มีคนอื่นอยู่เบื้องหลังคอยเชียร์ให้ผมเป็นทัพหน้าอีกที55+ เพียงเพราะว่าเราเห็นความไม่ยุติธรรมของการบริหารงานของฝ่ายบุคคล  ความรู้สึกตอนนั้นผมมีความรู้สึกว่าหน้าที่ของฝ่ายบุคคลคือทำหน้าที่เพียงเก็บบันทึกข้อมูลขาดลามาสายคำนวนค่าแรงจัดคิวรถรับส่งและเป็นหน้าหน้า รปภ.อะไรแค่นั้น แต่ไม่ได้ดูแลหรือรับฟังเสียงเรียกร้องจากพนักงานเลย เมื่อมีปัญหาก็ได้แต่พูดว่าผู้บริหารสั่งมา หรือผู้บริหารไม่อนุมัติ อะไรๆ ทำนองนั้น ซึ่งก็ไม่รู้ว่าจริงๆ แล้วฝ่ายบุคคลได้ทำหน้าที่เป็นตัวกลางในการสื่อสารให้กับผู้บริหารให้จริงหรือเปล่า เปลี่ยนงานมาสามสี่ที่ไม่ว่าบริษัทจะเล็กหรือใหญ่ก็ไม่เคยเจอการทำงานของ HR บริษัทไหนที่ทำให้มีความประทับใจได้เลย แต่พอเราโตขึ้นและตัวเองได้มีโอกาสต้องเข้าไปทำงานด้าน HR เองก็คิดว่าพอจะมีความเข้าใจงานเหล่านี้มากขึ้นแต่ก็เป็นช่วงเวลาสั้นๆ ที่ได้เข้าไปยุ่งเกี่ยวกับงานเหล่านี้  มีครั้งนึงได้มีโอกาส Set-up บริษัทเปิดใหม่แห่งหนึ่งซึ่งผมทำงานให้ตั้งแต่การเป็นพนักงานคนแรกๆ ของบริษัท ทำกันตั้งแต่จดทะเบียนจัดตั้ง หาซื้อที่ดิน สร้างโรงงาน นำเข้าเครื่องจักรและวัตถุดิบ เขียนโครงการขอรับการส่งเสริมจากรัฐบาล (BOI) ขอเงินกู้จากธนาคารในประเทศ และกระทั้งสรรหาบุคลากรให้กับบริษัท ปัญหาหนักใจที่ทำให้เบื่อกับการทำงาน โดยเฉพาอย่างยิ่งกับบริษัทต่างชาติก็คือเขามักจะใช้นโยบาย 2 ประการหลักในการบริหารคือ 1. นโยบายการบริหารแบบ Top-Down คือฟังคำสั่งจากเบื้องบนลงมาอย่างเดียวโดยไม่รับฟังเสียงจากพนักงานระดับล่าง […]

A to D, Recording to magnetic tape

A t0 D Recording

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

First trip to Korea (1990)

My First trip to Korea

ผมจำวันเวลาแบบเป๊ะๆ ไม่ได้ว่าครั้งแรกที่มีโอกาสได้เดินทางไปต่างประเทศเมื่อไหร่ แต่พอจะจำปีได้ก็น่าจะประมาณ 1990 (2533) เลยอยากเอาประสบการณ์ครั้งแรกของการได้ไปต่างประเทศมาเล่าให้ฟังขำๆ ในชีวิตจนปัจจุบันมีโอกาสเดินทางไป ตปท. มาก็สักสิบครั้งได้ ประเทศที่ไปมาก็มี เกาหลี, ญี่ปุ่น, มาเลเซีย, สิงค์โปร, ฟิลิปปินส์, อเมริกา, พม่า และประเทศลาว ในทุกๆ ประเทศที่ได้ไปมาเกือบทั้งหมดคือไปทำงาน หรือถูกส่งไปฝึกงาน ยกเว้นพม่าประเทศเดียวที่ได้เหยียบข้ามไปเที่ยวแบบแป๊บๆ  เกาหลีเป็นประเทศแรกที่ได้มีโอกาสไปเยือนมาและไปมาหลายครั้ง เนื่องจากพอเรียนจบก็ได้เข้าทำงานโรงงานของเกาหลีที่มาเปิดทำการผลิตอุปกรณ์สื่อสารในประเทศไทย ซึ่งตอนนั้นใช้ชื่อว่า GoldStar  คนยุคหลังๆ อาจจะรู้จักเกาประเทศเกาหลีหรืออาจจะเรียกว่าความบูมของประเทศเกาหลีในสายตาของคนไทยก็จากนักร้องหรือละคร โดยเฉพาะเรื่องแดจังกึม ซึ่งโด่งดังมาก ณ.ตอนนั้น แต่สำหรับผม ผมเริ่มรู้จักเกาหลีตั้งแต่สมัยเป็นนักเรียน ภาพจำของผมมีสองสิ่งซึ่งได้จากการดูข่าวต่างประเทศในสมัยนั้น สิ่งแรกคือประเทศเกาหลีกำลังจะเป็นเจ้าภาพในการจัดแข่งกีฬาโอลิมปิคของปี 1988 จึงมีการประโคมข่าวออกทางสื่อทีวีอยู่บ่อยๆ และอีกสิ่งหนึ่งคือข่าวการชุมนุมประท้วงของประชาชนหรือแรงงานในเกาหลีซึ่งมีขึ้นบ่อยมากและเป็นข่าว จนมันกลายเป็นภาพจำของผม จนเมื่อผมเรียนจบ ปวส.ในปี 1989 และได้ทำงานกับโรงงานเกาหลีที่ชื่อ GoldStar และปัจจุบันเปลี่ยนชื่อเป็น LG หลังจากทำงานได้กว่า 1 ปี จึงได้ถูกส่งไปดูงานที่โรงงานแม่ที่เมือง Anyung หากจำไม่ผิดน่าจะเป็นเวลาสองอาทิตย์ได้ (โรงงาน LG ในเกาหลีมีหลายแห่งมาก […]

เพิ่ม 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 เท่านั้น คำตอบก็คือ […]

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 […]

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 และอื่นๆ

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

Small Network for SME

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

Why 11.0592MHz

Why 11.0592 MHz

เคยสงสัยเล่นๆ ว่าทำไม CPU หรือ MCU ของแต่ละบริษัทที่ผลิตออกมาจำหน่าย ถึงมีการกำหนดความถี่ของสัญญาณนาฬิกาที่แตกต่างกัน แต่ก็พอจะเข้าใจแบบเหมารวมไปว่าก็คงเป็นเรื่องของเทคนิคการออกแบบและเทคโนโลยีของการผลิตตามยุคสมัย ซึ่งก็คงจะเหมือนๆกันกับ CPU ของเครื่องคอมพิวเตอร์ที่เมื่อกว่า 30 ปีก่อนที่มีความเร็วไม่กี่สิบ MHz จนปัจจุบันปาเข้าไปกว่า 3~4GHz เข้าไปแล้ว ยิ่งเร็วก็ยิ่งดีและก็เป็นเรื่องของการแข่งขันทางการตลาดด้วย แต่จริงๆ แล้วหากศึกษาในรายละเอียดลึกๆ ลงไป ทำให้เข้าใจเหตุผลเชิงลึกของบางแง่มุมของมันด้วย ดังยกตัวอย่าง MCU ของตระกูล MCS-51 ซึ่งผมได้อ่านเจอจากคู่มือการใช้งานเล่มหนึ่งซึ่งได้อธิบายไว้ดังนี้ครับ MCU 8051 มีวงจรออสซิลเลเตอร์อยู่ภายในสำหรับการสร้างพัลส์ของสัญญานนาฬิกา ซึ่งจะนำไปเป็นฐานเวลาหรือการกำหนดจังหวะการทำงานของหน่วยการทำงานทั้งหมดให้สอดคล้องกัน (Synchronization) โดยปกติแล้วมักจะทำโดยการใช้คริสตอลเชื่อมต่อเข้ากับขาสัญญาณ XTAL1 และ XTAL2 และมีตัวเก็บประจุต่อลง GND หรืออาจจะเป็นสัญญาณนาฬิกาจากวงจรภายนอกก็ได้ พัลส์ความถี่ของสัญญาณนาฬิกาจะเรียกว่า Pulse (ใช้สัญลักษณ์ตัวอักษร P) และคาบเวลาสัญญาณนาฬิกานี้เรียกว่า คาบเวลาออสซิลเลเตอร์ (Oscillator period)  คาบเวลาออสซิลเลเตอร์จำนวนสองคาบเรียกว่า State (ใช้สัญลักษณ์เป็นตัว S) ซึ่งจะนำไปใช้เป็นช่วงเวลาพื้นฐานการทำงานย่อยของไมโครคอนโทรลเลอร์ เช่น การนำคำสั่ง (Fetch)  […]

Get in Touch !