SURATPITTAYA SCHOOL
ว30282เทคนิคปฏิบัติการ 2 (ฟิสิกส์,คอม)
ระดับชั้น ม.4/13
SLIDESMANIA.COM
ว30282เทคนิคปฏิบัติการ 2 (ฟิสิกส์,คอม)
ระดับชั้น ม.4/13
SLIDESMANIA.COM
ระบบอัตโนมัติด้วย Arduino
Project
Tinkercad
Arduino
STEM
ว 20214 ไมโครคอนโทรลเลอร์
หน่วยการเรียนรู้ที่ 2
การพัฒนาระบบอัตโนมัติ
3. เขียนโปรแกรมควบคุมไมโครคอนโทรลเลอร์กับอุปกรณ์กลและเซ็นเซอร์ได้
ผลการเรียนรู้
4. พัฒนาระบบอัตโนมัติโดยใช้ไมโครคอลโทรลเลอร์กับอุปกรณ์กลและเซ็นเซอร์ได้
ผลการเรียนรู้
Arduino
SLIDESMANIA.COM
ทำความรู้จัก Arduino UNO
ทำความรู้จัก Arduino UNO
ทำความรู้จัก Arduino UNO
ขั้นตอนการติดตั้ง Arduino
SLIDESMANIA.COM
เข้ามาที่เว็บไซต์ https://www.arduino.cc/
SLIDESMANIA.COM
คลิกที่ Software เลือก Arduino IDE ให้ตรงกับระบบปฏิบัติการที่ใช้
SLIDESMANIA.COM
คลิกที่ Just Download แต่ถ้าต้องการบริจาคเลือก Contrubute&Download
SLIDESMANIA.COM
ทดลองใช้งานจากตัวอย่าง ไฟล์->ตัวอย่าง->Basic->Fade
SLIDESMANIA.COM
เชื่อมต่ออุปกรณ์ให้ตรงกับโปรแกรม เลือกบอร์ด Arduino Uno �คอมไพล์->อับโหลดโปรแกรมตรวจสอบผลลัพธ์
SLIDESMANIA.COM
ทำความรู้จัก Arduino UNO
ทำความรู้จัก Arduino UNO
พื้นฐานอิเล็กทรอนิกส์
หน่วยของความต้านทาน (Resistance)
ค่าความต้านทานของตัวต้านทาน ถูกกำหนดให้มีหน่วยเรียกเป็น โอห์ม (OHM) เขียนแทนด้วยเครื่องหมายอักษรกรีกโบราณ คือ Ω (โอ เมก้า หรือ โอห์ม) ซึ่งได้จากค่ามาตรฐาน โดยการเอาแรงดันไฟฟ้า 1 โวลต์ ต่อกับความต้านทาน 1 โอห์ม และทำให้มีกระแสไหลในวงจร 1 แอมแปร์ ประกอบด้วย หน่วยค่าความต้านทานต่าง ๆ ดังนี้
1000 Ω(โอห์ม) เท่ากับ 1 KΩ (กิโลโอห์ม)
1000 KΩ (กิโลโอห์ม) เท่ากับ 1 MΩ (เมกกะโอห์ม)
ตัวต้านทาน บอกค่าความสามารถในการทนกำลังไฟฟ้ามีหน่วยเป็น วัตต์ (Watt)
SLIDESMANIA.COM
ถ้านักเรียนต้องการทำไฟกระพริบ 1 ดวง นักเรียนจะมีวิธีการเชื่อมต่อวงจรนี้และเขียนคำสั่งได้อย่างไร
SLIDESMANIA.COM
SLIDESMANIA.COM
ถ้านักเรียนต้องการทำไฟกระพริบหลายดวง นักเรียนจะมีวิธีการเชื่อมต่อวงจรนี้และเขียนคำสั่งได้อย่างไร
SLIDESMANIA.COM
SLIDESMANIA.COM
ถ้านักเรียนต้องการทำไฟวิ่งแถวเดียวจำนวนหลายดวง นักเรียนจะมีวิธีการเชื่อมต่อวงจรนี้และเขียนคำสั่งได้อย่างไร
SLIDESMANIA.COM
SLIDESMANIA.COM
งานที่ 2 ให้นักเรียนศึกษาการออกแบบวงจรและเขียนโปรแกรมการทำไฟกระพริบ 1 ดวง และเชื่อมต่ออุปกรณ์ต่างๆ ลงบอร์ด Arduino UNO อับโหลดโปรแกรม ทดสอบการใช้งาน
(ถ่ายคลิปวิดีโอที่ 1 อธิบายอุปกรณ์ที่ใช้ การออกแบบวงจร การเขียนโปรแกรม และผลการทดสอบ ให้มีเสียงบรรยายด้วย และอับโหลดไปเก็บใน Google Drive โดยสร้าง Folder ชื่อ Arduino แชร์ลิงค์ Folder ให้ทุกคนที่มีลิงค์สามารถอ่านๆได้ และส่งลิงค์ในงานที่ 2 )
ให้นักเรียนปรับปรุงการออกแบบวงจรและโปรแกรมด้วยตนเอง เช่น อาจจะเพิ่มไฟหลายดวง ทำเป็นไฟวิ่ง หรือไฟกระพริบ
(ถ่ายคลิปวิดีโอที่ 2 ชุดที่พัฒนาให้มีเสียงบรรยายด้วย อธิบายการออกแบบวงจร การเขียนโปรแกรม และอับโหลดไปเก็บใน Google Drive ใน Folder ชื่อ Arduino
แสดงข้อความบน LCD
SLIDESMANIA.COM
แสดงข้อความออกจอ LCD
SLIDESMANIA.COM
แสดงข้อความ และ ค่า Sensor ต่างๆออกจอ LCD 1602 แบบ I2C
// #include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);// หรือ 0x3f
void setup()
{
// lcd.begin();
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0); // กำหนดให้ เคอร์เซอร์ อยู่ตัวอักษรตำแหน่งที่1 แถวที่ 1 เตรียมพิมพ์ข้อความ
lcd.print("KruKitima Test"); //พิมพ์ข้อความ "LCD1602 I2c Test"
lcd.setCursor(2, 1); // กำหนดให้ เคอร์เซอร์ อยู่ตัวอักษรตำแหน่งที3 แถวที่ 2 เตรียมพิมพ์ข้อความ
lcd.print("www.srp.ac.th"); //พิมพ์ข้อความ "myarduino.net"
}
void loop() {
}
SLIDESMANIA.COM
SLIDESMANIA.COM
ถ้านักเรียนต้องการทำระบบเปิด - ปิด ไฟอัตโนมัติตามระดับแสง และให้แสดงค่าแสงบนจอ LCD นักเรียนจะมีวิธีการเชื่อมต่อวงจรนี้และเขียนคำสั่งได้อย่างไร
SLIDESMANIA.COM
SLIDESMANIA.COM
SLIDESMANIA.COM
แสดงค่า LDR ออกจอ LCD 1602 แบบ I2C ถ้าแสงน้อยกว่า 400 ให้ไฟติด
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);// หรือ 0x3f
int light = 0;
void setup()
{
// lcd.begin();
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0); // กำหนดให้ เคอร์เซอร์ อยู่ตัวอักษรตำแหน่งที่ 0 แถวที่ 1 เตรียมพิมพ์ข้อความ
lcd.print("KruKitima Test"); //พิมพ์ข้อความ "XXXX"
pinMode(A0, INPUT);
Serial.begin(9600);
pinMode(9, OUTPUT);
}
void loop()
{
light = analogRead(A0);
Serial.println(light);
if (light < 400) {
digitalWrite(9, HIGH);
} else {
digitalWrite(9, LOW);
}
lcd.clear();
lcd.setCursor(2, 1); // กำหนดให้ เคอร์เซอร์ อยู่ตัวอักษรตำแหน่งที3 แถวที่ 2 เตรียมพิมพ์ข้อความ
lcd.print(light);
delay(1000); // Wait for 1000 millisecond(s)
}
SLIDESMANIA.COM
แสดงค่า LDR ออกจอ LCD 1602 แบบ I2C ถ้าแสงน้อยกว่า 400 ให้ไฟติด
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
float light = 0;
void setup()
{
pinMode(A0, INPUT);
pinMode(9, OUTPUT);
Serial.begin(9600);
Serial.println();
lcd.init();
//lcd.begin();
lcd.backlight();
}
void loop()
{
light = analogRead(A0);
Serial.println(light);
lcd.setCursor(0, 0);
lcd.print(light,2);
if (light < 400) {
digitalWrite(9, HIGH);
} else {
digitalWrite(9, LOW);
}
delay(1000); // Wait for 1000 millisecond(s)
}
SLIDESMANIA.COM
วัดระยะทางด้วย HC-SR04
SLIDESMANIA.COM
SLIDESMANIA.COM
SLIDESMANIA.COM
งานที่ 3 ให้นักเรียนศึกษาการออกแบบวงจรและเขียนโปรแกรมการทำระบบเปิด - ปิด ไฟอัตโนมัติตามระดับแสง และเชื่อมต่ออุปกรณ์ต่างๆ ลงบอร์ด Arduino UNO อับโหลดโปรแกรม ทดสอบการใช้งาน
ให้แสดงผลระดับแสดงที่จอ LCD
(ถ่ายคลิปวิดีโอ อธิบายอุปกรณ์ที่ใช้ การออกแบบวงจร การเขียนโปรแกรม และผลการทดสอบ ให้มีเสียงบรรยายด้วย ปรับปรุงโปรแกรมให้ระดับแสงถึงระดับที่กำหนดแล้วให้ Led ดับ และอับโหลดไปเก็บใน Google Drive ใน Folder ชื่อ Arduino แชร์ลิงค์ Folder ให้ทุกคนที่มีลิงค์สามารถอ่านๆได้ และส่งลิงค์ในงานที่ 3 และคัดลอกโปรแกรมที่เขียนลงใน Google Document ชื่อ ระบบเปิดปิดไฟอัตโนมัติ ลงใน Folder ชื่อ Arduino แชร์ลิงค์ไฟล์ให้ทุกคนที่มีลิงค์ดูได้ และส่งลิงค์ในงานที่ 3 )
ถ้านักเรียนต้องการพัฒนาพัดลมอัตโนมัติ โดยการวัดค่าอุณหภูมิแล้วสั่งการให้มอเตอร์ทำงาน นักเรียนจะมีวิธีการเชื่อมต่อวงจรนี้และเขียนคำสั่งได้อย่างไร
1
SLIDESMANIA.COM
SLIDESMANIA.COM
ปรับปรุงโดยกำหนดให้มีเงื่อนไขถ้าอุณหภูมิมากกว่า 30 องศา ให้พัดลมทำงาน
SLIDESMANIA.COM
ปรับปรุงจากแรงดันกระแสไฟฟ้าเป็นองศาเซลเซียส
tmp = analogRead(A5);
float MilliVolt = ((tmp/1024.0)*5000);
float C = (MilliVolt/ 10);
SLIDESMANIA.COM
#include <Servo.h>
int tmp;
Servo servo_9;
void setup()
{
pinMode(A5, INPUT);
Serial.begin(9600);
servo_9.attach(9, 500, 2500);
}
void loop()
{
tmp = analogRead(A5);
float MilliVolt = ((tmp/1024.0)*5000);
float C = (MilliVolt/ 10);
Serial.println(C);
if (C >= 30) {
servo_9.write(180);
delay(1000);
} else {
servo_9.write(0);
delay(1000);
}
delay(10); // Delay a little bit to improve simulation performance
}
SLIDESMANIA.COM
ให้นักเรียนศึกษาการออกแบบวงจรและเขียนโปรแกรมการการทำระบบเปิด - ปิด พัดลมอัตโนมัติตามระดับอุณหภูมิ และเชื่อมต่ออุปกรณ์ต่างๆ ลงบอร์ด Arduino UNO อับโหลดโปรแกรม ทดสอบการใช้งาน
ให้แสดงผลระดับแสดงที่จอ LCD
(ถ่ายคลิปวิดีโอ อธิบายอุปกรณ์ที่ใช้ การออกแบบวงจร การเขียนโปรแกรม และผลการทดสอบ ให้มีเสียงบรรยายด้วย ปรับปรุงโปรแกรมให้ระดับอุณหภูมิถึงระดับที่กำหนดแล้วให้พัดลมทำงานและอับโหลดไปเก็บใน Google Drive ใน Folder ชื่อ Arduino แชร์ลิงค์ Folder ให้ทุกคนที่มีลิงค์สามารถอ่านๆได้ และส่งลิงค์ในงานที่ 4 และคัดลอกโปรแกรมที่เขียนลงใน Google Document ชื่อ ระบบเปิดปิดไฟอัตโนมัติ ลงใน Folder ชื่อ Arduino แชร์ลิงค์ไฟล์ให้ทุกคนที่มีลิงค์ดูได้ และส่งลิงค์ในงานที่ 4 )
สรุปเนื้อหา
SLIDESMANIA.COM
IoT
SLIDESMANIA.COM
ทำความรู้จัก ESP8266 NodeMCU
การใช้งาน LINE Notify ด้วย NodeMCU
SLIDESMANIA.COM
SLIDESMANIA.COM