Category: ► Python

Python คือชื่อภาษาที่ใช้ในการเขียนโปรแกรมภาษาหนึ่ง ซึ่งถูกพัฒนาขึ้นมาโดยไม่ยึดติดกับแพลตฟอร์ม กล่าวคือสามารถรันภาษา Python ได้ทั้งบนระบบ Unix, Linux , Windows NT, Windows 2000, Windows XP หรือแม้แต่ระบบ FreeBSD อีกอย่างหนึ่งภาษาตัว นี้เป็น OpenSource เหมือนอย่าง PHP ทำให้ทุกคนสามารถที่จะนำ Python มาพัฒนาโปรแกรมของเราได้ฟรีๆโดยไม่ต้องเสียค่าใช้จ่าย และความเป็น Open Source ทำให้มีคนเข้ามาช่วยกันพัฒนาให้ Python มีความสามารถสูงขึ้น และใช้งานได้ครบคุมกับทุกลักษณะงาน

โปรเจค TinyML เปิด–ปิดไฟ ด้วย ESP32-S3 + ไมค์ INMP441

โปรเจค “TinyML รับคำสั่งเสียง เปิด–ปิดไฟ ด้วย ESP32-S3 + INMP441” เป็นโปรเจคที่สนุกและใช้งานได้จริงมาก เหมาะกับการเรียนรู้ TinyML เบื้องต้นบนไมโครคอนโทรลเลอร์โดยตรง (ไม่ต้องใช้คลาวด์) TinyML หรือ Tiny Machine Learning ก็คือ ศาสตร์ย่อยแขนงหนึ่งของ Machine Learning (ML) ที่มุ่งเน้นที่จะนำเอาความสามารถของ AI มาใส่ในอุปกรณ์ขนาดเล็ก ที่มีข้อจำกัดทั้งด้านทรัพยากรประมวลผล และพลังงาน อย่างเช่น ไมโครคอนโทรลเลอร์ (MCU) หรือเซนเซอร์อัจฉริยะ…

โปรเจค 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…

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

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

เขียน Python ควบคุม Arduino ด้วย pySerial

เขียน Python ควบคุม Arduino Python มีการใช้กันอย่างแพร่หลายในด้านการศึกษาและการเรียนรู้ Machine Learning และความสามารถ หลายๆอย่าง เช่น คุณสามารถใช้ควบคุมบอร์ด Arduino. ใช่แน่นอนคุณสามารถใช้ภาษาการเขียนโปรแกรม Python เพื่อสร้างโปรแกรมของคุณเพื่อควบคุม Arduino ได้โดยไม่มีปัญหาและด้วยวิธีง่ายๆ เราจะมาอธิบายวิธีการทำทีละขั้นตอน รายการอุปกรณ์ 1. Arduino UNO R3 รุ่น Keyestudio PLUS ขั้นตอนการทํางาน 1 : โปรแกรมแรก…

โปรแกรมแรก 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…

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 – 9 เขียน Node ภาษา Python แบบ OOP

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

ROS2 – 8 เขียน Node ภาษา Python เบื้องต้น

เขียน Node ภาษา Python เบื้องต้น Node :เป็นกระบวนการที่ใช้ในการดำเนินการโปรแกรมต่าง ซึ่ง ROS ได้รับการออกแบบให้เป็นระบบแบบแยกส่วนในระดับที่ละเอียด ระบบควบคุมหุ่นยนต์มักจะประกอบด้วยหลายโหนด ตัวอย่างเช่นหนึ่งโหนดควบคุม laser range-finder, หนึ่งโหนดควบคุมมอเตอร์ล้อ, หนึ่งโหนดทำการแปลงค่าต่างๆ, หนึ่งโหนดทำการวางแผนเส้นทาง, หนึ่งโหนดให้มุมมองกราฟิกของระบบและอื่น ๆ เป็นต้น 1 : สร้าง Package ภาษา Python สร้าง Package ภาษา Python…

ROS2 – 6 สร้าง Package ภาษา Python

Packages : เป็นโปรแกรมหลักที่ใช้ในการบริหาร บริการ จัดการซอฟต์แวร์ต่างๆใน ROS ซึ่งอาจจะประกอบไปด้วย ROS runtime processes (nodes), a ROS-dependent library, datasets, configuration files, และโปรแกรมอื่นๆที่จำเป็นสำหรับการจัดการและการใช้งาน สำหรับนักพัฒนาที่ออกแบบและสร้าง Packages เมื่อสร้างเสร็จแล้วก็สามารถปล่อย Packages นี้ให้แก่บุคคลที่สนใจอื่นๆได้ 1 : สร้าง Workspace ROS2 สร้าง Workspace…

ROS2 – 5 ติดตั้ง Visual Studio Code บน Ubuntu 20.04

ติดตั้ง Visual Studio Code บน Ubuntu 20.04 Visual Studio Code เป็นโปรแกรมแก้ไขโค้ดโอเพนซอร์ซที่มีประสิทธิภาพซึ่งพัฒนาโดย Microsoft มีการรองรับการดีบักในตัว, การควบคุม Git แบบฝัง, การเน้นไวยากรณ์, การเติมโค้ดให้สมบูรณ์, เทอร์มินัลรวม, การรีแฟคเตอร์โค้ด และตัวอย่างข้อมูล Visual Studio Code เป็นแบบข้ามแพลตฟอร์ม พร้อมใช้งานบน Windows, Linux และ macOS…