Category: ♨ ไลบรารี่/เฟรมเวิร์ค (Library/Framework)

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

Framework
คือ การนำ Library หลายตัว ที่ทำงานในด้านเดียวกัน หรือเกื้อหนุนกัน เอามาวางเป็นกลุ่มก้อน เพื่ออำนวยความสะดวกให้กับผู้ใช้

โปรเจค Arduino MediaPipe หุ่นยนต์ ควบคุม ด้วย จำนวนนิ้ว

การควบคุมรถบังคับด้วยท่าทางมือโดยใช้ Arduino, OpenCV และ MediaPipe เป็นโครงการที่น่าสนใจซึ่งผสมผสานเทคโนโลยีหลายด้านเข้าด้วยกัน ตั้งแต่การประมวลผลภาพ การตรวจจับท่าทางมือ ไปจนถึงการควบคุมมอเตอร์ในรถบังคับ ต่อไปนี้คือหลักการทำงานของระบบนี้ 1. การตรวจจับท่าทางมือด้วย MediaPipe MediaPipe เป็นไลบรารีจาก Google ที่สามารถตรวจจับและติดตามตำแหน่งของมือได้อย่างมีประสิทธิภาพ โดย MediaPipe จะทำการประมวลผลภาพจากกล้อง (เช่น เว็บแคม) เพื่อระบุตำแหน่งของมือและนิ้วมือในแบบเรียลไทม์ 2. การประมวลผลข้อมูลด้วย OpenCV และ Python OpenCV เป็นไลบรารีที่ใช้สำหรับการประมวลผลภาพและวิดีโอ…

โปรเจค Arduino ควบคุม การหรี่ไฟ 220V โดยใช้ท่าทางมือ

MediaPipe MediaPipe เป็นไลบรารีที่พัฒนาโดย Google สำหรับการประมวลผลสื่อ (Media Processing) และมีข้อดีหลายประการเมื่อนำมาใช้ร่วมกับ Python ดังนี้: Firmata Firmata เป็นโปรโตคอลที่ใช้สำหรับการสื่อสารระหว่างไมโครคอนโทรลเลอร์ เช่น Arduino กับคอมพิวเตอร์หรืออุปกรณ์อื่น ๆ ผ่านทาง Serial (UART) หรือการเชื่อมต่อแบบอื่น ๆ Firmata อนุญาตให้คุณควบคุมและอ่านค่าจากพินของ Arduino ได้จากภายนอก โดยไม่จำเป็นต้องเขียนโค้ดเฉพาะสำหรับ Arduino เอง ตัวอย่างการใช้งาน…

โปรเจค Arduino ควบคุม การเปิด-ปิดไฟ โดยใช้ท่าทางมือ

Firmata เป็นโปรโตคอลที่ใช้สำหรับการสื่อสารระหว่างไมโครคอนโทรลเลอร์ เช่น Arduino กับคอมพิวเตอร์หรืออุปกรณ์อื่น ๆ ผ่านทาง Serial (UART) หรือการเชื่อมต่อแบบอื่น ๆ Firmata อนุญาตให้คุณควบคุมและอ่านค่าจากพินของ Arduino ได้จากภายนอก โดยไม่จำเป็นต้องเขียนโค้ดเฉพาะสำหรับ Arduino เอง ตัวอย่างการใช้งาน Firmata คือการควบคุมพินดิจิตอลและแอนะล็อกของ Arduino จากโปรแกรมบนคอมพิวเตอร์ เช่น Python, Processing หรือ JavaScript ผ่านทาง Serial…

โปรเจค Arduino หรี่ไฟบ้าน 220 V ด้วย ขวดโค๊ก

การทำโปรเจคที่รวมเอา Arduino สำหรับการควบคุมหลอดไฟและ OpenCV Python สำหรับการตรวจจับภาพ ถือเป็นการผสมผสานระหว่างฮาร์ดแวร์และซอฟต์แวร์ที่สามารถนำมาใช้ในหลากหลายด้าน บทความนี้จะกล่าวถึงข้อดีของการทำโปรเจคดังกล่าว ดังนี้: ข้อดีของการทำโปรเจค Arduino ควบคุมหลอดไฟกับ OpenCV Python สรุป การทำโปรเจคที่รวมเอา Arduino และ OpenCV Python ไม่เพียงแต่ช่วยให้คุณได้พัฒนาทักษะในการเขียนโปรแกรมและการทำงานกับฮาร์ดแวร์ แต่ยังเปิดโอกาสให้คุณได้สร้างสรรค์และพัฒนาระบบอัตโนมัติที่สามารถนำไปใช้ในชีวิตประจำวันหรือในอุตสาหกรรมต่างๆ ได้อีกด้วย อุปกรณ์ที่ใช้ 1- Arduino UNO R3 2- Sensor Shield V…

ESP32 เปิด-ปิดไฟ ด้วย ESP Rainmaker

ESP RainMaker เป็นแพลตฟอร์มที่ช่วยให้นักพัฒนาสร้างอุปกรณ์ที่เชื่อมต่อกับ ESP32-S2 SoC ของ Espressif โดยไม่ต้องวุ่นวายกับการจัดการโครงสร้างพื้นฐาน มี SDK ของอุปกรณ์ แอปโทรศัพท์ที่ปรับเปลี่ยนได้เอง มิดเดิลแวร์คลาวด์แบบโปร่งใส และยูทิลิตีโฮสต์เพื่อลดความซับซ้อนในการพัฒนาอุปกรณ์ที่เชื่อมต่อ ESP RainMaker ยังเสนอการผสานรวมกับ Amazon Alexa และ Google Voice Services โดยรองรับอุปกรณ์มาตรฐาน บางประเภท สำหรับหมวดหมู่ต่อไปนี้ ESP RainMaker เป็นโซลูชัน IoT…

เริ่มต้นใช้งาน ESP Rainmaker

ESP RainMaker เป็นแพลตฟอร์มที่ช่วยให้นักพัฒนาสร้างอุปกรณ์ที่เชื่อมต่อกับ ESP32-S2 SoC ของ Espressif โดยไม่ต้องวุ่นวายกับการจัดการโครงสร้างพื้นฐาน มี SDK ของอุปกรณ์ แอปโทรศัพท์ที่ปรับเปลี่ยนได้เอง มิดเดิลแวร์คลาวด์แบบโปร่งใส และยูทิลิตีโฮสต์เพื่อลดความซับซ้อนในการพัฒนาอุปกรณ์ที่เชื่อมต่อ ESP RainMaker ยังเสนอการผสานรวมกับ Amazon Alexa และ Google Voice Services โดยรองรับอุปกรณ์มาตรฐาน บางประเภท สำหรับหมวดหมู่ต่อไปนี้ ESP RainMaker เป็นโซลูชัน IoT…

ควบคุมเซอร์โวมอเตอร์ ด้วย OpenCV Python

ควบคุมเซอร์โวมอเตอร์ ด้วย OpenCV Python เซอร์โวมอเตอร์ (Servo Motor) เป็นการรวมมอเตอร์ไฟฟ้ากระแสตรง (DC Motor) เข้ากับวงจรควบคุม โดยความแตกต่างที่สำคัญของเซอร์โวมอเตอร์กับมอเตอร์แบบอื่น ๆ คือเซอร์โวมอเตอร์จะรู้ตำแหน่งที่ตัวเองอยู่ และสั่งเปลี่ยนตำแหน่งโดยการเปลี่ยนองศาได้ นิยมใช้งานในเครื่องบินบังคับ เรือบังคับ โดยใช้กำหนดทิศทางของหางเสือเป็นองศา การทํางานเพียงตัว เซอร์โวมอเตอร์ เพียงอย่างเดียวนั้นไม่สามารถทํางานได้ การที่จะให้ เซอร์โวมอเตอร์ จะควบคุมลักษณะที่กล่าวมาข้างต้นนั้นต้องมี ไมโครคอนโทรลเลอร์ มีหน้าที่รับคําสั่งจากผู้ใช้งานว่าต้องการให้ เซอร์โวมอเตอร์ นั้นเคลื่อนที่ด้วยความเร็วเท่าไหร่และระยะทาง ใกล้หรือไกลแค่ไหน หน้าที่ตรงจุดนี้จะเป็น…

โปรแกรมแรก OpenCV Python บน Windows 10

โปรแกรมแรก OpenCV Python ด้วย PyCharm OpenCV (Open source Computer Vision) เป็นไลบรารีฟังก์ชันการเขียนโปรแกรม (Library of Programming Functions) โดยส่วนใหญ่จะมุ่งเป้าไปที่การแสดงผลด้วยคอมพิวเตอร์แบบเรียลไทม์ (Real-Time Computer Vision) ขอบเขตการใช้งานของ OpenCV ค่อนข้างกว้าง มีความสามารถหลากหลายหลากหลาย นอกจากรูปภาพธรรมดาแล้วยังใช้จัดการกับวีดีโอภาพเคลื่อนไหว อัลกอริธึมที่ใช้มีตั้งแต่แบบง่ายๆไปจนถึงระดับสูง 1. ติดตั้ง Python เวอร์ชั่น 3.7.6…

OpenCV C++ #5 การแปลงภาพแบบ Perspective

การแปลงภาพแบบ Perspective OpenCV การแปลงภาพแบบ Perspective คือ การฉายจุดลงบนฉากรับภาพตามแนวเส้นที่พุ่งออกมาจากจุดจุดหนึ่งที่เรียกว่า จุดศูนย์กลางการฉาย ขั้นตอนการทํางาน # แสดงรูปภาพ , วิดีโอ และ เว็บแคม โดยศึกษา ขั้นตอนการทำงาน จากลิงค์บทความ ด้านล่าง แสดงรูปภาพ , วิดีโอ และ เว็บแคม 1 : เพิ่มไฟล์รูปภาพเข้าไปในโปรเจค คลิกขวาที่ ชื่อโปรเจค -> Open…

OpenCV C++ #4 การวาดรูปทรง และ ข้อความ

การวาดรูปทรง และ ข้อความ OpenCV บทความจะพูดถึงเรื่อง ฟังก์ชัน การวาดรูปทรง (Drawing) และ ข้อความ (Text) ใน OpenCV กับ C++ โดยฟังก์ชัน Drawing เป็นคำสั่งสำหรับใช้วาดรูปทรง ใน OpenCV ขั้นตอนการทํางาน # การปรับขนาดรูปภาพ และการครอบตัดรูปภาพ โดยศึกษา ขั้นตอนการทำงาน จากลิงค์บทความ ด้านล่าง การปรับขนาดรูปภาพ และการครอบตัดรูปภาพ…

OpenCV C++ #3 การปรับขนาดรูปภาพ และการครอบตัดรูปภาพ

OpenCV การปรับขนาดรูปภาพ ในบทนี้จะพูดถึงเรื่องการย่อขนาดภาพโดยใช้ Resize Image ใน การปรับขนาดรูปภาพ ใน C++ ของ ไลบรารี OpenCV โดย ค่า เริ่มต้น การปรับ ขนาด จะ เปลี่ยน เฉพาะ ความกว้าง และ ความสูง ของ รูปภาพ อัตราส่วนภาพ และ การครอบตัดรูปภาพ ขั้นตอนการทํางาน #…

OpenCV C++ #2 ภาพระดับสีเทา ภาพเบลอ และ ภาพแคนนี

OpenCV ภาพระดับสีเทา ภาพเบลอ และ ภาพแคนนี ขั้นตอนการทํางาน # แสดงรูปภาพ , วิดีโอ และ เว็บแคม โดยศึกษา ขั้นตอนการทำงาน จากลิงค์บทความ ด้านล่าง แสดงรูปภาพ , วิดีโอ และ เว็บแคม 1 : OpenCV แสดงภาพระดับสีเทา สำหรับการเบลอภาพโดยใช้เคอร์เนลหรือตัวกรองด้วยแนวคิดพื้นฐานของการแปลงสัญญาณตัวกรองความถี่ต่ำความถี่ของภาพ ฯลฯ โดยการแปลงเป็นภาพสเกลสีเทา ภาพเกรย์สเกลหรือภาพระดับสีเทา คือภาพ…

OpenCV C++ #1 แสดงรูปภาพ , วิดีโอ และ เว็บแคม

OpenCV แสดงรูปภาพ, วิดีโอ และ กล้องเว็บแคม @ ส่วนหัวของโปรแกรม ส่วนหัวของโปรแกรม หรือที่เรียกว่า เฮดเดอร์ไฟล์ (Header File) เป็นการเรียกใช้เฮดเดอร์ไฟล์ จากไลบรารี่ OpenCV เข้ามาร่วมใช้งานภายในโปรแกรม โดยไฟล์เฮดเดอร์เป็นไฟล์ที่ใช้ในการรวบรวมฟังก์ชั่นการทำงานต่างๆ ของ OpenCV ที่ใช้ในโปรแกรมนี้คือ และนำเข้าไลบรารี่มาตฐานของภาษา C++ ในตัวอย่างด้านล่างได้นำเข้าไลบรารี่ iostream ซึ่งจะประกอบไปด้วยฟังก์ชันการทำงานเกี่ยวกับ Input และ Output ภาษา C++…

การใช้งาน OpenCV + Visual Studio 2019  ด้วย ภาษา C++

การใช้งาน OpenCV ภาษา C++ OpenCV ย่อมาจาก Opensource Computer Vision หรือก็คือ Computer Vision ไลบรารี ความสามารถหลักๆ ของ OpenCV  ก็คือสามารถช่วยให้เราจัดการวิดีโอหรือรูปภาพ เพื่อให้เกิดการเปลี่ยนแปลงกับรูปภาพ อย่างเช่น ทำให้ภาพชัดขึ้น ทำให้เบลอ ลดสัญญาณรบกวน (noise) ในรูปภาพ จากแหล่งที่มาของรูปภาพต่างๆ ไม่ว่าจะเป็น webcam ภาพถ่าย วิดีโอ หรือกล้องวงจรปิด   ภาษาการเขียนโปรแกรม OpenCV…

ROS2 – 14 เขียน Publisher / Subscriber ด้วยภาษา C++

เขียน Publisher และ Subscriber ด้วยภาษา C++ Topics : ข้อความจะถูกส่งผ่านระบบการขนส่งที่มีการ Publisher / Subscriber โหนดที่ส่งข้อความจะเรียกว่า Publisher ชื่อที่ระบุใน Topic จะใช้เพื่อระบุเนื้อหาของข้อความ โหนดที่สนใจในข้อมูลบางประเภทจะทำการ Subscriber หัวข้อที่ต้องการ อาจมีการ Publisher / Subscribe หลายรายพร้อมกันสำหรับหัวข้อเดียวและโหนดเดียวอาจ Publisher / Subscriber ได้หลาย Topics…

ROS2 – 13 เขียน Publisher / Subscriber ด้วยภาษา Python

เขียน Publisher และ Subscriber ด้วยภาษา Python Topics : ข้อความจะถูกส่งผ่านระบบการขนส่งที่มีการ Publisher / Subscriber โหนดที่ส่งข้อความจะเรียกว่า Publisher ชื่อที่ระบุใน Topic จะใช้เพื่อระบุเนื้อหาของข้อความ โหนดที่สนใจในข้อมูลบางประเภทจะทำการ Subscriber หัวข้อที่ต้องการ อาจมีการ Publisher / Subscribe หลายรายพร้อมกันสำหรับหัวข้อเดียวและโหนดเดียวอาจ Publisher / Subscriber ได้หลาย Topics…

ROS2 – 12 ทดสอบ ควบคุมเต่าบน ROS2

ควบคุมเต่าบน ROS2 หลังจากที่เราทดสอบการใช้งาน โหนด ของ ROS2 มาบ้างแล้ว ต่อไปเราก็จะมาทำความเข้าใจการสื่อสาร ระหว่างโหนดต่างๆ และทดสอบการทำงานของมันว่าสามารถใช้งานได้แล้วรึเปล่า โดยเราจะใช้ Turtlesim (เต่าจำลอง) ที่ ROS2 มีให้มาอยู่แล้ว ซึ่งจะเป็นการเปิดหน้าต่างที่มีเต่าขึ้นมา แล้วควบคุมเต่าด้วย keyboard ให้เราได้ศึกษาการใช้งานคำสั่งพื้นฐานควบคุมการทำงานต่าง ๆ 1 : เขียน Node ภาษา Python แบบ OOP เขียน…

ROS2 – 11 เขียน Node ภาษา C++ แบบ OOP

เขียน Node ภาษา C++ แบบ OOP OOP ก็คือ “ธรรมชาติของวัตถุ” หมายความว่า OOP จะมองสิ่งแต่ละสิ่งถือเป็น “วัตถุชิ้นหนึ่ง” (Object) มันจะมีสีแดงหรือสีเขียว ยาวหรือสั้น มันก็คือวัตถุชิ้นหนึ่งเหมือนกัน และเราสามารถกำหนดประเภทหรือคลาสให้กับวัตถุเหล่านั้นได้ นอกจากนี้ เมื่อ OOP มองทุกสิ่งถือเป็นวัตถุชิ้นหนึ่งแล้ว ยังสามารถคิดต่อไปอีกว่า “วัตถุแต่ละอย่างนั้น ต่างก็มีลักษณะและวิธีการใช้งานเป็นของตัวเอง” หมายความว่า วัตถุแต่ละชนิดหรือแต่ละชิ้นต่างก็มีรูปร่าง ลักษณะ และการใช้งาน (การกระทำ)…

ROS2 – 10 เขียน Node ภาษา C++ เบื้องต้น

เขียน Node ภาษา C++ เบื้องต้น การทำงานของ ROS จะแบ่งเป็น Node แต่ละ Node จะทำหน้าที่เฉพาะเช่น Node เซนเซอร์อุณหภูมิ, Node เซนเซอร์ความเร็ว, Node ควบคุมมอเตอร์, Node Lidar เป็นต้น แต่ละ Node จะประสานข้อมูลกันผ่าน Topic เช่นเซนเซอร์ Encoder จะ Publish ข้อมูลความเร็ว…

ROS2 – 9 เขียน Node ภาษา Python แบบ OOP

เขียน Node ภาษา Python แบบ OOP การเขียนโปรแกรมเชิงวัตถุ OOP (Object Oriented Programming) เป็นวิธีการเขียนโปรแกรมที่นำแนวคิดในโลกของความเป็นจริงมาใช้กับในโลกของการเขียนโปรแกรมในการที่ โปรแกรมเมอร์ สร้างซอฟต์แวร์ขึ้นมาเพื่อแก้ไขปัญหาต่างๆ OOP เป็นวิธีการเขียนโปรแกรมรูปแบบหนึ่ง โดยมองสิ่งต่างๆในระบบเป็นวัตถุ (Object) ชิ้นหนึ่งที่มีหน้าที่และความหมายในตัว โดยวัตถุๆนั้น ก็มี คุณสมบัติ (Attributes) และ พฤติกรรม (Method,Behavior) หรือการกระทำของมัน เป็นการมองบนพื้นฐานความเป็นจริงมากขึ้น คำศัพท์ที่จำเป็นต้องทราบสำหรับการเขียนโปรแกรมเชิงวัตถุในภาษา Python…

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save