สารบัญ:

Snap Circuits และ IoT: 3 ขั้นตอน
Snap Circuits และ IoT: 3 ขั้นตอน

วีดีโอ: Snap Circuits และ IoT: 3 ขั้นตอน

วีดีโอ: Snap Circuits และ IoT: 3 ขั้นตอน
วีดีโอ: Snap Circuits® Discover Coding Tutorial 2024, กรกฎาคม
Anonim
วงจรสแนปและ IoT
วงจรสแนปและ IoT
วงจรสแนปและ IoT
วงจรสแนปและ IoT

ในกิจกรรมนี้ เด็กๆ จะได้เรียนรู้ว่า IoT มีส่วนช่วยในการใช้พลังงานอย่างมีประสิทธิภาพของบ้านได้อย่างไร

พวกเขาจะตั้งค่าบ้านจิ๋วโดยใช้วงจรสแน็ป และจะตั้งโปรแกรมอุปกรณ์ต่าง ๆ ผ่าน ESP32 โดยเฉพาะอย่างยิ่ง:

ตรวจสอบพารามิเตอร์ด้านสิ่งแวดล้อม (ความชื้นอุณหภูมิ) ในอุปกรณ์ควบคุมแบบเรียลไทม์จากระยะไกลผ่าน Blynk

การแนะนำ

ประสิทธิภาพการใช้พลังงานอาจได้รับผลกระทบจากตำแหน่งของบ้านในแง่ของแสงแดด ลมที่พัด ฯลฯ ตัวอย่างเช่น หากต้องการเพิ่มประสิทธิภาพพลังงาน บุคคลหนึ่งจะต้องการวางตำแหน่งบ้านที่หันไปทางทิศใต้เพื่อให้ได้รับแสงแดด สามารถให้แสงธรรมชาติได้

ปัจจัยอื่นๆ ที่ควรพิจารณาเพื่อเพิ่มประสิทธิภาพในการใช้พลังงานสูงสุดนั้นเกี่ยวข้องโดยตรงกับอุปกรณ์ที่คุณใช้

นี่คือเคล็ดลับบางประการ:

ใช้อุปกรณ์อัจฉริยะ เช่น หลอดไฟที่เปิดในเวลากลางคืนและปิดอัตโนมัติในระหว่างวัน ใช้ปลั๊กอัจฉริยะที่มีปุ่มเปิดปิดที่สามารถตั้งโปรแกรมให้เปิดและปิดได้ตามเวลาที่กำหนด เชื่อมต่ออุปกรณ์ของคุณเข้ากับอินเทอร์เน็ต เพื่อให้คุณควบคุมอุปกรณ์จากระยะไกลได้จากทุกที่

เสบียง

  • 1x บอร์ด ESP32 + สาย USB
  • สายจระเข้
  • 1x DHT11 เซ็นเซอร์
  • 1x เซ็นเซอร์ LDR
  • ตัวต้านทาน 1x 10kohm
  • เขียงหั่นขนม
  • สายจัมเปอร์
  • วงจรสแนป
  • บ้านจิ๋ว

ขั้นตอนที่ 1: การตั้งค่าบ้านจิ๋ว

ในการเริ่มต้น เด็ก ๆ จะต้องสร้างหรือประกอบบ้านขนาดเล็ก พวกเขาสามารถสร้างขึ้นโดยใช้กระดาษแข็ง หรือคุณสามารถตัดด้วยเลเซอร์ล่วงหน้าได้ เช่น แผ่น MDF หนา 3 มม. นี่คือการออกแบบบ้านขนาดเล็กพร้อมสำหรับการตัดด้วยเลเซอร์

ขั้นตอนที่ 2: ตรวจสอบอุณหภูมิ ความชื้น และแสงด้วย Blynk

การตรวจสอบอุณหภูมิ ความชื้น และแสงด้วย Blynk
การตรวจสอบอุณหภูมิ ความชื้น และแสงด้วย Blynk
การตรวจสอบอุณหภูมิ ความชื้น และแสงด้วย Blynk
การตรวจสอบอุณหภูมิ ความชื้น และแสงด้วย Blynk
การตรวจสอบอุณหภูมิ ความชื้น และแสงด้วย Blynk
การตรวจสอบอุณหภูมิ ความชื้น และแสงด้วย Blynk

เด็ก ๆ จะได้รับการตั้งค่าโครงการ Blynk ที่ช่วยให้พวกเขาตรวจสอบพารามิเตอร์ที่บันทึกโดยเซ็นเซอร์อุณหภูมิ/ความชื้นและแสงที่อยู่ในบ้านขนาดเล็กของพวกเขา

ขั้นแรก เชื่อมต่อสแน็ป LDR และ DHT เข้ากับบอร์ด ESP32 เชื่อมต่อดาต้าพินของเซ็นเซอร์ DHT เข้ากับพิน 4 บนบอร์ด ESP32 เชื่อมต่อสแน็ป LDR เพื่อพิน 34 บน ESP32

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

สร้างโครงการใหม่ในแอป BLYNK

หลังจากที่คุณลงชื่อเข้าใช้บัญชีสำเร็จแล้ว ให้เริ่มต้นด้วยการสร้างโครงการใหม่

เลือกฮาร์ดแวร์ของคุณ

เลือกรุ่นฮาร์ดแวร์ที่คุณจะใช้ หากคุณกำลังติดตามบทช่วยสอนนี้ คุณอาจจะใช้บอร์ด ESP32

AUTH TOKEN

Auth Token เป็นตัวระบุเฉพาะซึ่งจำเป็นสำหรับการเชื่อมต่อฮาร์ดแวร์ของคุณกับสมาร์ทโฟนของคุณ ทุกโครงการใหม่ที่คุณสร้างจะมี Auth Token ของตัวเอง คุณจะได้รับ Auth Token โดยอัตโนมัติในอีเมลของคุณหลังจากสร้างโครงการ คุณยังสามารถคัดลอกได้ด้วยตนเอง คลิกที่ส่วนอุปกรณ์และเลือกอุปกรณ์ที่ต้องการ

กำหนดค่าวิดเจ็ตการแสดงผลมูลค่า

ลากและวาง 3 ค่าแสดงวิดเจ็ต

กำหนดค่าดังต่อไปนี้:

1) ตั้งค่าอินพุตเป็น V5 ตั้งแต่ 0 ถึง 1023 ตั้งค่าช่วงเวลารีเฟรชเป็น Push2) ตั้งค่าอินพุตเป็น V6 ตั้งแต่ 0 ถึง 1023 ตั้งค่าช่วงเวลารีเฟรชเป็น Push

3) ตั้งค่าอินพุตเป็น V0, จาก 0 ถึง 1023 ตั้งค่าช่วงเวลารีเฟรชเป็น Push

วิดเจ็ตการแสดงผลแรกจะได้รับค่าความชื้นจากเซ็นเซอร์ DHT และแสดงบนแอป วิดเจ็ตการแสดงผลที่สองจะได้รับค่าอุณหภูมิผ่าน Wi-Fi วิดเจ็ตการแสดงผลที่สามจะแสดงค่าของแสงที่บันทึกโดยเซ็นเซอร์ LDR

โปรแกรมบอร์ด ESP32

เปิด Arduino IDE เลือกบอร์ดและพอร์ตที่ถูกต้อง - ใต้เมนู "เครื่องมือ" - วางโค้ดด้านล่างลงในซอฟต์แวร์และอัปโหลดไปยังบอร์ด

#define BLYNK_PRINT ซีเรียล

#รวม #รวม #รวม #รวม

// คุณควรได้รับ Auth Token ในแอป Blynk // ไปที่การตั้งค่าโครงการ (ไอคอนน็อต) char auth = "726e035ec85946ad82c3a2bb03015e5f";

// ข้อมูลรับรอง WiFi ของคุณ // ตั้งรหัสผ่านเป็น "" สำหรับเครือข่ายที่เปิดอยู่ ถ่าน ssid = "TISCALI-301DC1"; ถ่านผ่าน = "ewkvt+dGc1Mx";

const int analogPin = 34; // อินพุตอนาล็อกพิน 0 (GPIO 36) int sensorValue = 0; // ค่าที่อ่านจาก ADC

#define DHTPIN 4 // พินดิจิทัลใดที่เราเชื่อมต่อกับ

// Uncomment สิ่งที่คุณกำลังใช้! #define DHTTYPE DHT11 // DHT 11 //#define DHTTYPE DHT22 // DHT 22, AM2302, AM2321 //#define DHTTYPE DHT21 // DHT 21, AM2301

DHT dht (DHTPIN, DHTTYPE); ตัวจับเวลา BlynkTimer;

// ฟังก์ชันนี้จะส่งเวลาการทำงานของ Arduino ทุกวินาทีไปยัง Virtual Pin (5) // ในแอพ ความถี่ในการอ่านของ Widget ควรตั้งไว้ที่ PUSH ซึ่งหมายความว่า // คุณกำหนดความถี่ในการส่งข้อมูลไปยัง Blynk App เป็นโมฆะ sendSensor () { float h = dht.readHumidity (); float t = dht.readTemperature(); // หรือ dht.readTemperature(true) สำหรับ Fahrenheit

if (isnan (h) || isnan (t)) { Serial.println ("ไม่สามารถอ่านจากเซ็นเซอร์ DHT!"); กลับ; } // คุณสามารถส่งค่าใดๆ ได้ตลอดเวลา // กรุณาอย่าส่งมากกว่า 10 ค่าต่อวินาที Blynk.virtualWrite(V5, ชั่วโมง); Blynk.virtualWrite(V6, เสื้อ); }

การตั้งค่าเป็นโมฆะ () {// คอนโซลดีบัก Serial.begin (9600);

Blynk.begin(รับรองความถูกต้อง, ssid, ผ่าน); // คุณยังสามารถระบุเซิร์ฟเวอร์: //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80); //Blynk.begin(auth, ssid, pass, IPAddress(192, 168, 1, 100), 8080);

dht.begin();

// ตั้งค่าฟังก์ชันที่จะเรียกทุก ๆ วินาที timer.setInterval(1000L, sendSensor); timer.setInterval (250L, AnalogPinRead); // เรียกใช้เซ็นเซอร์สแกน 4 ครั้งต่อวินาที

}

เป็นโมฆะ AnalogPinRead () { sensorValue = analogRead (analogPin); // อ่านค่าอนาล็อก: Serial.print("sensor = "); // พิมพ์ผลลัพธ์… Serial.println(sensorValue); // …ไปยังมอนิเตอร์แบบอนุกรม: Blynk.virtualWrite(V0, sensorValue); // ส่งผลลัพธ์ไปที่ Gauge Widget }

วงเป็นโมฆะ () { Blynk.run (); timer.run(); }

ขั้นตอนที่ 3: ควบคุมอุปกรณ์ขนาดเล็กจากระยะไกลผ่าน Blynk

ควบคุมเครื่องใช้ไฟฟ้าขนาดเล็กจากระยะไกลผ่าน Blynk
ควบคุมเครื่องใช้ไฟฟ้าขนาดเล็กจากระยะไกลผ่าน Blynk
ควบคุมเครื่องใช้ไฟฟ้าขนาดเล็กจากระยะไกลผ่าน Blynk
ควบคุมเครื่องใช้ไฟฟ้าขนาดเล็กจากระยะไกลผ่าน Blynk
ควบคุมเครื่องใช้ไฟฟ้าขนาดเล็กจากระยะไกลผ่าน Blynk
ควบคุมเครื่องใช้ไฟฟ้าขนาดเล็กจากระยะไกลผ่าน Blynk

ส่วนสุดท้ายของกิจกรรมจะเกี่ยวกับการควบคุมเครื่องใช้ไฟฟ้าทีละตัวจากระยะไกลผ่านแอป blynk

บ้านจิ๋วแต่ละหลังจะต้องมีหลอดไฟขนาดเล็กอย่างน้อยหนึ่งหลอดและเครื่องใช้ไฟฟ้าอื่น (เช่น เครื่องพิมพ์ 3 มิติขนาดเล็ก เตาอบขนาดเล็ก)

ความสามารถในการควบคุมเครื่องใช้จากระยะไกลทำให้ผู้ใช้ได้เปรียบอย่างเห็นได้ชัดว่าสามารถเลือกเวลาที่ใช้งานและเมื่อไม่ได้ใช้งาน ซึ่งช่วยประหยัดพลังงานและทำให้บ้านขนาดเล็กใช้พลังงานอย่างมีประสิทธิภาพมากที่สุด

เราได้ออกแบบอุปกรณ์อิเล็กทรอนิกส์ขนาดเล็กที่พิมพ์ได้ 3 มิติจำนวนหนึ่งที่สามารถวางไว้บนส่วนประกอบสแน็ปได้ ตัวอย่างเช่น คุณสามารถจินตนาการถึงการวางเตาอบขนาดเล็กไว้บน Led หรือเครื่องพิมพ์ 3D ขนาดเล็กบนสแน็ปมอเตอร์แบบสั่นขนาดเล็ก ซึ่งจำลองการทำงานจริงของอุปกรณ์เหล่านั้น

ค้นหาอุปกรณ์ทั้งหมดที่มีสำหรับการพิมพ์ 3 มิติโดยคลิกที่ลิงก์ด้านล่าง:

สแน็ปเซอร์กิตทีวี

เตาวงจรสแน็ป

เครื่องพิมพ์ 3D วงจรสแนป

เครื่องผสมวงจรสแน็ป

เครื่องซักผ้าวงจรสแน็ป

กิจกรรมนี้จะต้องใช้แอปพลิเคชัน Blynk ดังนั้นก่อนอื่นให้ดาวน์โหลด Blynk บนสมาร์ทโฟนของคุณ

สร้างโครงการใหม่ในแอป BLYNK

หลังจากที่คุณลงชื่อเข้าใช้บัญชีสำเร็จแล้ว ให้เริ่มต้นด้วยการสร้างโครงการใหม่

เลือกฮาร์ดแวร์ของคุณ

เลือกรุ่นฮาร์ดแวร์ที่คุณจะใช้ หากคุณกำลังติดตามบทช่วยสอนนี้ คุณอาจจะใช้บอร์ด ESP32

AUTH TOKEN

Auth Token เป็นตัวระบุเฉพาะซึ่งจำเป็นสำหรับการเชื่อมต่อฮาร์ดแวร์ของคุณกับสมาร์ทโฟนของคุณ ทุกโครงการใหม่ที่คุณสร้างจะมี Auth Token ของตัวเอง คุณจะได้รับ Auth Token โดยอัตโนมัติในอีเมลของคุณหลังจากสร้างโครงการ คุณยังสามารถคัดลอกได้ด้วยตนเอง คลิกที่ส่วนอุปกรณ์และเลือกอุปกรณ์ที่ต้องการและคุณจะเห็นโทเค็น

โปรแกรมบอร์ด ESP32

ไปที่เว็บไซต์นี้ เลือกฮาร์ดแวร์ของคุณ โหมดการเชื่อมต่อ (เช่น wi-fi) และเลือกตัวอย่าง Blynk Blink

คัดลอกโค้ดและวางบน Arduino IDE (ก่อนหน้านั้น ตรวจสอบให้แน่ใจว่าคุณเลือกบอร์ดที่ถูกต้องและพอร์ตที่ถูกต้อง - ใต้ "เครื่องมือ"-)

แทนที่ “YourAuthtoken” ด้วยโทเค็นที่มีอยู่ในแอพ แทนที่ “YourNetworkName” และ “YourPassword” ด้วยข้อมูลรับรอง Wi-Fi ของคุณ สุดท้าย อัปโหลดรหัสลงบนกระดาน

ตั้งค่าแอพ BLYNK

ในโปรเจ็กต์ Blynk ของคุณ ให้เลือกวิดเจ็ตปุ่ม มากที่สุดเท่าที่คุณมีเพื่อควบคุมจากระยะไกล ในตัวอย่างของเรา เราจะเพิ่มวิดเจ็ตปุ่มสองปุ่ม เนื่องจากเรามีส่วนสแน็ปช็อตสองส่วนเพื่อควบคุม (ทั้งสองเป็น LED)

จากนั้นเลือกปุ่มแรกและภายใต้เอาต์พุต ให้เลือกพอร์ตที่สแน็ปของคุณเชื่อมต่อกับบอร์ด ESP32 (เช่น GP4) ตรวจสอบให้แน่ใจว่ามี 0 และ 1 ถัดจาก GP4 เช่นเดียวกับในภาพด้านล่าง คุณยังสามารถเลือกได้ว่าปุ่มจะทำงานในโหมดข้าวต้มหรือโหมดสลับ

ทำเช่นเดียวกันกับปุ่มที่สอง เฉพาะครั้งนี้เชื่อมต่อกับพิน ESP32 ที่เกี่ยวข้อง (เช่น GP2)

แนะนำ: