# โต้ตอบกับโลกทางกายภาพด้วยเซ็นเซอร์และแอคชูเอเตอร์ ![ภาพสเก็ตโน้ตของบทเรียนนี้](../../../../../translated_images/lesson-3.cc3b7b4cd646de598698cce043c0393fd62ef42bac2eaf60e61272cd844250f4.th.jpg) > สเก็ตโน้ตโดย [Nitya Narasimhan](https://github.com/nitya) คลิกที่ภาพเพื่อดูเวอร์ชันขนาดใหญ่ บทเรียนนี้เป็นส่วนหนึ่งของ [ซีรีส์ Hello IoT](https://youtube.com/playlist?list=PLmsFUfdnGr3xRts0TIwyaHyQuHaNQcb6-) จาก [Microsoft Reactor](https://developer.microsoft.com/reactor/?WT.mc_id=academic-17441-jabenn) บทเรียนนี้ถูกสอนผ่านวิดีโอ 2 ตอน - บทเรียน 1 ชั่วโมง และชั่วโมงตอบคำถามที่เจาะลึกในส่วนต่าง ๆ ของบทเรียนและตอบคำถาม [![บทเรียน 3: โต้ตอบกับโลกทางกายภาพด้วยเซ็นเซอร์และแอคชูเอเตอร์](https://img.youtube.com/vi/Lqalu1v6aF4/0.jpg)](https://youtu.be/Lqalu1v6aF4) [![บทเรียน 3: โต้ตอบกับโลกทางกายภาพด้วยเซ็นเซอร์และแอคชูเอเตอร์ - ชั่วโมงตอบคำถาม](https://img.youtube.com/vi/qR3ekcMlLWA/0.jpg)](https://youtu.be/qR3ekcMlLWA) > 🎥 คลิกที่ภาพด้านบนเพื่อดูวิดีโอ ## แบบทดสอบก่อนเรียน [แบบทดสอบก่อนเรียน](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/5) ## บทนำ บทเรียนนี้จะแนะนำแนวคิดสำคัญสองประการสำหรับอุปกรณ์ IoT ของคุณ - เซ็นเซอร์และแอคชูเอเตอร์ คุณจะได้ทดลองใช้งานจริง โดยเพิ่มเซ็นเซอร์วัดแสงในโปรเจกต์ IoT ของคุณ และเพิ่ม LED ที่ควบคุมด้วยระดับแสง สร้างไฟกลางคืนอย่างมีประสิทธิภาพ ในบทเรียนนี้เราจะครอบคลุม: * [เซ็นเซอร์คืออะไร?](../../../../../1-getting-started/lessons/3-sensors-and-actuators) * [การใช้เซ็นเซอร์](../../../../../1-getting-started/lessons/3-sensors-and-actuators) * [ประเภทของเซ็นเซอร์](../../../../../1-getting-started/lessons/3-sensors-and-actuators) * [แอคชูเอเตอร์คืออะไร?](../../../../../1-getting-started/lessons/3-sensors-and-actuators) * [การใช้แอคชูเอเตอร์](../../../../../1-getting-started/lessons/3-sensors-and-actuators) * [ประเภทของแอคชูเอเตอร์](../../../../../1-getting-started/lessons/3-sensors-and-actuators) ## เซ็นเซอร์คืออะไร? เซ็นเซอร์คืออุปกรณ์ฮาร์ดแวร์ที่ตรวจจับโลกทางกายภาพ - กล่าวคือมันวัดคุณสมบัติหนึ่งหรือมากกว่ารอบตัวและส่งข้อมูลไปยังอุปกรณ์ IoT เซ็นเซอร์ครอบคลุมอุปกรณ์หลากหลายประเภท เนื่องจากมีสิ่งที่สามารถวัดได้มากมาย ตั้งแต่คุณสมบัติทางธรรมชาติ เช่น อุณหภูมิอากาศ ไปจนถึงปฏิสัมพันธ์ทางกายภาพ เช่น การเคลื่อนไหว เซ็นเซอร์ทั่วไปบางประเภท ได้แก่: * เซ็นเซอร์วัดอุณหภูมิ - ตรวจจับอุณหภูมิอากาศหรืออุณหภูมิของสิ่งที่มันสัมผัส สำหรับผู้ใช้งานทั่วไปและนักพัฒนา เซ็นเซอร์เหล่านี้มักรวมกับเซ็นเซอร์วัดความดันอากาศและความชื้นในเซ็นเซอร์เดียว * ปุ่มกด - ตรวจจับเมื่อถูกกด * เซ็นเซอร์วัดแสง - ตรวจจับระดับแสง และสามารถตรวจจับสีเฉพาะ แสง UV แสง IR หรือแสงที่มองเห็นทั่วไป * กล้อง - ตรวจจับภาพของโลกโดยการถ่ายภาพหรือสตรีมวิดีโอ * Accelerometers - ตรวจจับการเคลื่อนไหวในหลายทิศทาง * ไมโครโฟน - ตรวจจับเสียง ทั้งระดับเสียงทั่วไปหรือเสียงในทิศทางเฉพาะ ✅ ลองค้นคว้าดูว่าโทรศัพท์ของคุณมีเซ็นเซอร์อะไรบ้าง? เซ็นเซอร์ทั้งหมดมีสิ่งหนึ่งที่เหมือนกัน - พวกมันแปลงสิ่งที่ตรวจจับเป็นสัญญาณไฟฟ้าที่สามารถตีความโดยอุปกรณ์ IoT วิธีการตีความสัญญาณไฟฟ้านี้ขึ้นอยู่กับเซ็นเซอร์ รวมถึงโปรโตคอลการสื่อสารที่ใช้ในการสื่อสารกับอุปกรณ์ IoT ## การใช้เซ็นเซอร์ ทำตามคู่มือที่เกี่ยวข้องด้านล่างเพื่อเพิ่มเซ็นเซอร์ในอุปกรณ์ IoT ของคุณ: * [Arduino - Wio Terminal](wio-terminal-sensor.md) * [คอมพิวเตอร์บอร์ดเดี่ยว - Raspberry Pi](pi-sensor.md) * [คอมพิวเตอร์บอร์ดเดี่ยว - อุปกรณ์เสมือน](virtual-device-sensor.md) ## ประเภทของเซ็นเซอร์ เซ็นเซอร์แบ่งออกเป็นแบบอนาล็อกหรือดิจิทัล ### เซ็นเซอร์อนาล็อก เซ็นเซอร์อนาล็อกเป็นเซ็นเซอร์พื้นฐานที่สุดบางประเภท เซ็นเซอร์เหล่านี้รับแรงดันไฟฟ้าจากอุปกรณ์ IoT ส่วนประกอบของเซ็นเซอร์ปรับแรงดันไฟฟ้านี้ และแรงดันไฟฟ้าที่ส่งกลับจากเซ็นเซอร์จะถูกวัดเพื่อให้ได้ค่าของเซ็นเซอร์ > 🎓 แรงดันไฟฟ้าคือการวัดว่ามีแรงผลักมากแค่ไหนในการเคลื่อนย้ายไฟฟ้าจากที่หนึ่งไปยังอีกที่หนึ่ง เช่น จากขั้วบวกของแบตเตอรี่ไปยังขั้วลบ ตัวอย่างเช่น แบตเตอรี่ AA มาตรฐานมีแรงดันไฟฟ้า 1.5V (V คือสัญลักษณ์ของโวลต์) และสามารถผลักไฟฟ้าด้วยแรง 1.5V จากขั้วบวกไปยังขั้วลบ ฮาร์ดแวร์ไฟฟ้าต่าง ๆ ต้องการแรงดันไฟฟ้าที่แตกต่างกันเพื่อทำงาน เช่น LED สามารถส่องสว่างได้ด้วยแรงดันไฟฟ้าระหว่าง 2-3V แต่หลอดไฟฟิลาเมนต์ 100W จะต้องการแรงดันไฟฟ้า 240V คุณสามารถอ่านเพิ่มเติมเกี่ยวกับแรงดันไฟฟ้าได้ที่ [หน้าแรงดันไฟฟ้าบน Wikipedia](https://wikipedia.org/wiki/Voltage) ตัวอย่างหนึ่งคือโพเทนชิโอมิเตอร์ นี่คือปุ่มหมุนที่คุณสามารถหมุนระหว่างสองตำแหน่ง และเซ็นเซอร์จะวัดการหมุน ![โพเทนชิโอมิเตอร์ที่ตั้งค่าไว้ที่จุดกึ่งกลาง โดยส่งแรงดันไฟฟ้า 5 โวลต์และส่งกลับ 3.8 โวลต์](../../../../../translated_images/potentiometer.35a348b9ce22f6ec1199ad37d68692d04185456ccbc2541a454bb6698be9f19c.th.png) อุปกรณ์ IoT จะส่งสัญญาณไฟฟ้าไปยังโพเทนชิโอมิเตอร์ที่แรงดันไฟฟ้า เช่น 5 โวลต์ (5V) เมื่อโพเทนชิโอมิเตอร์ถูกปรับ มันจะเปลี่ยนแรงดันไฟฟ้าที่ออกมาจากอีกด้านหนึ่ง ลองจินตนาการว่าคุณมีโพเทนชิโอมิเตอร์ที่มีป้ายกำกับเป็นปุ่มหมุนที่ไปจาก 0 ถึง [11](https://wikipedia.org/wiki/Up_to_eleven) เช่น ปุ่มปรับระดับเสียงบนแอมพลิฟายเออร์ เมื่อโพเทนชิโอมิเตอร์อยู่ในตำแหน่งปิดเต็มที่ (0) จะส่งออก 0V (0 โวลต์) เมื่ออยู่ในตำแหน่งเปิดเต็มที่ (11) จะส่งออก 5V (5 โวลต์) > 🎓 นี่เป็นการอธิบายแบบง่ายเกินไป คุณสามารถอ่านเพิ่มเติมเกี่ยวกับโพเทนชิโอมิเตอร์และตัวต้านทานแปรผันได้ที่ [หน้า Wikipedia ของโพเทนชิโอมิเตอร์](https://wikipedia.org/wiki/Potentiometer) แรงดันไฟฟ้าที่ออกมาจากเซ็นเซอร์จะถูกอ่านโดยอุปกรณ์ IoT และอุปกรณ์สามารถตอบสนองต่อมันได้ ขึ้นอยู่กับเซ็นเซอร์ แรงดันไฟฟ้านี้สามารถเป็นค่าที่กำหนดเองหรือสามารถแปลงเป็นหน่วยมาตรฐานได้ ตัวอย่างเช่น เซ็นเซอร์วัดอุณหภูมิแบบอนาล็อกที่ใช้ [thermistor](https://wikipedia.org/wiki/Thermistor) จะเปลี่ยนความต้านทานตามอุณหภูมิ แรงดันไฟฟ้าที่ส่งออกสามารถแปลงเป็นอุณหภูมิในหน่วยเคลวิน และแปลงเป็น °C หรือ °F โดยการคำนวณในโค้ด ✅ คุณคิดว่าจะเกิดอะไรขึ้นถ้าเซ็นเซอร์ส่งแรงดันไฟฟ้าสูงกว่าที่ส่งไป (เช่น มาจากแหล่งจ่ายไฟภายนอก)? ⛔️ ห้ามทดลองสิ่งนี้ #### การแปลงอนาล็อกเป็นดิจิทัล อุปกรณ์ IoT เป็นดิจิทัล - พวกมันไม่สามารถทำงานกับค่าที่เป็นอนาล็อกได้ พวกมันทำงานได้เฉพาะกับ 0 และ 1 เท่านั้น ซึ่งหมายความว่าค่าของเซ็นเซอร์อนาล็อกต้องถูกแปลงเป็นสัญญาณดิจิทัลก่อนที่จะสามารถประมวลผลได้ อุปกรณ์ IoT หลายตัวมีตัวแปลงอนาล็อกเป็นดิจิทัล (ADCs) เพื่อแปลงอินพุตอนาล็อกเป็นค่าดิจิทัล เซ็นเซอร์ยังสามารถทำงานกับ ADCs ผ่านบอร์ดเชื่อมต่อได้ ตัวอย่างเช่น ในระบบ Seeed Grove กับ Raspberry Pi เซ็นเซอร์อนาล็อกจะเชื่อมต่อกับพอร์ตเฉพาะบน 'hat' ที่ติดตั้งบน Pi ซึ่งเชื่อมต่อกับ GPIO pins ของ Pi และ hat นี้มี ADC เพื่อแปลงแรงดันไฟฟ้าเป็นสัญญาณดิจิทัลที่สามารถส่งออกจาก GPIO pins ของ Pi ลองจินตนาการว่าคุณมีเซ็นเซอร์วัดแสงแบบอนาล็อกที่เชื่อมต่อกับอุปกรณ์ IoT ที่ใช้แรงดันไฟฟ้า 3.3V และส่งค่ากลับมาเป็น 1V ค่า 1V นี้ไม่มีความหมายในโลกดิจิทัล ดังนั้นจึงต้องถูกแปลง แรงดันไฟฟ้าจะถูกแปลงเป็นค่าที่เป็นอนาล็อกโดยใช้สเกลขึ้นอยู่กับอุปกรณ์และเซ็นเซอร์ ตัวอย่างหนึ่งคือเซ็นเซอร์วัดแสง Seeed Grove ซึ่งส่งออกค่าตั้งแต่ 0 ถึง 1,023 สำหรับเซ็นเซอร์นี้ที่ทำงานที่ 3.3V ค่า 1V ที่ส่งออกจะเป็นค่า 300 อุปกรณ์ IoT ไม่สามารถจัดการกับ 300 เป็นค่าที่เป็นอนาล็อกได้ ดังนั้นค่าจะถูกแปลงเป็น `0000000100101100` ซึ่งเป็นค่าบินารีของ 300 โดย Grove hat จากนั้นจะถูกประมวลผลโดยอุปกรณ์ IoT ✅ หากคุณไม่รู้จักระบบเลขฐานสอง ลองค้นคว้าเล็กน้อยเพื่อเรียนรู้ว่าตัวเลขถูกแทนด้วย 0 และ 1 อย่างไร [บทเรียนแนะนำระบบเลขฐานสองของ BBC Bitesize](https://www.bbc.co.uk/bitesize/guides/zwsbwmn/revision/1) เป็นจุดเริ่มต้นที่ดี จากมุมมองของการเขียนโค้ด สิ่งเหล่านี้มักถูกจัดการโดยไลบรารีที่มาพร้อมกับเซ็นเซอร์ ดังนั้นคุณไม่จำเป็นต้องกังวลเกี่ยวกับการแปลงนี้เอง สำหรับเซ็นเซอร์วัดแสง Grove คุณจะใช้ไลบรารี Python และเรียกใช้ property `light` หรือใช้ไลบรารี Arduino และเรียกใช้ `analogRead` เพื่อรับค่า 300 ### เซ็นเซอร์ดิจิทัล เซ็นเซอร์ดิจิทัล เช่นเดียวกับเซ็นเซอร์อนาล็อก ตรวจจับโลกโดยรอบโดยใช้การเปลี่ยนแปลงในแรงดันไฟฟ้า ความแตกต่างคือพวกมันส่งออกสัญญาณดิจิทัล โดยวัดเพียงสองสถานะหรือใช้ ADC ในตัว เซ็นเซอร์ดิจิทัลกำลังเป็นที่นิยมมากขึ้นเรื่อย ๆ เพื่อหลีกเลี่ยงความจำเป็นในการใช้ ADC ทั้งในบอร์ดเชื่อมต่อหรือในอุปกรณ์ IoT เอง เซ็นเซอร์ดิจิทัลที่ง่ายที่สุดคือปุ่มกดหรือสวิตช์ นี่คือเซ็นเซอร์ที่มีสองสถานะ เปิดหรือปิด ![ปุ่มกดที่ส่งแรงดันไฟฟ้า 5 โวลต์ เมื่อไม่ได้กดจะส่งกลับ 0 โวลต์ เมื่อกดจะส่งกลับ 5 โวลต์](../../../../../translated_images/button.eadb560b77ac45e56f523d9d8876e40444f63b419e33eb820082d461fa79490b.th.png) Pins บนอุปกรณ์ IoT เช่น GPIO pins สามารถวัดสัญญาณนี้โดยตรงเป็น 0 หรือ 1 หากแรงดันไฟฟ้าที่ส่งเท่ากับแรงดันไฟฟ้าที่ส่งกลับ ค่าที่อ่านได้คือ 1 มิฉะนั้นค่าที่อ่านได้คือ 0 ไม่จำเป็นต้องแปลงสัญญาณ มันสามารถเป็นได้แค่ 1 หรือ 0 > 💁 แรงดันไฟฟ้าไม่เคยแม่นยำโดยเฉพาะอย่างยิ่งเมื่อส่วนประกอบในเซ็นเซอร์มีความต้านทาน ดังนั้นจึงมักมีค่าความคลาดเคลื่อน ตัวอย่างเช่น GPIO pins บน Raspberry Pi ทำงานที่ 3.3V และอ่านสัญญาณส่งกลับที่สูงกว่า 1.8V เป็น 1 ต่ำกว่า 1.8V เป็น 0 * 3.3V เข้าสู่ปุ่มกด ปุ่มกดปิด ดังนั้นส่งออก 0V ให้ค่า 0 * 3.3V เข้าสู่ปุ่มกด ปุ่มกดเปิด ดังนั้นส่งออก 3.3V ให้ค่า 1 เซ็นเซอร์ดิจิทัลที่ซับซ้อนมากขึ้นจะอ่านค่าที่เป็นอนาล็อก จากนั้นแปลงค่าด้วย ADC ในตัวเพื่อเป็นสัญญาณดิจิทัล ตัวอย่างเช่น เซ็นเซอร์วัดอุณหภูมิแบบดิจิทัลยังคงใช้ thermocouple ในลักษณะเดียวกับเซ็นเซอร์อนาล็อก และยังคงวัดการเปลี่ยนแปลงในแรงดันไฟฟ้าที่เกิดจากความต้านทานของ thermocouple ที่อุณหภูมิปัจจุบัน แทนที่จะส่งค่าที่เป็นอนาล็อกและพึ่งพาอุปกรณ์หรือบอร์ดเชื่อมต่อเพื่อแปลงเป็นสัญญาณดิจิทัล ADC ที่สร้างขึ้นในเซ็นเซอร์จะทำการแปลงค่าและส่งเป็นชุดของ 0 และ 1 ไปยังอุปกรณ์ IoT 0 และ 1 เหล่านี้จะถูกส่งในลักษณะเดียวกับสัญญาณดิจิทัลสำหรับปุ่มกด โดย 1 เป็นแรงดันไฟฟ้าเต็มและ 0 เป็น 0V ![เซ็นเซอร์วัดอุณหภูมิแบบดิจิทัลที่แปลงค่าที่เป็นอนาล็อกเป็นข้อมูลแบบไบนารี โดย 0 เป็น 0 โวลต์ และ 1 เป็น 5 โวลต์ก่อนส่งไปยังอุปกรณ์ IoT](../../../../../translated_images/temperature-as-digital.85004491b977bae1129707df107c0b19fe6fc6374210e9027e04acb34a640c78.th.png) การส่งข้อมูลดิจิทัลช่วยให้เซ็นเซอร์มีความซับซ้อนมากขึ้นและส่งข้อมูลที่ละเอียดมากขึ้น แม้กระทั่งข้อมูลที่เข้ารหัสสำหรับเซ็นเซอร์ที่ปลอดภัย ตัวอย่างหนึ่งคือกล้อง นี่คือเซ็นเซอร์ที่จับภาพและส่งเป็นข้อมูลดิจิทัลที่มีภาพนั้น โดยปกติในรูปแบบที่บีบอัด เช่น JPEG เพื่อให้สามารถอ่านได้โดยอุปกรณ์ IoT มันยังสามารถสตรีมวิดีโอโดยการจับภาพและส่งทั้งภาพทีละเฟรมหรือสตรีมวิดีโอที่บีบอัด ## แอคชูเอเตอร์คืออะไร? แอคชูเอเตอร์คือสิ่งที่ตรงกันข้ามกับเซ็นเซอร์ - พวกมันแปลงสัญญาณไฟฟ้าจากอุปกรณ์ IoT ของคุณเป็นปฏิสัมพันธ์กับโลกทางกายภาพ เช่น การปล่อยแสงหรือเสียง หรือการเคลื่อนที่ของมอเตอร์ แอคชูเอเตอร์ทั่วไปบางประเภท ได้แก่: * LED - ปล่อยแสงเมื่อเปิด * ลำโพง - ปล่อยเสียงตามสัญญาณที่ส่งไปยังมัน ตั้งแต่เสียงบี๊บพื้นฐานไปจนถึงลำโพงเสียงที่สามารถเล่นเพลง * มอเตอร์แบบสเต็ปเปอร์ - แปลงสัญญาณเป็นการหมุนในปริมาณที่กำหนด เช่น หมุนปุ่ม 90° * รีเลย์ - เป็นสวิตช์ที่สามารถเปิดหรือปิดด้วยสัญญาณไฟฟ้า พวกมันช่วยให้แรงดันไฟฟ้าขนาดเล็กจากอุปกรณ์ IoT เปิดแรงดันไฟฟ้าขนาดใหญ่ * หน้าจอ - เป็นแอคชูเอเตอร์ที่ซับซ้อนมากขึ้นและแสดงข้อมูลบนจอแสดงผลหลายส่วน หน้าจอมีตั้งแต่จอ LED แบบง่ายไปจนถึงจอวิดีโอความละเอียดสูง ✅ ลองค้นคว้าดูว่าโทรศัพท์ของคุณมีแอคชูเอเตอร์อะไรบ้าง? ## การใช้แอคชูเอเตอร์ ทำตามคู่มือที่เกี่ยวข้องด้านล่างเพื่อเพิ่มแอคชูเอเตอร์ในอุปกรณ์ IoT ของคุณ โดยควบคุมด้วยเซ็นเซอร์ เพื่อสร้างไฟกลางคืน IoT มันจะรวบรวมระดับแสงจากเซ ![หลอดไฟหรี่แสงที่แรงดันต่ำและสว่างขึ้นที่แรงดันสูง](../../../../../translated_images/dimmable-light.9ceffeb195dec1a849da718b2d71b32c35171ff7dfea9c07bbf82646a67acf6b.th.png) เช่นเดียวกับเซ็นเซอร์ อุปกรณ์ IoT จริงๆ ทำงานด้วยสัญญาณดิจิทัล ไม่ใช่อนาล็อก ซึ่งหมายความว่าในการส่งสัญญาณอนาล็อก อุปกรณ์ IoT จำเป็นต้องมีตัวแปลงดิจิทัลเป็นอนาล็อก (DAC) ซึ่งอาจอยู่ในตัวอุปกรณ์ IoT โดยตรงหรืออยู่บนบอร์ดเชื่อมต่อ ตัวแปลงนี้จะเปลี่ยน 0 และ 1 จากอุปกรณ์ IoT ให้เป็นแรงดันไฟฟ้าอนาล็อกที่แอคชูเอเตอร์สามารถใช้งานได้ ✅ คุณคิดว่าจะเกิดอะไรขึ้นถ้าอุปกรณ์ IoT ส่งแรงดันไฟฟ้าที่สูงกว่าแอคชูเอเตอร์จะรับได้? ⛔️ ห้ามทดลองเรื่องนี้เด็ดขาด #### การมอดูเลตความกว้างพัลส์ (Pulse-Width Modulation) อีกวิธีหนึ่งในการแปลงสัญญาณดิจิทัลจากอุปกรณ์ IoT ให้เป็นสัญญาณอนาล็อกคือการมอดูเลตความกว้างพัลส์ (PWM) วิธีนี้เกี่ยวข้องกับการส่งพัลส์ดิจิทัลสั้นๆ จำนวนมากที่ทำหน้าที่เหมือนเป็นสัญญาณอนาล็อก ตัวอย่างเช่น คุณสามารถใช้ PWM เพื่อควบคุมความเร็วของมอเตอร์ ลองจินตนาการว่าคุณกำลังควบคุมมอเตอร์ด้วยแหล่งจ่ายไฟ 5V คุณส่งพัลส์สั้นๆ ไปยังมอเตอร์ของคุณ โดยเปลี่ยนแรงดันไฟฟ้าเป็นสูง (5V) เป็นเวลา 0.02 วินาที ในช่วงเวลานั้นมอเตอร์ของคุณสามารถหมุนได้หนึ่งในสิบของรอบ หรือ 36° จากนั้นสัญญาณจะหยุดชั่วคราวเป็นเวลา 0.02 วินาที โดยส่งสัญญาณต่ำ (0V) แต่ละรอบของการเปิดและปิดใช้เวลา 0.04 วินาที และรอบนี้จะทำซ้ำ ![การมอดูเลตความกว้างพัลส์ที่ทำให้มอเตอร์หมุนที่ 150 RPM](../../../../../translated_images/pwm-motor-150rpm.83347ac04ca38482bd120939b133803963c9c15ca9d8d484712a4bd92820f6a4.th.png) ซึ่งหมายความว่าในหนึ่งวินาที คุณมีพัลส์ 5V จำนวน 25 ครั้งที่มีความยาว 0.02 วินาที ซึ่งทำให้มอเตอร์หมุน และตามด้วยการหยุดชั่วคราว 0.02 วินาทีที่ 0V ซึ่งมอเตอร์ไม่หมุน แต่ละพัลส์ทำให้มอเตอร์หมุนหนึ่งในสิบของรอบ ซึ่งหมายความว่ามอเตอร์หมุนได้ 2.5 รอบต่อวินาที คุณได้ใช้สัญญาณดิจิทัลเพื่อหมุนมอเตอร์ที่ 2.5 รอบต่อวินาที หรือ 150 [รอบต่อนาที](https://wikipedia.org/wiki/Revolutions_per_minute) (หน่วยวัดความเร็วเชิงมุมที่ไม่เป็นมาตรฐาน) ```output 25 pulses per second x 0.1 rotations per pulse = 2.5 rotations per second 2.5 rotations per second x 60 seconds in a minute = 150rpm ``` > 🎓 เมื่อสัญญาณ PWM เปิดครึ่งหนึ่งของเวลาและปิดครึ่งหนึ่ง จะเรียกว่า [50% duty cycle](https://wikipedia.org/wiki/Duty_cycle) Duty cycle วัดเป็นเปอร์เซ็นต์ของเวลาที่สัญญาณอยู่ในสถานะเปิดเมื่อเทียบกับสถานะปิด ![การมอดูเลตความกว้างพัลส์ที่ทำให้มอเตอร์หมุนที่ 75 RPM](../../../../../translated_images/pwm-motor-75rpm.a5e4c939934b6e14fd9e98e4f2c9539d723da2b18f490eae0948dd044d18ff7e.th.png) คุณสามารถเปลี่ยนความเร็วของมอเตอร์ได้โดยการเปลี่ยนขนาดของพัลส์ ตัวอย่างเช่น ด้วยมอเตอร์ตัวเดิม คุณสามารถคงเวลาในรอบไว้ที่ 0.04 วินาที โดยลดความยาวของพัลส์เปิดลงครึ่งหนึ่งเป็น 0.01 วินาที และเพิ่มความยาวของพัลส์ปิดเป็น 0.03 วินาที คุณยังคงมีจำนวนพัลส์ต่อวินาทีเท่าเดิม (25) แต่แต่ละพัลส์เปิดมีความยาวเพียงครึ่งเดียว พัลส์ที่สั้นลงครึ่งหนึ่งจะทำให้มอเตอร์หมุนเพียงหนึ่งในยี่สิบของรอบ และที่ 25 พัลส์ต่อวินาที มอเตอร์จะหมุนได้ 1.25 รอบต่อวินาที หรือ 75rpm โดยการเปลี่ยนความเร็วของพัลส์ในสัญญาณดิจิทัล คุณได้ลดความเร็วของมอเตอร์อนาล็อกลงครึ่งหนึ่ง ```output 25 pulses per second x 0.05 rotations per pulse = 1.25 rotations per second 1.25 rotations per second x 60 seconds in a minute = 75rpm ``` ✅ คุณจะทำให้การหมุนของมอเตอร์ราบรื่นได้อย่างไร โดยเฉพาะที่ความเร็วต่ำ? คุณจะใช้พัลส์ยาวๆ จำนวนน้อยที่มีช่วงหยุดยาว หรือพัลส์สั้นๆ จำนวนมากที่มีช่วงหยุดสั้น? > 💁 เซ็นเซอร์บางชนิดยังใช้ PWM เพื่อแปลงสัญญาณอนาล็อกเป็นสัญญาณดิจิทัลด้วย > 🎓 คุณสามารถอ่านเพิ่มเติมเกี่ยวกับการมอดูเลตความกว้างพัลส์ได้ที่ [หน้าการมอดูเลตความกว้างพัลส์ใน Wikipedia](https://wikipedia.org/wiki/Pulse-width_modulation) ### แอคชูเอเตอร์ดิจิทัล แอคชูเอเตอร์ดิจิทัล เช่นเดียวกับเซ็นเซอร์ดิจิทัล มีสองสถานะที่ควบคุมด้วยแรงดันไฟฟ้าสูงหรือต่ำ หรือมี DAC ในตัวเพื่อแปลงสัญญาณดิจิทัลเป็นอนาล็อก แอคชูเอเตอร์ดิจิทัลที่ง่ายที่สุดตัวหนึ่งคือ LED เมื่ออุปกรณ์ส่งสัญญาณดิจิทัลเป็น 1 แรงดันไฟฟ้าสูงจะถูกส่งไปเพื่อเปิดไฟ LED เมื่อส่งสัญญาณดิจิทัลเป็น 0 แรงดันไฟฟ้าจะลดลงเป็น 0V และ LED จะดับ ![LED ดับที่ 0 โวลต์และสว่างที่ 5V](../../../../../translated_images/led.ec6d94f66676a174ad06d9fa9ea49c2ee89beb18b312d5c6476467c66375b07f.th.png) ✅ คุณคิดว่าแอคชูเอเตอร์แบบ 2 สถานะที่ง่ายๆ อื่นๆ มีอะไรบ้าง? ตัวอย่างหนึ่งคือโซลินอยด์ ซึ่งเป็นแม่เหล็กไฟฟ้าที่สามารถเปิดใช้งานเพื่อทำสิ่งต่างๆ เช่น เลื่อนกลอนประตูเพื่อล็อกหรือปลดล็อกประตู แอคชูเอเตอร์ดิจิทัลที่ซับซ้อนมากขึ้น เช่น หน้าจอ ต้องการให้ส่งข้อมูลดิจิทัลในรูปแบบที่กำหนดไว้ โดยปกติจะมาพร้อมกับไลบรารีที่ทำให้ง่ายต่อการส่งข้อมูลที่ถูกต้องเพื่อควบคุมพวกมัน --- ## 🚀 ความท้าทาย ความท้าทายในสองบทเรียนที่ผ่านมาคือการลิสต์อุปกรณ์ IoT ให้ได้มากที่สุดที่คุณมีในบ้าน โรงเรียน หรือที่ทำงาน และตัดสินใจว่าอุปกรณ์เหล่านั้นสร้างขึ้นจากไมโครคอนโทรลเลอร์หรือคอมพิวเตอร์บอร์ดเดี่ยว หรืออาจเป็นการผสมผสานของทั้งสองอย่าง สำหรับอุปกรณ์ทุกชิ้นที่คุณลิสต์ไว้ เซ็นเซอร์และแอคชูเอเตอร์ที่เชื่อมต่อกับมันคืออะไร? และเซ็นเซอร์และแอคชูเอเตอร์แต่ละตัวมีวัตถุประสงค์อะไร? ## แบบทดสอบหลังบทเรียน [แบบทดสอบหลังบทเรียน](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/6) ## ทบทวน & ศึกษาด้วยตัวเอง * อ่านเกี่ยวกับไฟฟ้าและวงจรได้ที่ [ThingLearn](http://thinglearn.jenlooper.com/curriculum/) * อ่านเกี่ยวกับประเภทต่างๆ ของเซ็นเซอร์วัดอุณหภูมิได้ที่ [คู่มือเซ็นเซอร์วัดอุณหภูมิของ Seeed Studios](https://www.seeedstudio.com/blog/2019/10/14/temperature-sensors-for-arduino-projects/) * อ่านเกี่ยวกับ LED ได้ที่ [หน้าวิกิพีเดียเกี่ยวกับ LED](https://wikipedia.org/wiki/Light-emitting_diode) ## การบ้าน [ค้นคว้าเกี่ยวกับเซ็นเซอร์และแอคชูเอเตอร์](assignment.md) --- **ข้อจำกัดความรับผิดชอบ**: เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) แม้ว่าเราจะพยายามให้การแปลมีความถูกต้องมากที่สุด แต่โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้