01 ipst microbox
DESCRIPTION
แนะนำชุดกล่องสมองกล IPST MicroBOX ปฐมนิเทศก่อนเรียนเทคนิคปฏิบัติการวิทยาศาสตร์TRANSCRIPT
IPST-MicroBOX
กล่องสมองกล
ไมโครคอนโทรลเลอร์
ประวติัไมโครโปรเซสเซอร์
คอมพิวเตอร ์คือ อุปกรณ์ที �ใชซ้อฟตแ์วรเ์ป็นตวัดาํเนินการทาํงาน ว่าตอ้งการให้อุปกรณ์ใดทาํงานใดบา้ง
การพฒันาระบบคอมพวิเตอรก์เ็ป็นรปูเป็นร่างมากขึ�นเมื�อ Intel ไดพ้ฒันาอุปกรณ์สาํหรบัประมวลผลคาํสั �ง ที�เรยีกว่า “ไมโครโปรเซสเซอร”์ "(Microprocessor)"
MPU 4004 (MCS-4)
ไมโครโปรเซสเซอรต์วัแรกของโลกไมโครโปรเซสเซอรต์วัแรกของโลก 1971: 4004 ไมโครโปรเซสเซอร์
เป็นไมโครโปรเซสเซอรต์วัแรกจากอนิเทล ประดษิฐกรรมชิ�นนี�พฒันาขึ�นเพื�อใชก้บัเครื�องคดิเลขของ Busicom และปูทางเขา้สูก่ารออกแบบสิ�งประดษิฐใ์หม่ๆ อย่างเช่น เครื�องคอมพวิเตอรส์ว่นบุคคล จาํนวนทรานซิสเตอร:์ 2,300 ตวัความเรว็สญัญาณนาฬิกา: 108 kHz
1972: 8008 ไมโครโปรเซสเซอร ์8008 เป็นไมโครโปรเซสเซอรท์ี�มปีระสทิธภิาพสงูกว่ารุ่น 4004 ถงึสองเท่า โดยมกีารกล่าวถงึในบทความของ Radio Electronics เมื�อปี 1974 ว่า อุปกรณ์ที�ชื�อ Mark-8 ใชช้ปิ 8008 สาํหรบั Mark-8 นั �นเป็นที�รูจ้กักนัว่าคอืคอมพวิเตอร์รุ่นแรกสาํหรบัใชภ้ายในบา้น จาํนวนทรานซิสเตอร:์ 3,500 ตวัความเรว็: 200 kHz
ไมโครคอนโทรลเลอรก์บัไมโครโปรเซสเซอร์
Address
Data
Microprocessor
ROM
RAM
MicroController
I/O
Oscillator
Address
Data
Address
Data
Interrupt
Watchdog
จริง ๆ แล้วไมโครโปรเซสเซอรส์ามารถนําไปประยุกต์ใช้ในงานต่างๆ มากมาย แต่ด้วยขนาดของระบบซึ�งมีขนาดใหญ่ รวมถึงลกัษณะงานบางอย่างไม่จาํเป็นต้องใช้ความสามารถในการประมวลผลมากนัก
ไมโครคอนโทรลเลอรจ์ึงได้ถือกาํเนิดขึ�น โดยได้ทาํการรวมอปุกรณ์พื�นฐานต่างๆเข้ามาอยู่ในไอซีตวัเดียว เพื�อลดขนาดและความซบัซ้อนของวงจรลง ทาํให้ราคาของระบบถกูลง
ไมโครคอนโทรลเลอรที์�มีใช้งานทั �วๆไป
ไมโครโปรเซสเซอร์
ไมโครคอนโทรลเลอร ์PIC
ไมโครคอนโทรลเลอร ์MCS-51
ไมโครคอนโทรลเลอร ์BASIC Stamp ไมโครคอนโทรลเลอร ์AVR
ประโยชน์ของไมโครคอนโทรลเลอร์
ตวัอย่างการใช้งานไมโครคอนโทรลเลอร์ในเครื�องปรบัอากาศ
ตรวจสอบการเปิดจากรีโมตหรือสวิตช์
ระบบควบคุมของเครื�องปรบัอากาศ
สั �งใหค้อมเพรสเซอรท์าํงาน
ตรวจสอบอุณหภูมิจากเซนเซอร ์กบัค่าที�ตั�งไว ้
สั �งใหค้อมเพรสเซอรห์ยุดทาํงาน
มากกว่าค่าที�ตั�งไว้
นอ้ยกว่าค่าที�ตั�งไว้
+V
220V
Compressor
Microcontroller
A/D in
Digital In
Data In
Digital Out
การพฒันาโปรแกรมกบัไมโครคอนโทรลเลอร์การพฒันาโปรแกรมกบัไมโครคอนโทรลเลอร์
ฮารด์แวร์ซอฟตแ์วร์ภาษา C
ภาษา BASICภาษา Java Analog
Digital
ขั �นตอนการพฒันาโปรแกรมกบัไมโครคอนโทรลเลอร์ขั �นตอนการพฒันาโปรแกรมกบัไมโครคอนโทรลเลอร์1
ออกแบบฮารด์แวร์
2
เขยีนโปรแกรมบนคอมพวิเตอร์
3
คอมไพลโ์ปรแกรมเป็นภาษาเครื�อง
4
ดาวน์โหลดโปรแกรมไปยงับอรด์
5
ตรวจสอบขอ้ผดิพลาด
6
แกไ้ขขอ้ผดิพลาด
ภาษาที�ใช้เขียนติดต่อกบัไมโครคอนโทรลเลอร์
เช่นเดียวกบัการเขียนโปรแกรมบนคอมพิวเตอร ์ไมโครคอนโทรลเลอรส์ามารถเขียนโปรแกรมโดยใช้ภาษาระดบัสูง เช่น
ภาษา BASIC ภาษา C หรือ PASCAL ได้ แต่ภาษาที�ติดกบัตวัไมโครคอนโทรลเลอรแ์ต่ละตวัมาคือ ภาษาแอสเซมบลี�
ในแต่ละตระกลูของไมโครคอนโทรลเลอร์กจ็ะมีโครงสร้างทางภาษา (แอสแซมบลี� ) แตกต่างกนั
ภาษาสงูกบัไมโครคอนโทรลเลอรแ์บง่ออกเป็น ภาษาสงูกบัไมโครคอนโทรลเลอรแ์บง่ออกเป็น 2 2 รปูแบบคือรปูแบบคือ
1. ใช้คอมไพเลอร ์ภาษาต่าง ๆ ช่วยในการเขียนโปรแกรม2. ใช้อินเตอรพ์รีเตอร ์ซึ�งฝงัตวัอยู่ในโมดลูไมโครคอนโทรลเลอรเ์บอรนั์�น ๆ
การพฒันาไมโครคอนโทรลเลอรใ์นปัจจบุนัการพฒันาไมโครคอนโทรลเลอรใ์นปัจจบุนัรปูแบบที� 1 ใช้ไมโครคอนโทรลเลอรมี์ตวัแปลภาษา
• โมดลูสาํเรจ็รปู ไม่ต้องพึ�งอปุกรณ์ภายนอก
• มี อินเตอรพ์รีตเตอร ์(ตวัแปลภาษาในตวั)
• ซอฟตแ์วรภ์าษาเบสิกเขียนง่าย มีให้ใช้งานฟรี
• ใช้เวลาในการเรียนรู้น้อย พฒันางานได้เรว็
ราคาค่อนข้างสูงเมือเทียบกบัไมโครคอนโทรลเลอรต์ระกลูอื�น
การพฒันาไมโครคอนโทรลเลอรใ์นปัจจบุนัการพฒันาไมโครคอนโทรลเลอรใ์นปัจจบุนั
รปูแบบที� 2 ใช้ไมโครคอนโทรลเลอรผ์า่นคอมไพเลอร์
• ต้องใช้เครื�องโปรแกรมภายนอกในการโปรแกรม
• คอมไพเลอรภ์าษา C แจกฟรี
• ทาํงานด้วยความเรว็สงู
• ราคา(ไมโครคอนโทรลเลอร ์) ไม่แพง
สาํหรบัผู้เริ�มต้น ใช้ระยะเวลาในการเรียนรู้นานกว่ารปูแบบที� 1
ATMEGA-16 จาก ATMEL หวัใจของ IPST-MicroBOX• หน่วยความจาํโปรแกรมภายใน 16 kByte
• หน่วยความจาํ RAM 1 kByte
• ทาํงานดว้ยความเรว็ 16 ลา้นคําสั �งต่อวนิาที
• พอรต์อนิพุตเอาตพ์ุต 32 ตําแหน่ง
• การสื�อสารอนุกรม SPI/I2C/USART
• วงจรแปลงสญัญาณอะนาลอกเป็นดจิติอล 10 บติ 8 ช่อง
• สามารถโปรแกรมและลบไดน้บัหมื�นครั �ง
แนะนํากลอ่งสมองกล
IPST-MICROBOX
ชุดสมบูรณ์แบบ
บอรด์ควบคมุหลกับอรด์ควบคมุหลกั
กลุ่มบอรด์ควบคมุและโปรแกรม
• เครื�องโปรแกรม PX-400
• บอรด์หลกั IPST-MICROBOX
กลุ่มแผงวงจรตรวจจบัแบบดจิติอล
• แผงวงจรสวติช์
• โมดลูรบัแสงอนิฟราเรด
กลุ่มแผงวงจรตรวจจบัแบบอะนาลอก
• วดัแสง,อุณหภมู,ิเสยีง
• วดัความตา้นทาน,สนามแมเ่หลก็
กลุ่มแผงวงจรขบัเอาตพ์ุต
• ขบั LED ,ขบั 7 เซกเมนต์
• ขบัมอเตอร,์ขบัรเีลย์
กลุ่มบอรด์ควบคมุและโปรแกรมกลุ่มบอรด์ควบคมุและโปรแกรม
กลุ่มแผงวงจรขบัเอาตพ์ตุกลุ่มแผงวงจรขบัเอาตพ์ตุ
แผงวงจรขบั แผงวงจรขบั LED LED สองสีสองสี
แผงวงจรขบั แผงวงจรขบั LED LED อินฟราเรดอินฟราเรด
แผงวงจรขบัลาํโพงเปียโซแผงวงจรขบัลาํโพงเปียโซ
แผงวงจรขบัรีเลย์แผงวงจรขบัรีเลย์แผงวงจรขบั ตวัเลข แผงวงจรขบั ตวัเลข 77 ส่วนส่วน
แผงวงจรขบัมอเตอร์แผงวงจรขบัมอเตอร์แผงวงจรแสดงผลและพอรต์เอนกประสงค์แผงวงจรแสดงผลและพอรต์เอนกประสงค์
กลุ่มแผงวงจรตรวจจบัแบบดิจิตอลกลุ่มแผงวงจรตรวจจบัแบบดิจิตอล
• เป็นอุปกรณ์รบัขอ้มลูดจิทิลั• ใหโ้ลจกิ ‘0’ ถา้ตรวจจบัคลื�นอนิฟราเรดย่านความถี� 38kHz ได้
2 ชดุ
กลุ่มแผงวงจรตรวจจบัแบบอะนาลอกกลุ่มแผงวงจรตรวจจบัแบบอะนาลอก
แผงวงจรตรวจจบัแสงแผงวงจรตรวจจบัแสง
แผงวงจรตรวจจบัแสงแผงวงจรตรวจจบัแสงอินฟราเรดอินฟราเรด
แผงวงจรตรวจจบัการสะท้อนแผงวงจรตรวจจบัการสะท้อน
แผงวงจรตรวจจบัสนามแม่เหลก็แผงวงจรตรวจจบัสนามแม่เหลก็
แผงวงจรตรวจจบัอุณหภมิูแผงวงจรตรวจจบัอุณหภมิู
โมดลูตรวจจบัและวดัระยะทางโมดลูตรวจจบัและวดัระยะทางด้วยแสงอินฟราเรดด้วยแสงอินฟราเรด
แผงวงจรตรวจวดัค่าความต้านทานแผงวงจรตรวจวดัค่าความต้านทาน
โมดลูตรวจจบัเสียงโมดลูตรวจจบัเสียง
กลุ่มแผงวงจรตวัต้านทานปรบัค่าได้กลุ่มแผงวงจรตวัต้านทานปรบัค่าได้
แผงวงจรตวัต้านทานปรบัค่าได้ ตั �วตั �งแผงวงจรตวัต้านทานปรบัค่าได้ ตั �วตั �ง
แผงวงจรตวัต้านทานปรบัค่าได้ ตั �วนอนแผงวงจรตวัต้านทานปรบัค่าได้ ตั �วนอน
แผงวงจรตวัต้านทานปรบัค่าได้ แบบเลื�อนแผงวงจรตวัต้านทานปรบัค่าได้ แบบเลื�อน
สญัลกัษณ์ของสญัลกัษณ์ของตวัต้านทานปรบัค่าได้ตวัต้านทานปรบัค่าได้
การติดตั �ง
AVR Studio AVR Studio เครื�องมือหลกัในการพฒันาโปรแกรมบนไมโครคอลโทรเลอรต์ระกลู AVR
เครื�องมอืสาํหรบัสรา้งและแกไ้ขซอรส์โคด้
เครื�องมอืสาํหรบัคอมไพลซ์อรส์โคด้ใหเ้ป็นภาษาเครื�อง
เครื�องมอืสาํหรบัการจาํลองการทํางาน
เครื�องมอืสาํหรบัโปรแกรมไมโครคอนโทรลเลอรผ์่านพอรต์อนุกรม
* AVR Studio ไมม่ีคอมไพเลอรภ์าษา C ติดตั �งอยู่ภายในจะต้องติดตั �งโปรแกรม Winavr ก่อนถงึจะคอมไพลภ์าษา C ได้
AVR Studio เป็นซอฟตแ์วรจ์ากผูผ้ลิตชิปไมโครคอนโทรลเลอร ์AVR สามารถดาวน์โหลดเวอรช์นัล่าสุดได้ที� www.atmel.com/avr
เลือกหวัข้อ Tools & Software
ซอฟตแ์วรค์อมไพลเ์ลอรภ์าษา C สาํหรบัไมโครคอนโทรลเลอร ์AVR
เป็นซอฟตแ์วร ์open source ดาวน์โหลดโปรแกรมได้ที� http://sourceforge.net/projects/winavr/
ผลลพัธจ์ากการคอมไพลเ์ป็น *.hex ดาวน์โหลดลงไมโครคอนโทรลเลอร์ได้ทนัที
ใช้งานรว่มกบั AVR Studio โดย AVR Studio จะค้นหาโปรแกรม WINAVR โดยอตัโนมติัหลงัจากติดตั �งแล้ว
segment.h สาํหรบัควบคมุการแสดงผล 7
เซกเมนต์
lcd.h สาํหรบัควบคมุการแสดงผล LCD
led.h สาํหรบัควบคมุ LED 8 ดวงบนบอรด์ 7
เซกเมนต์
motor.h สาํหรบัการควบคมุมอเตอร์
serial.h สาํหรบัการสื�อสารข้อมูลอนุกรมกบั
คอมพิวเตอร์
sound.h สาํหรบัการสร้างเสียง
analog.h สาํหรบัการอ่านค่าอะนาลอกจากขา
พอรต์ของ AVR
in_out.h สาํหรบัการอ่านค่าและส่งค่าไปยงั
พอรต์อินพตุเอาต์พตุ
เป็นไฟลส์นับสนุนชุดคาํสั �งหรอืฟังกช์นัต่าง ๆ
gp2d120.h ,srf05.h , sht11.h, timer.h , memsic.h
ทาํการคดัลอก โฟลเดอร ์include ไปไว้ในไดรฟ์ C เพื�อการเรียกใช้งานได้สะดวก
ทดลองสร้าง ทดลองสร้าง Project Project
เลือก New Project หลงัจากเรียกโปรแกรม AVR Studio
ทดลองสร้าง ทดลองสร้าง Project Project
Project type: AVR GCC
Project name: Counting
เลอืก Location ตามความเหมาะสม ตั �งชื�อ Counting
ทดลองสร้าง ทดลองสร้าง Project Project
รายชื�อไฟลที์�เกี�ยวข้อง
เขียนซอรส์โค้ดภาษา C
หน้าต่างแสดงผลลพัธ์การคอมไพล์
การปรบัแต่งค่าในโปรเจค็ โปรเจค็ที�สรา้งขึ�นใหมต่อ้งผา่นการปรบัคา่ต่าง ๆ กอ่นเริ�มพฒันา
โปรแกรม
เลอืกเมนู Project Configuration Options
atmega16
16000000
เชค็ทั �งหมด
หวัข้อ General
การปรบัแต่งค่าในโปรเจค็
กดเพื�อเพิ�มไฟล ์กดเพื�อเพิ�มไฟล ์includeinclude
หวัข้อที� 2
การปรบัแต่งค่าในโปรเจค็
ปรบัแต่งเฉพาะเมื�อต้องการใช้งานเกี�ยวข้องกบัการคาํนวณคณิตศาสตร์
serial.h และ lcd.h
เพิ�มไลบรารี libm.a
ชุดคาํสั �งในไลบรารี ชุดคาํสั �งในไลบรารี IPSTIPST
in_out.h – รวมคาํสั �งพื�นฐานเพื�อจดัการอนิพุตเอาทพ์ุต
sleep.h – รวมคาํสั �งหน่วงเวลาเป็นมลิลวินิาที
led.h – รวมคาํสั �งแสดงผลขอ้มลูบนแถว LED 8 ดวง
segment.h – รวมคําสั �งแสดงผลขอ้มลูบน LED แบบ 7 ส่วน
timer.h – รวมคาํสั �งจบัเวลา
analog.h - รวมคําสั �งอ่านค่าอนิพุตแบบอะนาลอก
sound.h – รวมคาํสั �งส่งสญัญาณเสยีงออกทางลาํโพงเปียโซ
motor.h – รวมคาํสั �งควบคุมมอเตอรไ์ฟตรง
ตาํแหน่งต่าง ๆบนบอรด์ IPST-MICROBOXพอรต์ C สาํหรบัต่อบอรด์ขบั 7 เซกเมนต์ สวิตช์ เปิด/ปิด
จุดต่อไฟเลี�ยงจากอแดปเตอร์
จุดต่อไฟจากแบตเตอรี�
พอรต์ D(เอนกประสงค)์
พอรต์ D0 และ D1รบัและส่งข้อมูลอนุกรม
จุดเชื�อมต่อสาํหรบัดาวน์โหลดโปรแกรม
สวิตช์รีเซต
พอรต์ B0-B4(เอนกประสงค)์
พอรต์ A0-A5(อินพุตอะนาลอก)
พอรต์ A6-A7(อินพุตอะนาลอก)
ไมโครคอนโทรลเลอร์ATMEGA16
คริสตอล 16 MHz
การเชื�อมต่อกบัคอมพิวเตอรเ์พื�อดาวน์โหลดข้อมูลการเชื�อมต่อกบัคอมพิวเตอรเ์พื�อดาวน์โหลดข้อมูล
การทดลองอุปกรณ์กลุม่
แผงวงจรขบั แผงวงจรขบั LED LED สองสี สองสี : : ZXZX--LEDLED22CC
220
HIGH
LOW
O LED
Bi-colorLED
R
G
+S
+S
ใช้ LED แบบ 2 สีในการแสดงผล โดยเลือกได้ 2 แบบช่อง HIGH ถ้าอินพตุเป็นลอจิก "1" LED ติดเป็นสีแดง ช่อง LOW ถ้าอินพตุเป็นลอจิก "0" LED ติดเป็นสีเขียว ถ้าไม่ใช่สญัญาณที�กาํหนด LED จะดบั