1 of 70

SURATPITTAYA SCHOOL

2 of 70

ว30282เทคนิคปฏิบัติการ 2 (ฟิสิกส์,คอม)

ระดับชั้น ม.4/13

ผู้สอน

นางสาวกิติมา เพชรทรัพย์

โรงเรียนสุราษฎร์พิทยา

id Line : krukitpetsub

kitima@srp.ac.th

SLIDESMANIA.COM

3 of 70

ว30282เทคนิคปฏิบัติการ 2 (ฟิสิกส์,คอม)

ระดับชั้น ม.4/13

ผู้สอน

นายสายชล สุขศรี

โรงเรียนสุราษฎร์พิทยา

saichon@srp.ac.th

SLIDESMANIA.COM

4 of 70

ระบบอัตโนมัติด้วย Arduino

Project

Tinkercad

Arduino

STEM

ว 20214 ไมโครคอนโทรลเลอร์

5 of 70

หน่วยการเรียนรู้ที่ 2

การพัฒนาระบบอัตโนมัติ

6 of 70

3. เขียนโปรแกรมควบคุมไมโครคอนโทรลเลอร์กับอุปกรณ์กลและเซ็นเซอร์ได้

ผลการเรียนรู้

7 of 70

4. พัฒนาระบบอัตโนมัติโดยใช้ไมโครคอลโทรลเลอร์กับอุปกรณ์กลและเซ็นเซอร์ได้

ผลการเรียนรู้

8 of 70

9 of 70

Arduino

SLIDESMANIA.COM

10 of 70

ทำความรู้จัก Arduino UNO

11 of 70

ทำความรู้จัก Arduino UNO

12 of 70

ทำความรู้จัก Arduino UNO

13 of 70

ขั้นตอนการติดตั้ง Arduino

SLIDESMANIA.COM

14 of 70

เข้ามาที่เว็บไซต์ https://www.arduino.cc/

SLIDESMANIA.COM

15 of 70

คลิกที่ Software เลือก Arduino IDE ให้ตรงกับระบบปฏิบัติการที่ใช้

SLIDESMANIA.COM

16 of 70

คลิกที่ Just Download แต่ถ้าต้องการบริจาคเลือก Contrubute&Download

SLIDESMANIA.COM

17 of 70

ทดลองใช้งานจากตัวอย่าง ไฟล์->ตัวอย่าง->Basic->Fade

SLIDESMANIA.COM

18 of 70

เชื่อมต่ออุปกรณ์ให้ตรงกับโปรแกรม เลือกบอร์ด Arduino Uno �คอมไพล์->อับโหลดโปรแกรมตรวจสอบผลลัพธ์

SLIDESMANIA.COM

19 of 70

ทำความรู้จัก Arduino UNO

20 of 70

ทำความรู้จัก Arduino UNO

21 of 70

พื้นฐานอิเล็กทรอนิกส์

22 of 70

หน่วยของความต้านทาน (Resistance)

ค่าความต้านทานของตัวต้านทาน ถูกกำหนดให้มีหน่วยเรียกเป็น โอห์ม (OHM) เขียนแทนด้วยเครื่องหมายอักษรกรีกโบราณ คือ Ω (โอ เมก้า หรือ โอห์ม) ซึ่งได้จากค่ามาตรฐาน โดยการเอาแรงดันไฟฟ้า 1 โวลต์ ต่อกับความต้านทาน 1 โอห์ม และทำให้มีกระแสไหลในวงจร 1 แอมแปร์ ประกอบด้วย หน่วยค่าความต้านทานต่าง ๆ ดังนี้

1000 Ω(โอห์ม) เท่ากับ 1 KΩ (กิโลโอห์ม)

1000 KΩ (กิโลโอห์ม) เท่ากับ 1 MΩ (เมกกะโอห์ม)

ตัวต้านทาน บอกค่าความสามารถในการทนกำลังไฟฟ้ามีหน่วยเป็น วัตต์ (Watt)

SLIDESMANIA.COM

23 of 70

24 of 70

25 of 70

ถ้านักเรียนต้องการทำไฟกระพริบ 1 ดวง นักเรียนจะมีวิธีการเชื่อมต่อวงจรนี้และเขียนคำสั่งได้อย่างไร

SLIDESMANIA.COM

26 of 70

27 of 70

28 of 70

SLIDESMANIA.COM

29 of 70

ถ้านักเรียนต้องการทำไฟกระพริบหลายดวง นักเรียนจะมีวิธีการเชื่อมต่อวงจรนี้และเขียนคำสั่งได้อย่างไร

SLIDESMANIA.COM

30 of 70

31 of 70

SLIDESMANIA.COM

32 of 70

ถ้านักเรียนต้องการทำไฟวิ่งแถวเดียวจำนวนหลายดวง นักเรียนจะมีวิธีการเชื่อมต่อวงจรนี้และเขียนคำสั่งได้อย่างไร

SLIDESMANIA.COM

33 of 70

34 of 70

35 of 70

SLIDESMANIA.COM

36 of 70

งานที่ 2 ให้นักเรียนศึกษาการออกแบบวงจรและเขียนโปรแกรมการทำไฟกระพริบ 1 ดวง และเชื่อมต่ออุปกรณ์ต่างๆ ลงบอร์ด Arduino UNO อับโหลดโปรแกรม ทดสอบการใช้งาน

(ถ่ายคลิปวิดีโอที่ 1 อธิบายอุปกรณ์ที่ใช้ การออกแบบวงจร การเขียนโปรแกรม และผลการทดสอบ ให้มีเสียงบรรยายด้วย และอับโหลดไปเก็บใน Google Drive โดยสร้าง Folder ชื่อ Arduino แชร์ลิงค์ Folder ให้ทุกคนที่มีลิงค์สามารถอ่านๆได้ และส่งลิงค์ในงานที่ 2 )

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

(ถ่ายคลิปวิดีโอที่ 2 ชุดที่พัฒนาให้มีเสียงบรรยายด้วย อธิบายการออกแบบวงจร การเขียนโปรแกรม และอับโหลดไปเก็บใน Google Drive ใน Folder ชื่อ Arduino

37 of 70

แสดงข้อความบน LCD

38 of 70

SLIDESMANIA.COM

39 of 70

แสดงข้อความออกจอ LCD

SLIDESMANIA.COM

40 of 70

แสดงข้อความ และ ค่า 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

41 of 70

SLIDESMANIA.COM

42 of 70

ถ้านักเรียนต้องการทำระบบเปิด - ปิด ไฟอัตโนมัติตามระดับแสง และให้แสดงค่าแสงบนจอ LCD นักเรียนจะมีวิธีการเชื่อมต่อวงจรนี้และเขียนคำสั่งได้อย่างไร

SLIDESMANIA.COM

43 of 70

SLIDESMANIA.COM

44 of 70

SLIDESMANIA.COM

45 of 70

แสดงค่า 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

46 of 70

แสดงค่า 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

47 of 70

วัดระยะทางด้วย HC-SR04

SLIDESMANIA.COM

48 of 70

SLIDESMANIA.COM

49 of 70

SLIDESMANIA.COM

50 of 70

งานที่ 3 ให้นักเรียนศึกษาการออกแบบวงจรและเขียนโปรแกรมการทำระบบเปิด - ปิด ไฟอัตโนมัติตามระดับแสง และเชื่อมต่ออุปกรณ์ต่างๆ ลงบอร์ด Arduino UNO อับโหลดโปรแกรม ทดสอบการใช้งาน

ให้แสดงผลระดับแสดงที่จอ LCD

(ถ่ายคลิปวิดีโอ อธิบายอุปกรณ์ที่ใช้ การออกแบบวงจร การเขียนโปรแกรม และผลการทดสอบ ให้มีเสียงบรรยายด้วย ปรับปรุงโปรแกรมให้ระดับแสงถึงระดับที่กำหนดแล้วให้ Led ดับ และอับโหลดไปเก็บใน Google Drive ใน Folder ชื่อ Arduino แชร์ลิงค์ Folder ให้ทุกคนที่มีลิงค์สามารถอ่านๆได้ และส่งลิงค์ในงานที่ 3 และคัดลอกโปรแกรมที่เขียนลงใน Google Document ชื่อ ระบบเปิดปิดไฟอัตโนมัติ ลงใน Folder ชื่อ Arduino แชร์ลิงค์ไฟล์ให้ทุกคนที่มีลิงค์ดูได้ และส่งลิงค์ในงานที่ 3 )

51 of 70

ถ้านักเรียนต้องการพัฒนาพัดลมอัตโนมัติ โดยการวัดค่าอุณหภูมิแล้วสั่งการให้มอเตอร์ทำงาน นักเรียนจะมีวิธีการเชื่อมต่อวงจรนี้และเขียนคำสั่งได้อย่างไร

1

SLIDESMANIA.COM

52 of 70

53 of 70

54 of 70

SLIDESMANIA.COM

55 of 70

ปรับปรุงโดยกำหนดให้มีเงื่อนไขถ้าอุณหภูมิมากกว่า 30 องศา ให้พัดลมทำงาน

SLIDESMANIA.COM

56 of 70

ปรับปรุงจากแรงดันกระแสไฟฟ้าเป็นองศาเซลเซียส

tmp = analogRead(A5);

float MilliVolt = ((tmp/1024.0)*5000);

float C = (MilliVolt/ 10);

SLIDESMANIA.COM

57 of 70

58 of 70

#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

}

59 of 70

SLIDESMANIA.COM

60 of 70

ให้นักเรียนศึกษาการออกแบบวงจรและเขียนโปรแกรมการการทำระบบเปิด - ปิด พัดลมอัตโนมัติตามระดับอุณหภูมิ และเชื่อมต่ออุปกรณ์ต่างๆ ลงบอร์ด Arduino UNO อับโหลดโปรแกรม ทดสอบการใช้งาน

ให้แสดงผลระดับแสดงที่จอ LCD

(ถ่ายคลิปวิดีโอ อธิบายอุปกรณ์ที่ใช้ การออกแบบวงจร การเขียนโปรแกรม และผลการทดสอบ ให้มีเสียงบรรยายด้วย ปรับปรุงโปรแกรมให้ระดับอุณหภูมิถึงระดับที่กำหนดแล้วให้พัดลมทำงานและอับโหลดไปเก็บใน Google Drive ใน Folder ชื่อ Arduino แชร์ลิงค์ Folder ให้ทุกคนที่มีลิงค์สามารถอ่านๆได้ และส่งลิงค์ในงานที่ 4 และคัดลอกโปรแกรมที่เขียนลงใน Google Document ชื่อ ระบบเปิดปิดไฟอัตโนมัติ ลงใน Folder ชื่อ Arduino แชร์ลิงค์ไฟล์ให้ทุกคนที่มีลิงค์ดูได้ และส่งลิงค์ในงานที่ 4 )

61 of 70

สรุปเนื้อหา

SLIDESMANIA.COM

62 of 70

IoT

SLIDESMANIA.COM

63 of 70

ทำความรู้จัก ESP8266 NodeMCU

64 of 70

65 of 70

66 of 70

67 of 70

68 of 70

69 of 70

การใช้งาน LINE Notify ด้วย NodeMCU

SLIDESMANIA.COM

70 of 70

SLIDESMANIA.COM