Tag Archives: python

Sticky Post

มาแก้ปัญหา “AFBF+CGHB+DAFG+AEAB=BCBC” กันเถอะ

“In programming, the hard part isn’t solving problems, but deciding what problems to solve.” – Paul Graham “ในการเขียนโปรแกรมนั้น การแก้ปัญหาไม่ใช่สิ่งที่ยากที่สุด แต่สิ่งที่ยากที่สุดคือการตัดสินว่าปัญหาใดบ้างที่ควรได้รับการแก้ไข” – พอล เกรแฮม Paul Graham ‘s quotes หากข้อความข้างต้นนั้นถูกต้อง ผมก็คิดว่าปัญหาของนักเรียนประถมอันโด่งดังอย่าง “AFBF+CGHB+DAFG+AEAB=BCBC” ก็ควรได้รับการแก้ไขอย่างเป็นรูปธรรมเสียที การจะส่งต่อปัญหานี้ไปสู่คนรุ่นถัดไปนั้น ดูจะเป็นการไร้ความรับผิดชอบต่อคนรุ่นหลังอย่างรุนแรง เกินกว่าที่จะยอมรับได้ ดังนั้นเราจึงเริ่มพัฒนาโค้ดขึ้นมา เพื่อให้มันไม่ใช่ปัญหาอีกต่อไป แม้ว่ามันจะสร้างปัญหาอื่นตามมาก็ตาม จุดเริ่มต้น ทันทีที่เห็นคำถาม “AFBF+CGHB+DAFG+AEAB=BCBC” ในเว็บบอร์ดพันทิป ก็ทราบได้ทันทีว่านี่คงเป็นปัญหาใหญ่มากทีเดียว ผมจึงเริ่มโดยการวิเคราะห์ว่าจะมีหนทางใดบ้างที่แก้ปัญหานี้ได้ สุดท้ายเพื่อให้ปัญหานี้ได้รับการแก้ไขอย่างแท้จริง ผมจึงเลือกที่จะเขียนโค้ดเพื่อหาคำตอบของสมการแบบนี้

มาสร้างไฟล์ Cascade ไว้ใช้ตรวจจับวัตถุกัน

ในตอนที่แล้วนั้น ได้แสดงตัวอย่างการเขียนโปรแกรม Face Detection โดยใช้ Library SimpleCV บนภาษา Python ที่มีข้อดีคือ ใช้งานง่าย ไม่ยุ่งยาก โดยในตอนนั้นเราจะเห็นว่า มีไฟล์ xml ชื่อ face.xml ที่ถูกใช้ในฟังก์ชัน findHaarFeature  และในตอนนี้เราจะมาทำความรู้จักกับ Haar feature-based ซึ่งถูกพัฒนาขึ้นมาเพื่อใช้ในการตรวจจับวัตถุ และเราจะมาสร้างไฟล์ xml ของเราเองกันครับ

แนะนำ SimpleCV ที่ทำให้ Image Processing นั้นง่ายขึ้น

วันนี้จะมาแนะนำ Library สำหรับติดต่อกับกล้อง และวิเคราะห์ภาพแบบง่ายๆกันครับ โดย Library ตัวนี้พัฒนาต่อจาก OpenCV ของ Intel อันโด่งดังอีกที แต่เนื่องจากการใช้ OepnCV นั้นจะเป็นที่จะต้องพึ่งพาความรู้พื้นฐานเรื่อง Image Processing ในระดับหนึ่งเลยทีเดียว ซึ่งแปลว่าต้องใช้เวลาศึกษาอีกพอสมควรเลยทีเดียวกว่าจะทำอะไรได้เป็นชิ้นเป็นอัน แต่… บ่อยครั้งเราก็ไม่ได้อยากจะศึกษาอะไรลึกซึ้งมากขนาดนั้น หรือบ่อยครั้งที่เราเพียงอยากได้อะไรที่ง่ายๆ มาทำเล่นสนุกๆดูก่อนเพียงเท่านั้น อยากพักเรื่องทฤษฏีอะไรมากมายลงบ้าง ถ้าเช่นนั้นแล้ว เราขอแนะนำให้รู้จักกับ SimpleCV ไลบรารี่ สำหรับ Image Processing แบบง่ายๆ ให้รู้จักครับ

[ Raspberry Pi ] บันทึกอุณหภูมิ-ความชื้นจากเซ็นเซอร์ลงไฟล์ csv

ก่อนหน้าโน้นเราอ่านค่าอุณหภูมิและความชื้น จากนั้นก็ทวิตขึ้นทวิตเตอร์ มารอบนี้ลองมาบันทึกค่าลงไฟล์ .csv อันก่อนหน้าอ่านค่าอุณหภูมิ-ความชื้นอย่างไร ลงไปอ่านดูก่อนนะ https://playelek.com/raspberry-pi-temp-humidity-am2302/

< Orange Pi > ไฟกระพริบต้องมี สวิตส์กดๆต้องมา ด้วยภาษา Python [2]

ในตอนที่แล้ว เราได้แนะนำให้รู้จัก และวิธีการติดตั้ง Library ของ Python ที่ชื่อ WiringPi-Python-OP กันไปแล้ว ในตอนนี้ เราจะมาเริ่มต้นใช้งาน Library ตัวนี้กัน ด้วยการเขียนโปรแกรมควบคุม LED ผ่านสวิตซ์ แบบง่ายๆ ก่อนอื่นเลย เราคงต้องเตรียมวงจรที่จะใช้ทดสอบเสียก่อน โดยจะใช้ I/O pin ที่ 0-7 เป็น Output และ 8-15 เป็น Input วงจร Input นั้นเป็นแบบ Active Low ดังนั้นสถานะปกติจะเป็น 1 เสมอ และวงจร Output จะเป็นแบบ Active Low นั่นคือ ไฟจะติดสว่างเมื่อเราสั่งให้

< Orange Pi > ไฟกระพริบต้องมี สวิตส์กดๆต้องมา ด้วยภาษา Python [1]

Orange Pi One ที่ใช้อยู่นั้น บนบอร์ดจะมี I/O Pin อยู่ทั้งหมด 40 ขา โดย 40 ขานี้ จะตรงกับ I/O Pin 40 ขาของ Raspberry Pi ดังนั้นเราจึงสามารถใช้ extension board ของ Raspberry Pi ซึ่งมีอยู่มากมายได้เช่นกัน เพียงแต่เงื่อนไขสำคัญของการใช้งาน I/O ต่างๆนั้น ขึ้นอยู่กับ Library ของอุปกรณ์นั้นๆ ซึ่งเป็นสิ่งสำคัญมากในการพัฒนา ในตอนนี้เราจะขอแนะนำให้รู้จัก Library สำหรับใช้งาน I/O ต่างๆ ผ่าน ภาษา Python ซึ่งน่าใช้งานมากๆเนื่องจากได้รูปแบบมาจาก WiringPi ของ Raspberry