การใช้งาน...

140
กล่องสมองกล การใช้งาน

Upload: others

Post on 27-Mar-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

กลองสมองกลการใชงาน

Page 2: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ไมโครคอนโทรลเลอรทมใชงานทว ๆ ไป

ไมโครโปรเซสเซอร

ไมโครคอนโทรลเลอร PIC

ไมโครคอนโทรลเลอร MCS-51

ไมโครคอนโทรลเลอร BASIC Stamp ไมโครคอนโทรลเลอร AVR

สโลกไมโครคอนโทรลเลอร

Page 3: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

สโลกไมโครคอนโทรลเลอร

ไมโครคอนโทรลเลอรอยรอบๆ ตวเรา

Page 4: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

หลกการของระบบควบคม

อนพต เอาตพตประมวลผล

Page 5: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ตวอยางระบบควบคมอยางงายๆ

ตวอยางการใชงานไมโครคอนโทรลเลอรในเครองปรบอากาศ

ตรวจสอบการเปด

จากรโมตหรอสวตช

ระบบควบคมของเครองปรบอากาศ

สงใหคอมเพรสเซอรท างาน

ตรวจสอบอณหภมจาก

เซนเซอร กบคาทตงไว

สงใหคอมเพรสเซอรหยดท างาน

มากกวา

คาทตงไว

นอยกวา

คาทตงไว

+V

220V

Compressor

Microcontroller

A/D in

Digital In

Data In

Digital Out

Page 6: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ชดเรยนรการทดลองวทยาศาสตรกบกลองสมองกล

กวาจะมาเปน

Page 7: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

บอรดควบคมหลกกวาจะมาเปน

Page 8: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

Sensor ในชด SCI-BOXกวาจะมาเปน

Page 9: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

อปกรณยอยส าหรบการทดลองกวาจะมาเปน

Page 10: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

กวาจะมาเปน

Basic Stamp Editor

Debug Terminal

Dual Data

เขยนโปรแกรมดวยภาษา BASIC

Page 11: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

• การเขยนโปรแกรมดวยภาษาเบสก

• สรางบอรดและอปกรณตอพวงเองไดยาก• โมดลไมโครคอนโทรลเลอรราคาสง (i-Stamp)

ขอดอยของ Sci-BOX

กวาจะมาเปน

Page 12: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ตนแบบรนแรกจาก สสวท.

กวาจะมาเปน ออกแบบฮารดแวรใหมจาก สสวท.

Page 13: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ตนแบบรนแรกจาก สสวท.

สวตช LDR ล าโพง

ตวตานทานปรบคาได

รเลย

LED + 7 Segment

Page 14: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

กวาจะมาเปน พฒนาตอโดย inex

สรางเปน IPST-MicroBOX

แผงวงจร IPST-MicroBOX

แปลง USB ==> Serial

เครองโปรแกรม PX-400

Page 15: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

กวาจะมาเปน กลมแผงวงจรขบเอาตพต

แผงวงจรขบ LED สองส

แผงวงจรขบ LED อนฟราเรด

แผงวงจรขบล าโพงเปยโซ

แผงวงจรขบรเลย

แผงวงจรขบ ตวเลข 7 สวน

แผงวงจรขบมอเตอรแผงวงจรแสดงผลและพอรตเอนกประสงค

Page 16: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

กวาจะมาเปน กลมแผงวงจรขบเอาตพต

• เปนอปกรณรบขอมลดจทล• ใหโลจก ‘0’ ถาตรวจจบคลนอนฟราเรดยานความถ 38kHz ได

2 ชด

Page 17: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

กวาจะมาเปน กลมแผงวงจรตรวจจบแบบอะนาลอก

แผงวงจรตรวจจบแสง

แผงวงจรตรวจจบแสงอนฟราเรด

แผงวงจรตรวจจบการสะทอน

แผงวงจรตรวจจบสนามแมเหลก

แผงวงจรตรวจจบอณหภม

โมดลตรวจจบและวดระยะทางดวยแสงอนฟราเรด

แผงวงจรตรวจวดคาความตานทาน

โมดลตรวจจบเสยง

Page 18: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

กวาจะมาเปน กลมแผงวงจรตวตานทานปรบคาได

แผงวงจรตวตานทานปรบคาได ตวตง

แผงวงจรตวตานทานปรบคาได ตวนอน

แผงวงจรตวตานทานปรบคาได แบบเลอน

สญลกษณของตวตานทานปรบคาได

Page 19: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

กวาจะมาเปน IPST-BOT

Page 20: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

กวาจะมาเปน เสยบโมดลเสรมเพอใชควบคมมอเตอร

สวตชเปด/ปดไฟแสดงระดบแบตเตอรสอสาร

Motor 2

Motor 1SERVO MOTORดาวนโหลด

Page 21: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

กวาจะมาเปน IPST-BOT

สวตชเปด/ปดไฟแสดงระดบแบตเตอรสอสาร

Motor 2

Motor 1SERVO MOTORดาวนโหลด

Page 22: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

รปแบบการพฒนาไมโครคอนโทรลเลอรในปจจบน

รปแบบท 1 ใชไมโครคอนโทรลเลอรมตวแปลภาษา

• โมดลส าเรจรป ไมตองพงอปกรณภายนอก

• ม อนเตอรพรตเตอร (ตวแปลภาษาในตว)

• ซอฟตแวรภาษาเบสกเขยนงาย มใหใชงานฟร

• ใชเวลาในการเรยนรนอย พฒนางานไดเรว

ราคาคอนขางสงเมอเทยบกบไมโครคอนโทรลเลอรตระกลอน

Page 23: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

รปแบบการพฒนาไมโครคอนโทรลเลอรในปจจบนรปแบบท 2 ใชไมโครคอนโทรลเลอรผานคอมไพเลอร

• ตองใชเครองโปรแกรมภายนอกในการโปรแกรม

• คอมไพเลอรภาษา C แจกฟร

• ท างานดวยความเรวสง

• ราคา(ไมโครคอนโทรลเลอร ) ไมแพง

ส าหรบผเรมตน ใชระยะเวลาในการเรยนรนานกวารปแบบท 1

Page 24: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

รปแบบการพฒนาไมโครคอนโทรลเลอรในปจจบน

รปแบบท 3 ใชไมโครคอนโทรลเลอรผานคอมไพเลอรแบบซอรสเปด

• ไมตองใชเครองโปรแกรมภายนอก

• คอมไพเลอรภาษา C แจกฟร

• ท างานดวยความเรวสง

• ราคา(ไมโครคอนโทรลเลอร ) ไมแพง

• สรางไลบรารไดเอง และมไลบรารส าหรบอปกรณตอพวง

จอส GLCD128x160

Page 25: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

รปแบบการพฒนาไมโครคอนโทรลเลอรในปจจบน

รปแบบท 3 ใชไมโครคอนโทรลเลอรผานคอมไพเลอรแบบซอรสเปด

• ไมตองใชเครองโปรแกรมภายนอก

• คอมไพเลอรภาษา C แจกฟร

• ท างานดวยความเรวสง

• ราคา(ไมโครคอนโทรลเลอร ) ไมแพง

• สรางไลบรารไดเอง และมไลบรารส าหรบอปกรณตอพวง

จอส GLCD128x160

Page 26: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 27: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ตนก าเนด IPST-SE HARDWARE

IPST-SE

โครงการ Opensource ของ Wiring

Page 28: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

IPST-SE

คอมไพเลอร Opensource

Software

Edit+Compire+Download

Page 29: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 30: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 31: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

เปดโฟลเดอรส าหรบ Windows

ดบเบลคลก ตดตง

เปดโฟลเดอรตดตงโปรแกรม

ขนตอนตดตงโปรแกรม

Page 32: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ขนตอนตดตงโปรแกรม

เมอจบขนตอนนจะมหนาตาง ตดตงไดรเวอรหามกด Cancel

Page 33: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ขนตอนตดตงไดรเวอร

เมอจบขนตอนนจะมหนาตาง ตดตงไดรเวอรหามกด Cancel

Page 34: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

โปรแกรม wiring

Page 35: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

รปแบบการท างานโปรแกรม wiring

void setup() {

}

void loop() {

}

ส าหรบก าหนดคา เกดขนครงเดยว

โปรแกรมหลกท างานตอเนอง

Page 36: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

START

ท างานใน Setup

ท างานใน Loop

รปแบบการท างานโปรแกรม wiring

Page 37: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

เลอกบอรดทใชงาน

เลอกบอรดเปน IPST-SE

Page 38: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

เชอมตอกบคอมพวเตอร

Page 39: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

เลอก Serial Port ใหตรงต าแหนง

เลอกพอรตอนกรม

Page 40: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

โปรแกรมแรก

#include <ipst.h>

void setup()

{glcd(0,0,"Hello World");

}

void loop()

{}

Page 41: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ตรวจสอบไวยกรณ

คอมไพล

แจงผลวาคอมไพลผาน

Page 42: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

อพโหลด

คอมไพลอกครง

โหลดโปรแกรมไปยง IPST-SE

คยลด Ctrl+U

Page 43: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ผลลพธโปรแกรมท 1

Page 44: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

คณสมบตของจอภาพ

Page 45: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

glcd แสดงขอความทจอ GLCD ได 21 ตว 16 บรรทด (size 1) รปแบบ

void glcd(x,y,*p,...)

พารามเตอรx คอต าแหนงบรรทดมคาตงแต 0-15y คอต าแหนงตวอกษรมคาตงแต 0-24*p คอขอความทตองการน ามาแสดง

คาพเศษ%d แสดงตวเลขจ านวนเตมในชวง -32,768 ถง 32,767%h แสดงตวเลขฐานสบหก%b แสดงตวเลขฐานสอง%l แสดงตวเลขจ านวนเตมในชวง -2,147,483,648 ถง 2,147,483,647%f แสดงผลตวเลขจ านวนจรง (แสดงทศนยม 3 หลก)

ค าสง GLCD

Page 46: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

glcd

setTextColor

setTextBackgroundColor

glcdClear

glcdFillScreen

glcdMode

setTextSize

glcdPixel

glcdRect

glcdFillRect

glcdLine

glcdCircle

glcdFillCircleglcdArc

ไลบราร ของ GLCD

Page 47: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

setTextColor(COLOR)

unsigned color[]={

GLCD_RED,

GLCD_GREEN,

GLCD_BLUE,

GLCD_YELLOW,

GLCD_BLACK,

GLCD_WHITE,

GLCD_SKY,

GLCD_MAGENTA

};

ตวอยาง#include <ipst.h>

void setup(){

setTextColor(GLCD_WHITE);

glcd(0,0,"Hello");

setTextColor(GLCD_GREEN);

glcd(1,0,"World");

}void loop(){}

คาสตวอกษร

Page 48: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

setTextBackgroundColor(COLOR)

unsigned color[]={

GLCD_RED,

GLCD_GREEN,

GLCD_BLUE,

GLCD_YELLOW,

GLCD_BLACK,

GLCD_WHITE,

GLCD_SKY,

GLCD_MAGENTA

};

ตวอยาง#include <ipst.h>

void setup(){

setTextBackgroundColor(GLCD_RED);

setTextColor(GLCD_YELLOW);

glcd(0,0,"Hello World");

}void loop(){}

คาสพนหลงตวอกษร

Page 49: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

glcdClear()

ตวอยาง#include <ipst.h>

void setup(){}

void loop(){

glcdClear();

sleep(500);

glcdFillScreen(color[0]);

sleep(500);

glcdFillScreen(color[1]);

sleep(500);

glcdFillScreen(color[2]);

sleep(500);

}

เคลยรหนาจอ

glcdFillScreen(COLOR)

เทสลงบนหนาจอทงหนา

Page 50: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

glcdMode หมนหนาจอ ปกตเปน Mode 0ตวอยาง

#include <ipst.h>

void setup(){}

void loop(){

glcdMode(0);

glcd(0,0,"Mode 0");

sleep(1000);

glcdMode(1);

glcd(0,0,"Mode 1");

sleep(1000);

glcdMode(2);

glcd(0,0,"Mode 2");

sleep(1000);

glcdMode(3);

glcd(0,0,"Mode 3");

sleep(1000);

}

Page 51: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

setTextSize ปรบขนาดตวอกษร เปนเทาตวถาไมก าหนดขนาดเปน 1 เทา

ตวอยาง#include <ipst.h>

void setup(){}

void loop(){

setTextSize(1);

glcd(0,0,"1x");

setTextSize(2);

glcd(0,2,"2x");

setTextSize(3);

glcd(0,3,"3x");

setTextSize(4);

glcd(1,0,"4x");

setTextSize(5);

glcd(1,2,"5x");

}

Page 52: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

การแสดงผลกราฟก

glcdRect(x,y,width,height,color)

glcdFillRect(x,y,width,height,color)

glcdCircle(x,y,radius,color)

glcdFillCircle(x,y,radius,color)

glcdLine(x1,y1,x2,y2,color)

x ต ำแหนงแนวนอนy ต ำแหนงแนวตง

width ควำมกวำงheight ควำมสงredius รศม

จอกวำง 128 pixelจอสง 160 pixel

Page 53: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

โจทย

สรำงวงกลมสแดงอยกงกลำงจอภำพ รศมเตมจอพอด

Page 54: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

โจทย

ลำกเสน 4 เสนโดยมจดตดอยกลำงจอภำพพอด

Page 55: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

โจทย

สรำงสเหลยมซอนกนดงรป

Page 56: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

glcd แสดงขอความทจอ GLCD ได 21 ตว 16 บรรทด (size 1) รปแบบ

void glcd(x,y,*p,...)

พารามเตอรx คอต าแหนงบรรทดมคาตงแต 0-15y คอต าแหนงตวอกษรมคาตงแต 0-24*p คอขอความทตองการน ามาแสดง

คาพเศษ%d แสดงตวเลขจ านวนเตมในชวง -32,768 ถง 32,767%h แสดงตวเลขฐานสบหก%b แสดงตวเลขฐานสอง%l แสดงตวเลขจ านวนเตมในชวง -2,147,483,648 ถง 2,147,483,647%f แสดงผลตวเลขจ านวนจรง (แสดงทศนยม 3 หลก)

ค าสง GLCD

Page 57: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

การแสดงผลตวเลข

glcd(0,0,"%d",100);

Page 58: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ตวแปรใน Wiring

byte

0-65535 (unsigned int)word

0-255 (unsigned char)

0-1boolean True False

-32768 ถง 32767int

-128 ถง 127char

-3.4 x 1038 ถง 3.4 x 1038 float

หาขอมลเพมเตมจาก reference

Page 59: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

หลอด LED เอาตพตดจตอลอยางงาย

Page 60: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

out(ch,state);

สงคาสถานะ(state) 0 หรอ 1

ออกไปยงต าแหนงขา (ch)ทระบ

เชน out(17,1);

ค าสงสงคาออกเอาตพตดจตอล

Page 61: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

C110/16V

SP1Piezospeaker

S+

K1SOUND

• ใชล าโพงเปยโซ มอมพแดนซ 32W

• มคาความถยาน 300Hz ถง 3000 Hz

แผงวงจรล าโพงเปยโซ : SPEAKER

Page 62: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

สรางเสยงออกล าโพง

Page 63: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ฟงกชนก าเนดเสยงอยางงาย beep : ท ำหนำทก ำเนดเสยงควำมถ 500 Hz นำน 100 มลลวนำท

beep(ch);

ฟงกชนก าเนดเสยงความถใดๆ sound : ท ำหนำทก ำเนดเสยงควำมถ ตำมชวงเวลำทก ำหนด

sound(ch,freq,time);

พารามเตอร freq ใชก ำหนดคำควำมถคำสญญำณเสยง

time ใชก ำหนดชวงเวลำในกำรก ำเนดสญญำณเสยงในหนวยมลลวนำท

ค าสงสรางเสยง

Page 64: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

#include <ipst.h>

void setup(){

}

void loop(){

beep(19);

sleep(1000);

}

Page 65: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

#include <ipst.h>

void setup(){

}

void loop(){

sound(19,1200,500);

sleep(1000);

}

Page 66: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

knob()

Page 67: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

knob เปนฟงกชนอานคาตวตานทานปรบคาไดบน IPST-SE เหมอนค าสง analog(8) คาอยในชวง 80-1023 รปแบบ

knob();

การคนคา

คาทอานไดจาก knob มคาระหวาง 80-1023ตวอยาง

int val=0; // ก าหนดคาตวแปรส าหรบเกบคาอะนาลอกval=knob(); // อานคาจาก knob เกบคาในตวแปร valglcd(1,2,"%d",val); // น าคาแสดงท GLCDglcdClear();

knob()

Page 68: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 69: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

sw_OK() ตรวจสอบสวตช OK บน IPST-SE ใหสถานะ True เมอกดสวตชและ Falseเมอไมกดสวตชรปแบบ

sw_OK()การคนคา

1 (True) เมอกดสวตช0 (False) เมอไมกดสวตช

หมายเหต การกดสวตชท าใหคาทอานไดจาก Knob มคาเปน 0ตวอยาง

if(sw_OK()==1)

{

beep(19);

}

สวตช OK บนบอรด

Page 70: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

เปนฟงกชนวนตรวจสอบการกดสวตช OKหรอSW1 บนบอรด IPST-SE ตองรอจนกระทง OKหรอSW1 ถกปลอยหลงจากมการกดสวตช จงจะผานฟงกชนนไปท างานค าสงอนๆตวอยาง

......

sw_OK_press(); // รอจนกระทงกดสวตช OKsw1_press(); // รอจนกระทงกดสวตช SW1

......

สวตช sw_ok_press()

Page 71: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 72: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

สวตชสองตวควบคมการเปดปดหลอดไฟ

Page 73: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

เขยนโปรแกรมใชสวตช OK กบ LED

Page 74: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

แผงวงจรสวตช: ZX-SWITCH

คณสมบตทางเทคนค•ถาสวตชถกกดจะอานคาขอมลไดเปนลอจก ‚0‛ พรอมกบไฟแสดงสถานะตดสวาง •ถาสวตชไมถกกดจะอานคาขอมลไดเปนลอจก ‚1‛

Page 75: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ฟงกชน inส าหรบอานคาสญญาณแบบดจตอลจากขาพอรตใดๆของบอรดควบคมหลกรปแบบ

char in(char _bit);

พารามเตอร _bit ใชก าหนดต าแหนงหมายเลขพอรตทตองการตดตอการคนคา ฟงกชนจะท าการคนคาสญญาณดจตอลของต าแหนงขาพอรตทอานซงอาจมคาเปน 0 หรอ 1 เทานน

Page 76: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

sw_OK_press();

Sw1_press();

in(14);

analog(0);

knob();

Page 77: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ทดสอบเขยนโปรแกรมกบสวตช

Page 78: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

LED8

Page 79: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

วงจร LED8

Page 80: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 81: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ฟงกชน LED8()ส าหรบสงคาออกไปยงบอรด LED8 ในรปแบบขอมล 1 ไบตรปแบบ

LED8(pin,dat);

พารามเตอร pin ใชก าหนดต าแหนงหมายเลขพอรตทตองการตดตอ

dat ขอมลขนาด 1 ไบตทจะสงไปยง LED 8 ดวง คา 0 LED ดบหมด คา 255 LED ตดทงหมด

Page 82: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ตวตานทานปรบคาไดแบบตวนอน

ตวตานทานปรบคาไดแบบเลอน สญลกษณ

แผงวงจรตวตานทานปรบคาได

Page 83: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 84: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ฟงกชน analog()อานคาสญญาณอะนาลอก จากต าแหนงพอรตทระบ (A0-A6)รปแบบ

analog(ch);

พารามเตอร ch คอขาพอรตอะนาลอกในต าแหนงทตองการอานคาการคนคา คา 0-1023 (10 บต) จากต าแหนงขาพอรตทตองการ

Page 85: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

แผงวงจรตรวจจบแสง LDR

Page 86: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

GND

+V

OUT

LDR

R24k7

ใชตรวจจบแสงสวาง เลอกเอาตพตได 2 แบบคอ

แรงดนเอาตพตเพม เมอแสงตกกระทบมากขน

แรงดนเอาตพตลดลง เมอแสงตกกระทบมากขน

แผงวงจรตรวจจบแสง LDR

Page 87: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 88: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ไอซวดอณหภม MCP9701

แรงดนเอาตพตเปลยนแปลง 19.5mV/องศาสามารถค านวณคาจากคาอะนาลอกทอานไดจากสตรTemp = (val x 0.25) - 20.51

Page 89: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

MCP9701

Page 90: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

#include <ipst.h>

int val,i;

float Temp;

void setup(){glcdClear();

setTextSize(2);

}void loop(){glcd(1,2,"Digital");

glcd(2,2,"THERMO");

glcd(3,3,"METER");

val=0;

for (i=0;i<20;i++) {val = val+analog(3); }val = val/20;

Temp = (float(val)*0.25) - 20.51 ;

setTextSize(3);

setTextColor(GLCD_YELLOW);

glcd(3,1,"%f",Temp);

setTextColor(GLCD_WHITE);

setTextSize(2);

glcd(6,2,"Celsius");

delay(500);

}

Page 91: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

การสอสารอนกรม

Page 92: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

การสอสารอนกรมUART

UART1

Page 93: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

การสอสารอนกรม

ฟงกชน uart_available() ถามขอมลถกปอนเขามาเงอนไขเปนจรง

uart_getkey() รบคาขอมล 1 ไบต

uart สงขอมลหลายๆ ไบตออกไป

uart1_available() ถามขอมลถกปอนเขามาเงอนไขเปนจรง

uart1_getkey() รบคาขอมล 1 ไบต

uart1 สงขอมลหลายๆ ไบตออกไป

Page 94: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 95: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ใชการสงงานมอเตอร 2 ตว คอ DC Motor 1(ซาย) และ DC Motor 2(ขวา)

ค าสงเดนหนาmotor(1,Speed);//ซายmotor(2,Speed);//ขวา

ค าสงถอยหลงmotor(1,-Speed);

motor(2,-Speed);

ขบเคลอนมอเตอรเบองตน

Page 96: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ขบเคลอนหนยนตไปดานหนา

#include <ipst.h>

void setup()

{

sw_OK_press();

}

void loop()

{

motor(1,40);//ซายmotor(2,40);//ขวา

sleep(1000);

}

Page 97: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ขบเคลอนหนยนตไปดานถอยหลง

#include <ipst.h>

void setup()

{

sw_OK_press();

}

void loop()

{

motor(1,-40);//ซายmotor(2,-40);//ขวา

sleep(1000);

}

Page 98: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

หนยนต iBOT เคลอนทตามเวลา#include <ipst.h>

void setup()

{

glcd(1,1,"Press OK");

sw_OK_press();

motor(1,40); //ซายmotor(2,40);// ขวาsleep(4000);//ท างานค าสงขางบน 4 วนาทao();

}

void loop()

{}

Page 99: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ฟงกชน

การเคลอนทหนยนต iBOT

void fd(int speedL,int

speedR)

{

motor(1,speedL);//ซายmotor(2,speedR);//ขวา}

Page 100: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ฟงกชน

การเคลอนทหนยนต iBOT

void bk(int speedL,int

speedR)

{

motor(1,-speedL);//ซายmotor(2,-speedR);//ขวา}

Page 101: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ฟงกชน

การเคลอนทหนยนต iBOT

void tl(int speedL,int

speedR)

{

motor(1,-speedL);//ซายmotor(2,speedR);//ขวา}

Page 102: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ฟงกชน

การเคลอนทหนยนต iBOT

void tr(int speedL,int

speedR)

{

motor(1,speedL);//ซายmotor(2,-speedR);//ขวา}

Page 103: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

void setup() {

sw_OK_press();

}

void loop() {

fd(40,40);//เรยกใชฟงกชนเดนตรงsleep(1000);//ท างานค าสงขางบนจนครบ 1 วนาทtl(40,40);//เรยกใชฟงกชนเลยวซายsleep(250);//ท างานค าสงกอนหนา 0.25 วนาทao();//สงใหมอเตอรทกตวหยดการท างาน

}

การเรยกใชฟงกชน

การเคลอนทหนยนต iBOT

Page 104: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

สวตชควบคมหนยนต iBOT

ตอ สวตช เขำกบ Port Digital

PORT 17,in(17) = ซาย

PORT 16,in(16) = ขวา

Page 105: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

void loop()

{

if (in(17)==0&&in(16)==0)

{fd(40,40);}

else if(in(17)==0)

{tl(40,40);}

else if(in(16)==0)

{tr(40,40);}

else

{ao(); }

}

สรางรถบงคบดวยหนยนต iBOT

Page 106: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

การอานคาตวตรวจจบของ

หนยนต iBOT

ตอ สวตช เขำกบ Port Analog

PORT A1,analog(1) = ซาย ,PORT A2,analog(2) = ขวา

Page 107: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

#include <ipst.h>

void setup()

{

setTextSize(2);

}

void loop()

{

glcd(0,0,"L=%d

",analog(1));

glcd(1,0,"R=%d

",analog(2));

}

การอานคาตวตรวจจบของ

หนยนต iBOT

Page 108: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

การอานคาตวตรวจจบของ

หนยนต iBOT

การหาคากลาง = (คาสขาว + คาสด า)/2 = (900+100)/2

= 500

Page 109: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

หนยนต iBOT เคลอนทตามเสน

void loop()

{

L=analog(1);R=analog(2);

if(L>500&&R>500)

{fd(60);}

else if(L<500&&R>500)

{tl(60);}

else if(L>500&&R<500)

{tr(60);}

}

Page 110: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

#include <ipst.h>

void setup(){

glcd(1,1,"Press OK");

sw_OK_press();

motor(1,40); motor(2,40);

sleep(4000); ao();

}void loop(){

}

Page 111: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

• ใชไอซเบอร ULN2003 ขบรเลย 12V 4 ชอง• ใชไฟเลยง +12V ตอแยก• รบลอจก “1” ใหรเลยท างาน• ม LED แสดงการท างาน• ขบ 220VAC 5A ขบโหลดได 600W

ขดลวดNO (ปกตเปด)

COM (ขารวม)NC (ปกตปด)

Page 112: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 113: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

รเลย (RELAY)

รเลย (Relay) คอ สวตซทถกส งใหท างาน โดยการปอนสญญาณเพอใชควบคมการท างาน โดยใชหลกการเหนยวน าของขดลวด เกดเปนสนามแมเหลกไฟฟาบรเวณหนาสมผส การทจะท าใหรเลยท างานตองจายไฟใหตามทก าหนด กจะท าใหหนาสมผสตดกนดงภาพ

Page 114: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

หลกการท างานของรเลย

เมอไมกดสวตซ รเลยจะไมท างานขา COM เชอมตอกบขา NC

Page 115: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

เมอกดสวตซ รเลยจะท างาน ขา COM จะเชอมตอกบขา NO

หลกการท างานของรเลย

Page 116: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 117: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

+V

220V

Compressor

Microcontroller

A/D in

Digital In

Data In

Digital Out

Page 118: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

Solid State Relay

Page 119: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ตวอยางโครงงาน

Page 120: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

กลองหาความสงอตโนมต

ตวอยาง Project ทใช SCI-BOX

Page 121: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

กลองหาความสงอตโนมต• วตถประสงค เพอสรางกลองหาความสงอตโนมต

• แนวคด ในชวตประจ าวนทวไปหลายครงทตองการทราบความสงของวตถแตไมสามารถใชอปกรณหรอเครองวดโดยตรงได เชน ความสงของเสาธง ความสงของตนไม ความสงของหนาผา เปนตน แตเราสามารถค านวณหาความสงสงเหลานไดโดยใชกระบวนการทางคณตศาสตร ในเรองของสามเหลยมคลาย ใชทฤษฎพธากอรส หรอใชความรทางตรโกณมต แตจะตองเสยเวลาในการค านวณหรอค านวณไมถกตอง แนวทางหนงทสามารถหาความสงของวตถดงกลาวไดงายและ รวดเรวกคอ การสรางกลองหาความสงอตโนมต

Page 122: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

วงลออศวน

ตรวจจบการหมน

SCI-BOX

LCD

ใชวงลอหมนเพอวดระยะทางดวยการนบจ านวนรอบน ามาคณกบความยาวของเสนรอบวง โดยการใชอปกรณตรวจจบนบจ านวนรอบและค านวณระยะทางดวยกลองสมองกลและแสดงผลผานทางจอ LCD

หลกการ

Page 123: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

ROBOT

Page 124: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร

การสรางหนยนต

Page 125: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 126: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 127: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 128: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 129: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 130: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 131: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 132: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 133: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 134: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 135: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 136: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 137: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 138: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 139: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร
Page 140: การใช้งาน กล่องสมองกลตัวอย่างระบบควบคุมอย่างง่ายๆ ตัวอย่างการใช้งานไมโคร