วันพฤหัสบดีที่ 10 พฤศจิกายน พ.ศ. 2565

โครงการ เรียนรู้ระบบปัญญาประดิษฐ์ด้วยการทำงานของหุ่นยนต์เดินตามเส้น

ผู้รับผิดชอบโครงการ อ.วุฒิชัย  ปวงมณี ผศ. ดร.รติ  วงษ์สถานและนักศึกษาสาขาวิชาวิศวกรรมคอมพิวเตอร์

รายละเอียดเนื้อหาของกิจกรรม 

        การบรรยายภาคทฤษฎีและภาคปฏิบัติ โดยเน้นการลงมือปฏิบัติในการเขียนโปรแกรมภาษา C/C++ และการใช้งานบอร์ด Arduino UNO R3 ในการออกแบบการทำงานระบบปัญญาประดิษฐ์ (Artificial Intelligent Systems) โดยใช้การควบคุมแบบ PID และการควบคุมแบบตรรกศาสตร์คลุมเครือ (Fuzzy Logic) จะทำการแบ่งเป็นกลุ่มๆ ละ 2-3 คน  สำหรับการทำงานร่วมกันทั้งในส่วนของการเขียนโปรแกรมและต่อวงจรหุ่นยนต์ โดยจะให้นักเรียน นักศึกษาต่ออุปกรณ์ด้วยตนเอง

 
กำหนดการระยะเวลา 1 วัน ของกิจกรรม

เวลา

รายละเอียดกิจกรรม

8.30 – 9.00 น.

ลงทะเบียนและชี้แจงรายละเอียดของโครงการ

8.45 – 10.30 น.

- ความรู้เบื้องต้นเกี่ยวกับระบบปัญญาประดิษฐ์ (Artificial Intelligent Systems)

- การควบคุมแบบ PID Control

- การควบคุมแบบตรรกศาสตร์คลุมเครือ (Fuzzy Logic)

10.31 – 12.00 น.

- ปฏิบัติการเขียนโปรแกรมควบคุมอินพุตและเอาท์พุตพอร์ตแบบ PID Control

- ปฏิบัติเขียนโปรแกรมควบคุม Sensor สำหรับตรวจจับเส้นด้วยควบคุมแบบ PID Control

- ปฏิบัติการเขียนโปรแกรมควบคุมการทำงาน DC Motor ด้วยการควบคุมแบบตรรกศาสตร์คลุมเครือ

12.00 - 13.00 น.

พักรับประทานอาหารกลางวัน

13.00 – 14.30 น.

- ทดลองเขียนโปรแกรมควบคุมการทำงานสำหรับเดินตามเส้นที่กำหนด

14.31 – 16.15 น.

- ทดลองเขียนโปรแกรมควบคุมการทำงานสำหรับเดินตามเส้นที่กำหนด ด้วยการควบคุมแบบ PID Control และ การควบคุมแบบตรรกศาสตร์คลุมเครือ (Fuzzy Logic)

16.15 – 16.30 น.

ปิดพิธีโครงการ


วัสดุและอุปกรณ์ในกิจกรรมจำนวน 10 ชุด ประกอบด้วย 
1. ชุดขับเคลื่อนหุ่นยนต์ 2 ล้อ อาทิเช่น บอร์ดควบคุมทิศทางการหมุนของมอเตอร์  แบตเตอร์รี่  ล้อและมอเตอร์พร้อมชุดทดจำนวนรอบ 
2. ชุดเซนเซอร์ตรวจจับเส้นทึบ ชุดละ 3 ตัว 
3. บอร์ด Arduno UNO R3 และสาย USB สำหรับเชื่อมต่อกับเครื่องคอมพิวเตอร์ในการเขียนโปรแกรม

                                   ภาพตัวอย่างแสดงวัสดุ อุปกรณ์ และหุ่นยนต์ที่ต่อสำเร็จแล้ว

ความรู้พื้นฐานเกี่ยวกับการควบคุมแบบ PID โดยชื่อของตัวควบคุมมีความหมาย ดังนี้
       P (Proportional) หมายถึง การปรับสัดส่วนสัญญาณ
       I (Integral) หมายถึง การอินทิเกรตสัญญาณ
       D (Derivative) หมายถึง การอนุพันธ์สัญญาณ

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


       1. ตัวควบคุมแบบสัดส่วน (P-Controller)
       2. ตัวควบคุมแบบบูรณาการรวมหน่วย (I-Controller)
       3. ตัวควบคุมแบบอนุพันธ์ (D-Controller)
       4. ตัวควบคุมแบบสัดส่วนรวมกับแบบบูรณาการรวมหน่วย (PI-Controller)
       5. ตัวควบคุมแบบสัดส่วนรวมกับแบบอนุพันธ์ (PD-Controller)
       6. ตัวควบคุมแบบสัดส่วนรวมกับแบบบูรณาการรวมหน่วยและอนุพันธ์ (PID-Controller)


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

ตรรกศาสตร์คลุมเครือ (Fuzzy Logic)
          เป็นวิธีการออกแบบโดยใช ้เหตุผลที่มีคล้ายคลึงกับวิธีการให้เหตุผลของมนุษย์ ประกอบการตัดใจที่ไมใช่แค่ YES กับ NO , ใช่ กับ ไม่ใช่ , 0 หรือ 1 


          การนำมาใช้ในการออกแบบการทำงานของการตรวจจับเส้นทึบจะรับค่าจาก PID เพื่อบังคับทิศทางการหมุนของล้อหุ่นยนต์ ทั้ง 2 ล้อ ในการเดินหน้า ถอยหลัง หรือ ล้อใดล้อหนึ่งเพื่อสร้างความสมดุลในการทำงานและลดการเกิดข้อผิดพลาด โดยรายละเอียดจะอธิบายและสรุปเพื่อให้นักเรียน นักศึกษาทราบถึงวิธีการ แนวทางตลอดจนผลที่เกิดขึ้น บนพื้นฐานวิศวกรรม.....

+++++++++++++++++++++++++++++++++++++++++++++

กิจกรรมที่ผ่านมา 

          วันที่ 9-10 มีนาคม  พ.ศ. 2563 ณ โรงเรียนบ้านขุนแม่รวม ต.แจ่มหลวง อ.กัลยาณิวัฒนา จ.เชียงใหม่ โดยนักเรียนที่เข้าร่วมโครงการสามารถออกแบบชุดคำสั่งในการทำงานของหุ่นยนต์เดินตามเส้นเพื่อให้ทำงานตามความต้องการที่ได้ทำการออกแบบได้







วันอาทิตย์ที่ 25 กันยายน พ.ศ. 2565

ESP32 (Current leak sensor)

///////////////////////////

#define BLYNK_PRINT Serial

#include <WiFi.h>

#include <WiFiClient.h>

#include <BlynkSimpleEsp32.h>


//Auth Token ของ Blynk App.

char auth[] = "**********";//Auth Token ของ Project IoT-WaterFlow



//Set password WIFI เชื่อมต่อ Access point(WPA).

char ssid[] = "**********";

char pass[] = "**********";


//ZMPT101B Voltage-sensor

const int sensorPin1=36;  //ต่อกับขา GPIO36

const int sensorPin2=39;  //ต่อกับขา GPIO39

const int ledRED=32;  //ต่อกับขา GPIO32

const int ledGREEN=33;  //ต่อกับขา GPI33

double sensorValue1 = 0;

double sensorValue2 = 0;


void setup() {

  Serial.begin(115200);

  pinMode(sensorValue1,INPUT);

  pinMode(sensorValue2,INPUT);

  pinMode(ledRED,OUTPUT);

  pinMode(ledGREEN,OUTPUT);

  

 // Blynk.begin(auth, ssid, pass);

  delay(1000);

}


void loop(){

  sensorValue1 = analogRead(sensorPin1);

  sensorValue2 = analogRead(sensorPin2);


  if(sensorValue1 < 2340 && sensorValue2 < 1850){

    int sta_ee = 0; //ไม่พบไฟรั่ว

    digitalWrite(ledGREEN,HIGH);

    digitalWrite(ledRED,LOW);

    delay(1000);

  }else{

    int sta_ee = 1; //พบไฟรั่ว

    digitalWrite(ledRED,HIGH);

    digitalWrite(ledGREEN,LOW);

    delay(1000);

  }

  Serial.print("S1="); Serial.print(sensorValue1);Serial.print(" : "); 

  Serial.print("S2="); Serial.println(sensorValue2);

  

  delay(500);    

  Blynk.virtualWrite(V0, sensorValue1);

  Blynk.virtualWrite(V1, sensorValue2); 

  Blynk.virtualWrite(V2, sta_ee);       //สถานะไฟรั่ว

  Blynk.run();

}

ออกแบบการทำงานของ บอร์ด ESP32 เชื่อมต่อกับ PH sensor และ Turbidity sensor ส่งข้อมูลไปยัง Blynk 2.0

        ตรวจสอบคำสั่งการเชื่อมต่อกับ Blynk ที่เว็บไซต์  https://examples.blynk.cc  โดยตัวอย่างโค้ดนี้ได้ใช้รูปแบบคำสั่ง  

          Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);

        ในการเชื่อมต่อกับ Blynk 2.0

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Code ESP32 Board ( PH sensor & Turbidity sensor)

///////////////////////////////////
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>

//Auth Token ของ Blynk App.
char auth[] = "**********";//Auth Token ของ Project IoT-WaterFlow


//Set password WIFI เชื่อมต่อ Access point(WPA).
char ssid[] = "**********";
char pass[] = "**********";

//PH-sensor
const int phPin=36;  //ต่อกับขา GPIO36
float ph; float phValue=0;
//Turbidity -sensor
const int turbidityPin=39;  //ต่อกับขา GPIO39
float turbidityValue=0;

void setup() {
  Serial.begin(115200);
  pinMode(phPin,INPUT);
  pinMode(turbidityPin,INPUT);
  Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);  // เชื่อมต่อ Blynk 2.0
  delay(1000);
}

void loop(){
 
    phValue= analogRead(phPin);
    turbidityValue= analogRead(turbidityPin);
    
    //PH sensor
    Serial.print("PH : ");
    Serial.print(phValue);
    Serial.print(" | ");
    float voltage=phValue*(3.3/4095.0);
    ph=(3.3*voltage);
    Serial.println(ph);
    //Turbidity sensor
    float turbidity = turbidityValue * (5.0 / 1024.0);
    Serial.print("Turbidity : ");
    Serial.print(turbidityValue);
    Serial.print(" | ");
    Serial.println(turbidity);
    
    delay(500);
    Blynk.virtualWrite(V0, ph);
    Blynk.virtualWrite(V1, turbidity);
    Blynk.run();
}

วันศุกร์ที่ 1 กรกฎาคม พ.ศ. 2565

ที่ปรึกษา

อาจารย์ที่ปรึกษา การประชุมวิชาการระดับนานาชาติและระดับชาติ  (Conference)

 2565

ก้องสิทธา นิ่มกิ่ง พงศ์รพี พฤกษาพันธ์ทวี ปิยะสกุล กันทะศักดิ์ และ วุฒิชัย ปวงมณี,"การวิเคราะห์การสนทนาบนเฟสบุ๊คด้วยคำสำคัญโดยใช้ฟัซซี่ลอจิกสำหรับการวางแผนการตลาด", การประชุมวิชาการระดับชาติ วิทยาศาสตร์ เทคโนโลยีและนวัตกรรม (มหาวิทยาลัยแม่โจ้) ครั้งที่ 3.

ได้รับรางวัลการนำเสนอผลงานวิจัย ระดับชมเชย ประเภทการนำเสนอแบบปากเปล่า (Oral Presentation) 

2562 (โปรเจค ปี 4)

ณัฐพงษ์ วรรณสุทธิ์, วุฒิชัย ปวงมณี และ นิลาวรรณ วงศ์ศิลปะมรกต (2563). การพัฒนาระบบแจ้งเตือนการรั่วของน้ำด้วยเซนเซอร์การตรวจจับการไหลของน้าโดยใช้การเรียนรู้แบบเบย์, การประชุมวิชาการระดับชาติและระดับนานาชาติเบญจมิตรวิชาการ ครั้งที่ 10 ณ มหาวิทยาลัยนอร์ท-เชียงใหม่, 22 พฤษภาคม 2562.


2561  (โปรเจค ปี 4)

ภูริวัฒ ธัญหมอ สุทธิกานต์ นุติธรรมนิตย์ และ วุฒิชัย ปวงมณี, (2561), การพัฒนาระบบให้คำแนะนำอาการป่วยของแมวโดยใช้ต้นไม้ตัดสินใจ, การประชุมวิชาการวิศวกรรมศาสตร์ วิทยาศาสตร์ เทคโนโลยี และสถาปัตยกรรมศาสตร์ ครั้งที่ 9 ณ มหาวิทยาลัยเทคโนโลยีราชมงคลอีสาน วิทยาเขตขอนแก่น, 7 กันยายน 2561.


2560 (NSC 2017)

อนิรุต ผัดเป้า วุฒิชัย ปวงมณี และ เสฐียรพงษ์ ยอดนิล, (2560), การพัฒนาระบบแสดงข้อมูลการวัดอุณหภูมิแบบไม่สัมผัส, การประชุมวิชาการระดับชาติ ECTI-CARD 2017 ครั้งที่ 9 “การประยุกต์ใช้เทคโนโลยีเพื่อตอบสนอง ท้องถิ่นและภาคอุตสาหกรรม ณ โรงแรมเชียงคาน ริเวอร์ เมาท์เทน จังหวัดเลย”, 25-28 กรกฎาคม 2560.


2558 (โปรเจค ปี 4, NSC 2015)

ประภวิษณุ์ สมณะ และ วุฒิชัย ปวงมณี, (2558), การรู้จำภาพตัวอักษรแบบกริด โดยใช้โครงข่ายประสาทเทียม, ประชุมวิชาการระดับชาติ วิทยาศาสตร์วิจัย ครั้งที่ 7 ณ มหาวิทยาลัยนเรศวร จังหวัดพิษณุโลก, 30-31 มีนาคม 2558.





อาจารย์ที่ปรึกษา : ชมรม IOT
            รางวัลชมเชย ในการเข้าร่วมการประกวด “สิ่งประดิษฐ์ นวัตกรรม และผลงานสร้างสรรค์” ในการประชุมวิชาการวิจัยและนวัตกรรมสร้างสรรค์ ครั้งที่ 7 (7th CRCI 2021) ภายใต้หัวข้อ “...สู่วิจัยรับใช้สังคม สืบสานล้านนา สร้างมูลค่าด้วยเทคโนโลยีและนวัตกรรม” นำเสนอ “การพัฒนาระบบแจ้งเตือนการไหลของน้ำด้วยเทคโนโลยีอินเทอร์เน็ตทุกสรรพสิ่ง” จัดขึ้นระหว่าง วันที่ 12-14 พฤษภาคม พ.ศ. 2564

โครงการ เรียนรู้ระบบปัญญาประดิษฐ์ด้วยการทำงานของหุ่นยนต์เดินตามเส้น ผู้รับผิดชอบโครงการ อ.วุฒิชัย  ปวงมณี  ผศ. ดร.รติ  วงษ์สถานและนักศึกษาส...