ปรับแก้คะแนน แยกอธิบายส่วนต่างๆ

ปรับแก้คะแนน แยกอธิบายส่วนต่างๆ



HARDWARE

     
  • Arduino UNO R3
  • โมดูลบลูทูธ HC - 05
  • 2N2222 ทรานซิสเตอร์ NPN Transistor X 4
  • 1N4007 ไดโอด X 4
  • รีเลย์ 12 V X 4
  • loads

INPUT

  • โมดูลบลูทูธ HC - 05


OUTPUT

  • รีเลย์ 12 V X 4
  • loads


SOFTWARE

#include <SoftwareSerial.h> เรียกใช้ ไลบารี่
const int rxPin = 4; ใช้ขา4
const int txPin = 2; ใช้ขา2
SoftwareSerial mySerial(rxPin, txPin); กำหนดค่าลงใน ไลบารี่
const int Loads[] = {9, 10, 11, 12}; กำหนดค่าอาเรย์
int state = 0; ตัวแปล = 0
int flag = 0; ตัวแปล = 0
void setup()
{
for (int i=0;i<4;i++) ถ้าint i=0 และ i น้อยกว่า 4 สามารถให้ i บวกต่อไปได้เรื่อย
{
pinMode(Loads[i], OUTPUT); ให้โหลดเก็บค่าตัวแปรอาเรย์ i เป็น OUTPUT
}
mySerial.begin(9600); แสดงค่าทาง Serial begin(9600)
for (int i=0;i<4;i++) ถ้าint i=0 และ i น้อยกว่า 4 สามารถให้ i ++
{
digitalWrite(Loads[i], LOW); ให้Loads iเป็น LOW
}
}
void loop()
{
if(mySerial.available() > 0) ถ้า mySerial available() > 0
{
state = mySerial.read(); state คือการอ่านค่า
flag=0; flag เท่ากับ 0
}
switch(state)  จะตรวจสอบว่าตรงกับ case  ใ ถ้าตรงกับ case ใด  caseนั้นก็จะทำงาน
{
case '0':digitalWrite(Loads[0], HIGH); case 0 แสดงค่า Loads อาเรย์ 0 เป็น HIGH
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '1':digitalWrite(Loads[0], LOW); case 1 แสดงค่า Loads อาเรย์ 0 เป็น LOW
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '2':digitalWrite(Loads[1], HIGH); case 2 แสดงค่า Loads อาเรย์ 1 เป็น HIGH
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '3':digitalWrite(Loads[1], LOW); case 3 แสดงค่า Loads อาเรย์ 1 เป็น LOW
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '4':digitalWrite(Loads[2], HIGH); case 4 แสดงค่า Loads อาเรย์ 2 เป็น HIGH
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '5':digitalWrite(Loads[2], LOW); case 5 แสดงค่า Loads อาเรย์ 2 เป็น LOW
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '6':digitalWrite(Loads[3], HIGH); case 6 แสดงค่า Loads อาเรย์ 3 เป็น HIGH
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '7':digitalWrite(Loads[3], LOW); case 7 แสดงค่า Loads อาเรย์ 3 เป็น LOW
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '8':digitalWrite(Loads[0], LOW); case 8 แสดงค่า Loads อาเรย์ 0 เป็น LOW
digitalWrite(Loads[1], LOW); แสดง Loads อาเรย์ 1 เป็น LOW
digitalWrite(Loads[2], LOW); แสดง Loads อาเรย์ 2 เป็น LOW
digitalWrite(Loads[3], LOW); แสดง Loads อาเรย์ 3 เป็น LOW
flag=1; flag เท่ากับ 1

HARDWARE

     
  • Arduino UNO R3
  • โมดูลบลูทูธ HC - 05
  • 2N2222 ทรานซิสเตอร์ NPN Transistor X 4
  • 1N4007 ไดโอด X 4
  • รีเลย์ 12 V X 4
  • loads

INPUT

  • โมดูลบลูทูธ HC - 05


OUTPUT

  • รีเลย์ 12 V X 4
  • loads


SOFTWARE

#include <SoftwareSerial.h> เรียกใช้ ไลบารี่
const int rxPin = 4; ใช้ขา4
const int txPin = 2; ใช้ขา2
SoftwareSerial mySerial(rxPin, txPin); กำหนดค่าลงใน ไลบารี่
const int Loads[] = {9, 10, 11, 12}; กำหนดค่าอาเรย์
int state = 0; ตัวแปล = 0
int flag = 0; ตัวแปล = 0
void setup()
{
for (int i=0;i<4;i++) ถ้าint i=0 และ i น้อยกว่า 4 สามารถให้ i บวกต่อไปได้เรื่อย
{
pinMode(Loads[i], OUTPUT); ให้โหลดเก็บค่าตัวแปรอาเรย์ i เป็น OUTPUT
}
mySerial.begin(9600); แสดงค่าทาง Serial begin(9600)
for (int i=0;i<4;i++) ถ้าint i=0 และ i น้อยกว่า 4 สามารถให้ i ++
{
digitalWrite(Loads[i], LOW); ให้Loads iเป็น LOW
}
}
void loop()
{
if(mySerial.available() > 0) ถ้า mySerial available() > 0
{
state = mySerial.read(); state คือการอ่านค่า
flag=0; flag เท่ากับ 0
}
switch(state)  จะตรวจสอบว่าตรงกับ case  ใ ถ้าตรงกับ case ใด  caseนั้นก็จะทำงาน
{
case '0':digitalWrite(Loads[0], HIGH); case 0 แสดงค่า Loads อาเรย์ 0 เป็น HIGH
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '1':digitalWrite(Loads[0], LOW); case 1 แสดงค่า Loads อาเรย์ 0 เป็น LOW
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '2':digitalWrite(Loads[1], HIGH); case 2 แสดงค่า Loads อาเรย์ 1 เป็น HIGH
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '3':digitalWrite(Loads[1], LOW); case 3 แสดงค่า Loads อาเรย์ 1 เป็น LOW
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '4':digitalWrite(Loads[2], HIGH); case 4 แสดงค่า Loads อาเรย์ 2 เป็น HIGH
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '5':digitalWrite(Loads[2], LOW); case 5 แสดงค่า Loads อาเรย์ 2 เป็น LOW
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '6':digitalWrite(Loads[3], HIGH); case 6 แสดงค่า Loads อาเรย์ 3 เป็น HIGH
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '7':digitalWrite(Loads[3], LOW); case 7 แสดงค่า Loads อาเรย์ 3 เป็น LOW
flag=1; flag เท่ากับ 1
break; หยุดการทำงาน
case '8':digitalWrite(Loads[0], LOW); case 8 แสดงค่า Loads อาเรย์ 0 เป็น LOW
digitalWrite(Loads[1], LOW); แสดง Loads อาเรย์ 1 เป็น LOW
digitalWrite(Loads[2], LOW); แสดง Loads อาเรย์ 2 เป็น LOW
digitalWrite(Loads[3], LOW); แสดง Loads อาเรย์ 3 เป็น LOW
flag=1; flag เท่ากับ 1
โฟร์ชาร์ต



ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

สัญลักษณ์ Flowchart

ปลั๊กไฟที่ควบคุมด้วย Arduino

การใช้งาน 7 Segment กับ Arduino