กลับไปหน้ารวมไฟล์
full-control-of-your-tv-using-alexa-and-arduino-iot-cloud-cbef20.md

ชื่อโปรเจกต์: ควบคุมทีวีของคุณได้อย่างเต็มที่ด้วย Alexa และ Arduino IoT Cloud

หมายเหตุ: บทช่วยสอนนี้อาจล้าสมัย โปรดไปที่นี่สำหรับเวอร์ชันล่าสุด

บทนำ: Arduino IoT Cloud

Arduino IoT Cloud เป็นแพลตฟอร์มที่ช่วยให้ทุกคนสามารถสร้างวัตถุที่เชื่อมต่อกับ IoT ได้อย่างง่ายดาย ในการควบคุมทีวีของเราโดยใช้ Alexa เราจะใช้ Official Arduino Alexa Skill ด้วย

หากคุณยังใหม่กับ Arduino IoT Cloud เราขอแนะนำให้คุณดูที่ โปรเจกต์แนะนำนี้ ก่อน ซึ่งจะให้ภาพรวมและแนะนำขั้นตอนการตั้งค่าบอร์ดที่รองรับ, *Things* และ *Properties* ของ IoT Cloud และช่วยให้คุณเริ่มต้นใช้งานได้

ส่วนที่ 1: วิธีการควบคุมเครื่องรับโทรทัศน์

วิธีที่ง่ายที่สุดในการควบคุมโทรทัศน์ทุกชนิดคือการทำตัวเหมือนเป็นรีโมตอินฟราเรดของมันเอง ในการทำเช่นนั้น เราจะต้อง *ฟัง* สัญญาณที่รีโมตจะส่งมา จับข้อมูล และเลียนแบบด้วยบอร์ด Arduino ของเรา เมื่อประกอบวงจรเสร็จแล้ว เราจะอัปโหลด sketch นี้ ไปยังบอร์ดของเรา มันจะแปลง IR signal bursts ที่เกิดจากการกดปุ่มรีโมตให้เป็น array ของ unsigned integers ให้เราชี้รีโมตไปที่ Arduino IR Receiver ที่เราสร้างขึ้น แล้วกดปุ่มต่อไปนี้:

  1. POWER/STANDBY
  1. CHANNELS FROM 1 TO 9
  1. VOLUME UP
  1. VOLUME DOWN
  1. MUTE
  1. CHANNEL UP
  1. CHANNEL DOWN

เราจะเห็นค่าที่ส่งผ่าน *Serial Monitor* โดยรายงานเป็น rawData . ตอนนี้ให้จดบันทึกค่าเหล่านี้ลงในไฟล์ข้อความ และกำหนดชื่อ array ของตัวเองให้กับแต่ละรายการ ( chan1 , chan2 และอื่น ๆ) ค่าต่อไปนี้เป็นเพียงสำหรับการอ้างอิง และถูกสร้างขึ้นจากรีโมตทีวีของ Samsung

ช่อง 1

unsigned int chan1[67] = {4450,4500, 550,1700, 500,1700, 550,1700, 550,550, 550,600, 500,600, 550,550, 550,600, 500,1700, 550,1700, 550,1700, 500,600, 500,600, 550,550, 550,600, 500,600, 550,550, 550,600, 500,1700, 550,600, 500,600, 550,550, 550,600, 500,600, 550,1700, 500,1700, 550,600, 500,1700, 550,1700, 550,1700, 500,1700, 550,1700, 500};

ช่อง 2

unsigned int chan2[67] = {4500,4500, 550,1700, 500,1700, 550,1700, 550,550, 550,550, 550,600, 500,600, 550,600, 500,1700, 550,1700, 500,1700, 550,600, 500,600, 550,550, 550,600, 500,600, 550,1700, 500,600, 550,1700, 500,600, 550,550, 550,600, 500,600, 550,550, 550,650, 450,1700, 550,600, 500,1700, 550,1700, 500,1700, 550,1700, 550,1700, 500};

ช่อง 3

unsigned int chan3[67] = {4500,4500, 500,1700, 550,1700, 550,1700, 500,600, 550,550, 550,600, 500,600, 550,550, 550,1700, 500,1700, 550,1700, 550,550, 550,600, 500,600, 550,550, 550,600, 500,600, 550,1700, 500,1700, 550,600, 550,550, 550,550, 550,600, 550,550, 550,1700, 500,600, 550,550, 550,1650, 550,1700, 550,1700, 500,1700, 600};

ช่อง 4

unsigned int chan4[67] = {4450,4450, 550,1700, 550,1700, 500,1700, 550,600, 500,600, 550,550, 600,550, 500,600, 550,1700, 500,1700, 550,1700, 550,550, 550,600, 500,600, 550,550, 550,600, 500,600, 550,550, 550,600, 500,1700, 550,600, 500,600, 550,550, 550,600, 500,1700, 550,1700, 550,1700, 500,600, 550,1700, 500,1700, 550,1700, 550,1700, 500};

ช่อง 5

unsigned int chan5[67] = {4500,4500, 500,1700, 550,1700, 550,1700, 550,550, 550,550, 550,550, 600,550, 550,550, 550,1700, 550,1650, 550,1700, 550,550, 550,600, 500,600, 550,550, 550,600, 500,1700, 550,600, 500,600, 550,1700, 500,600, 550,550, 550,600, 550,550, 550,550, 550,1700, 550,1700, 500,600, 550,1700, 500,1700, 550,1700, 550,1700, 500};

ช่อง 6

unsigned int chan6[67] = {4500,4500, 550,1650, 550,1700, 550,1700, 500,600, 550,550, 550,600, 500,600, 500,600, 550,1700, 500,1700, 550,1700, 550,550, 600,550, 500,600, 550,550, 600,550, 550,550, 550,1700, 500,600, 550,1700, 500,600, 550,550, 550,600, 500,600, 550,1700, 500,600, 550,1700, 500,600, 550,1650, 600,1650, 550,1700, 550,1650, 600};

ช่อง 7

unsigned int chan7[67] = {4500,4500, 550,1700, 500,1700, 550,1750, 500,550, 550,600, 500,650, 500,550, 550,550, 550,1750, 500,1700, 500,1700, 550,650, 450,650, 500,550, 550,600, 500,650, 500,550, 550,600, 500,1700, 550,1750, 500,600, 500,550, 550,600, 500,650, 500,1750, 450,1700, 550,600, 500,650, 500,1700, 500,1700, 550,1750, 500,1700, 500};

ช่อง 8

unsigned int chan8[67] = {4450,4550, 500,1700, 550,1700, 550,1650, 550,600, 500,600, 550,550, 550,600, 500,600, 550,1700, 500,1700, 550,1700, 550,550, 550,600, 500,600, 550,550, 550,600, 500,1700, 550,600, 500,1700, 550,1700, 500,600, 550,550, 550,650, 450,600, 550,550, 550,1700, 550,550, 550,600, 500,1700, 550,1700, 550,1700, 500,1700, 550};

ช่อง 9

unsigned int chan9[67] = {4450,4500, 550,1700, 550,1700, 500,1700, 550,600, 500,600, 550,550, 550,600, 500,600, 550,1700, 500,1700, 550,1700, 500,600, 550,550, 550,600, 500,600, 550,550, 550,600, 500,1700, 550,1700, 550,1700, 500,600, 550,550, 550,550, 550,600, 500,1700, 550,600, 500,600, 550,550, 550,1700, 550,1700, 500,1700, 550,1700, 550};

เพิ่มเสียง

unsigned int volUp[67] = {4500,4500, 550,1700, 500,1750, 500,1700, 550,600, 500,600, 500,600, 550,550, 550,600, 500,1700, 550,1700, 550,1700, 500,650, 450,600, 550,600, 500,650, 450,650, 500,1700, 500,1750, 500,1750, 500,550, 550,600, 500,650, 500,550, 550,600, 500,650, 500,600, 500,600, 500,1700, 550,1750, 450,1750, 500,1700, 550,1700, 500};

ลดเสียง

unsigned int volDown[67] = {4450,4550, 500,1700, 550,1700, 550,1650, 550,600, 550,550, 550,600, 500,600, 500,600, 550,1700, 500,1700, 550,1700, 550,550, 550,600, 500,600, 550,550, 550,600, 500,1700, 550,1700, 550,600, 500,1700, 550,600, 500,600, 500,600, 550,550, 550,600, 500,650, 500,1700, 500,650, 500,1700, 500,1750, 500,1700, 550,1700, 500};

ช่องถัดไป

unsigned int chanUp[67] = {4500,4450, 550,1700, 550,1650, 550,1700, 550,550, 550,600, 550,550, 550,550, 600,550, 550,1650, 550,1700, 550,1650, 600,550, 550,550, 550,600, 500,600, 550,550, 550,550, 550,1700, 550,550, 600,550, 550,1650, 550,600, 550,550, 550,550, 550,1700, 550,550, 550,1700, 550,1700, 550,550, 550,1650, 600,1650, 550,1700, 550};

ช่องก่อนหน้า

unsigned int chanDown[67] = {4500,4450, 600,1650, 550,1700, 550,1650, 550,600, 550,550, 550,550, 550,600, 500,600, 550,1700, 500,1700, 550,1700, 550,550, 550,600, 550,550, 550,550, 550,550, 600,550, 550,550, 550,600, 500,600, 550,1650, 600,550, 550,550, 550,550, 600,1650, 550,1700, 500,1700, 600,1650, 550,550, 600,1650, 550,1700, 500,1700, 550};

ส่วนที่ 2: Arduino IoT Cloud

จากหน้าหลักของ **Arduino IoT Cloud** เราจะสร้าง *Thing* ใหม่และกำหนดชื่อที่มีความหมายให้มัน เราจะเรียกมันว่า **TVRemoteController** จากนั้นเราจะเลือกบอร์ดที่เราจะใช้ สำหรับบทช่วยสอนนี้ เราใช้ Arduino Nano 33 IoT แต่หากคุณมีบอร์ดอื่นที่เข้ากันได้ก็สามารถใช้ได้เช่นกัน เพียงแต่โปรดจำไว้ว่า pinout และพฤติกรรมของ IR library อาจมีการเปลี่ยนแปลง หากคุณไม่เห็นบอร์ดของคุณในตอนนี้ คุณอาจข้ามขั้นตอน *Getting Started* ที่เราได้กล่าวถึงไป

ข้อมูล Frontmatter ดั้งเดิม

title: "Full Control of Your TV Using Alexa and Arduino IoT Cloud"
description: "Learn how to use Arduino IoT Cloud and Amazon Alexa to switch the channel, adjust the volume and turn on or off any TV."
author: "fmirabito"
category: "Home & Automation"
tags:
  - "Entertainment System"
  - "Home Automation"
  - "Internet Of Things"
  - "Remote Control"
views: 25289
likes: 0
price: 1999
difficulty: "Easy"
components:
  - "1x IR transmitter (generic)"
  - "1x Arduino Nano 33 IoT"
  - "1x Resistor 330 ohm"
  - "1x Jumper wires (generic)"
  - "1x Breadboard (generic)"
  - "1x IR receiver (generic)"
tools: []
apps:
  - "1x Amazon Alexa Official Arduino Skill"
  - "1x Arduino IoT Cloud"
  - "1x Arduino Web Editor"
downloadableFiles:
  - "https://create.arduino.cc/editor/Arduino_Genuino/5a7729ba-5158-4ed1-aa65-7a54278d7817/preview"
documentationLinks: []
passwordHash: "39e9ef316b4ec75c18844a34235673a24f5d80f80b7f8908db665fc5fef40b8e"
encryptedPayload: "U2FsdGVkX1+5NMkxLGy2EkZkIocciu51iD/wKKcxRwZQhC7V2RgOrBse1mpu1JwqhKj/ZaDdbA25cFoJEA7KChkGuyPqQMqt6Jdeq3QlLzFQhnHZTw6ALwIO8rslG00/6x2wtQSTH9qCSJY+mbDHUC7uwb5LQ26WnwW0SQiWqKBXNp/6KRYDED8EUYDLSQsh"
seoDescription: "Control your TV with Alexa and Arduino IoT Cloud. Switch channels, adjust volume, and power on/off easily."
videoLinks: []
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/full-control-of-your-tv-using-alexa-and-arduino-iot-cloud-cbef20_cover.jpg"
lang: "th"