Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore zzkm

zzkm

Published by saratoolpechkomkam, 2021-01-28 06:15:08

Description: zzkm

Search

Read the Text Version

48 การประกาศตวั แปรแบบสตัคเจอร์ (Structure) เป็นการประกาศตวั แปรท่สี ามารถรวมกลุ่มของข้อมูลได้หลายชนิดไม่ว่าจะเป็นตัวเลขจานวน เตม็ ตวั เลขท่ีเปน็ ทศนิยมหรือเปน็ ตวั อักษรกต็ าม โดยสามารถใช้งานได้ในเวลาเดียวกนั เนื่องจากตัวแปร ย่อยๆ ภายในสตัคเจอร์ได้ถูกแยกพื้นที่หน่วยความจาสาหรับการเก็บข้อมูล วิธีการประกาศมีรูปแบบ ดังนี้ การประกาศ struct ช่ือตวั แปรสตัคเจอร์ { ชนิดตวั แปร ช่อื ตวั แปรตัวท่ี 1; ชนดิ ตวั แปร ชอื่ ตัวแปรตัวที่ 2; --- }; การใช้งาน ชือ่ ตวั แปรสตัคเจอร์ ชอ่ื ตวั แปรใหม่ทต่ี ้องการตง้ั ชอ่ื ={ค่าเร่ิมตน้ ของตวั แปรตัวท่ี 1, 2, …}; ตัวอยา่ งเช่น รายละเอียดโคด้ โปรแกรม - บรรทดั ท่ี 1-6 เป็นการประกาศตัวแปรแบบสตัคเจอร์โดยต้ังช่ือว่า VALUE มีตัวแปรภายใน 3 ตัวท่ีเก็บ ข้อมลู แตกตา่ งกัน - บรรทัดที่ 7 เปน็ การกาหนดค่าเร่ิมต้นโดยสามารถเปล่ียนช่ือเรียกใหม่ได้ ในท่ีน้ีเปลี่ยนช่ือจาก VALUE เป็นชื่อว่า data และสามารถกาหนดค่าเร่ิมต้นเข้าไปในทุกตัวแปรภายในได้ในข้ันตอนน้ี จากตัวอย่าง กาหนดตวั แปร data.a=123 ตวั แปร data.b=12345 และตัวแปร data.c=123.45

การประกาศตวั แปรแบบยูเนยี น (Union) 49 เป็นการประกาศตัวแปรทส่ี ามารถรวมกลุ่มของข้อมูลได้หลายชนิดเช่นเดียวกับแบบสตัคเจอร์แต่มีความ แตกต่างตรงที่แบบยูเนียนใช้หน่วยความจาเก็บข้อมูลในตาแหน่งเดียวกันในทุกตัวแปรดังนั้นเวลาใช้งานจึงไม่ สามารถใชพ้ รอ้ มกันได้ เนื่องจากตวั แปรท่ีกาหนดค่าตัวหลังสุดจะเป็นตัวที่ได้ใช้งานหน่วยความจาในตาแหน่งน้ันๆ ทาใหข้ ้อมลู ในตัวแปรแรกๆ ถูกแทนทไ่ี ปด้วยค่าในตัวแปรล่าสุดแทนรูปแบบการประกาศดังนี้ การประกาศ union ชอ่ื ตัวแปรยูเนียน { ชนดิ ตวั แปร ชื่อตัวแปรตัวที่ 1; ชนิดตวั แปร ชือ่ ตวั แปรตวั ท่ี 2; --- }; การใช้งาน ช่ือตวั แปรยเู นียน ช่ือตวั แปรใหม่ทีต่ ้องการตง้ั ชื่อ; ตวั อย่างเชน่

50 รายละเอยี ดโค้ดโปรแกรม - บรรทัดท่ี 1-6 เป็นการประกาศตัวแปรแบบยูเนียนโดยต้ังชื่อว่า VALUE มีตัวแปรภายใน 3 ตัวท่ีเก็บ ขอ้ มลู แตกตา่ งกนั - บรรทัดที่ 7 เปน็ การกาหนดช่ือเรียกใหมใ่ นที่นี้เปลี่ยนชื่อจาก VALUE เปน็ ชอื่ ว่า data แต่ไม่ สามารถกาหนดค่าเริ่มต้นแบบตัวแปรสตรัคเจอร์ได้ - บรรทัดท่ี 11 เป็นการกาหนดคา่ ใหก้ บั ตวั แปรตัวแรก data.a พร้อมนาไปใช้งานทันที โดยตวั อย่าง ดงั กลา่ วเปน็ การนาสง่ ขอ้ มลู ออกทางพอร์ตอนุกรมเพื่อแสดงผลหนา้ จอคอมพิวเตอร์ - บรรทดั ที่ 12 เป็นการกาหนดคา่ ให้กบั ตวั แปรตัวแรก data.b คา่ ของตัวแปรนจี้ ะไปทบั ขอ้ มูลของ data.a ซง่ึ ตอนน้ีไม่ได้ใชง้ านแล้ว - บรรทัดที่ 13 เป็นการกาหนดคา่ ให้กับตัวแปรตัวแรก data.c ค่าตวั แปรนี้จะไปทบั ขอ้ มูลของตวั แปร data.b เน่อื งจากใช้ตาแหน่งของหน่วยความจาเดยี วกนั ในการเกบ็ ขอ้ มลู หากกาหนดค่าตวั แปรตอ่ เนอ่ื งกนั ตวั แปรตวั สดุ ท้ายจะไปทับข้อมลู ตัวแปรตัวแรกๆ ของตวั แปรยเู นยี น ตัวอย่างเช่น

51 แบบทดสอบหลงั เรยี นบทท่ี 3

52 แบบทดสอบกอ่ นเรยี นบทท่ี 4

53 บทที่ 4 เคร่ืองมอื ช่วยงานไมโครคอนโทรลเลอร์ Arduino หัวข้อเรื่อง 4.1 เคร่ืองมอื แปลงภาษาซเี ป็นภาษาเครอ่ื งและอัพโหลดไฟล์ลงชิพ 4.2 ไดรฟ์ เวอร์ USB สาระสาคญั เครื่องมือช่วยพัฒนางานไมโครคอนโทรลเลอร์ เป็นเครื่องมืออานวยความสะดวกทาให้สามารถ พัฒนางานได้ง่ายและเร็ว เคร่ืองมือที่นามาใช้งานมี 3 อย่างด้วยกัน คือ เคร่ืองมือแปลงภาษาซีเป็น ภาษาเคร่ืองพร้อมอัพโหลดลงชิพและไดรฟ์ เวอร์ USB สมรรถนะประจาหนว่ ยการเรียนรู้ รแู้ ละเข้าใจการใช้งานและสามารถใชเ้ ครือ่ งมือชว่ ยพัฒนางานไมโครคอนโทรลเลอร์ จดุ ประสงคก์ ารเรียนรู้ จดุ ประสงค์ท่วั ไป 1. เพอื่ ให้มคี วามรเู้ กย่ี วกบั เครอื่ งมอื แปลงภาษาซีเป็นภาษาเคร่ืองและอัพโหลดไฟล์ลงชพิ 2. เพอ่ื ให้มีความรูเ้ ก่ยี วกับการติดตัง้ ไดร์ฟเวอร์ USB จุดประสงค์เชิงพฤติกรรม 1. บอกเกีย่ วกบั เครื่องมอื แปลงภาษาซีเปน็ ภาษาเคร่ืองและอพั โหลดไฟล์ลงชพิ ได้ 2. บอกข้นั ตอนการติดตง้ั ไดรฟ์ เวอร์ USBได้

เครอ่ื งมือช่วยงานไมโครคอนโทรลเลอร์ Arduino 54 การพฒั นาไม่วา่ จะเป็นการพฒั นาในเร่อื งใดกต็ ามหากมีเครื่องมือช่วยพัฒนางานที่มีคุณภาพจะทาให้งาน น้ันๆ สามารถพัฒนาไปได้เร็วและจะส่งผลให้ผู้พัฒนางานสามารถใช้ความสามารถได้ เต็มท่ีสาหรับ ไมโครคอนโทรลเลอร์ในแพลทฟอร์ม Arduino มีเครอื่ งมอื ชว่ ยพัฒนางาน 3 ชนิด คอื 1. เครื่องมือแปลงภาษาซีเปน็ ภาษาเครอ่ื งและอพั โหลดไฟล์ลงชิพ 2. ไดร์ฟเวอร์ USB 3. เครอ่ื งมอื จาลองการทางาน 4.1 เคร่อื งมือแปลงภาษาซเี ปน็ ภาษาเครอื่ งและอพั โหลดไฟลล์ งชพิ เครอื่ งมือที่ใช้แปลงภาษาซีเป็นภาษาเครอื่ งหรือที่เรยี กกนั วา่ ซีคอมไพเลอร์ (C Compiler) เป็นโปรแกรม คอมพวิ เตอรช์ นิดหนง่ึ ท่ถี ูกสร้างขนึ้ เพอ่ื ใชส้ าหรบั แปลงภาษาซเี ป็นภาษาเคร่อื ง โปรแกรมที่ถูกออกแบบมาให้ใช้งาน กบั Arduino คือโปรแกรม Arduino IDE การติดต้งั และการใชง้ านมีดังนี้ การตดิ ตงั้ โปรแกรม Arduino IDE Arduino IDE เป็นโปรแกรมสาหรับเขียนโค้ดเพ่ือควบคุมการทางานของไมโครคอนโทรลเลอร์Arduino ซึ่งตัวโปรแกรมมีให้ดาวน์โหลดให้ใช้งานได้โดยไม่มีค่าใช้จ่ายและมี เวอร์ช่ันท่ีรองรับระบบปฏิบัติการ หลายแบบ เอกสารเล่มน้ีขอแนะนาเฉพาะโปรแกรมที่รองรบั ระบบปฏบิ ตั กิ ารวินโดวส์เท่านั้น โดยขั้นตอนมีดังน้ี 1. ดาวนโ์ หลดโปรแกรมโดยเขา้ ไปที่เว็ปไซด์ https://www.arduino.cc/en/Main/Software คลิก ท่คี าว่า SOFTWARE ดงั รูป รูปที่ 4-1 หน้าต่างเวป็ ไซต์สาหรบั ดาวน์โหลดโปรแกรม Arduino IDE 2. เลอื กดาวน์โหลดไฟลท์ ่เี ปน็ ไฟล์ zip (เพื่อให้ง่ายต่อการอัพเดจหรือถอนโปรแกรมออกในอนาคต) โดย คลกิ ตรงคาว่า Windows ZIP file for non admin install ดังรูป รูปท่ี 4-2 บริเวณท่สี าหรบั คลิกเพ่อื ดาวน์โหลดไฟล์ zip

3. คลกิ ตรงคาวา่ JUST DOWNLOAD เพอ่ื ดาวน์โหลดไฟล์ 55 รปู ท่ี 4-3 หน้าตา่ งเว็ปไซต์สาหรับคลกิ เพื่อดาวน์โหลด 4. แตกไฟลแ์ ล้วคัดลอกท้ังโฟลเดอรม์ าไวท้ ่ีไดรฟ์ C ดงั รปู รปู ที่ 4-4 คดั ลอกทง้ั โฟลเดอร์มาไวท้ ีไ่ ดรฟ์ C การใชง้ านโปรแกรม Arduino IDE การใชง้ านโปรแกรม Arduino IDE เพอ่ื เขียนโคด้ โปรแกรมควบคมุ การทางานของ Arduino สามารถใช้ ประโยชนไ์ ด้ 2 แนวทางคือ 1. เพ่ือนาไฟล์ภาษาเคร่ืองท่ไี ดจ้ ากการแปลงไปจาลองการทางานดว้ ยโปรแกรม Proteus 2. เพือ่ ทดลองวงจรจรงิ (ซง่ึ ต้องตดิ ต้งั ไดร์ฟเวอร์ USB กอ่ น)

การใช้งานโปรแกรม Arduino IDE มขี ้ันตอนดาเนินการดังนี้ 56 1. เรยี กใช้โปรแกรมด้วยการดับเบลิ คลกิ ไฟล์ Arduino.exe ในโฟลเดอร์โปรแกรมทไ่ี ด้แตกไฟล์ไว้ 2. ตง้ั ค่าบอรด์ ใหต้ รงกบั ทใี่ ช้งานซง่ึ มกี ารตง้ั คา่ อย่ดู ว้ ยกัน 4 รายการดังนี้ - ชนิดของบอรด์ Arduino ทีใ่ ช้งาน (กาลังเชื่อมตอ่ อยู่) - ชนดิ ของโพรเซสเซอร์ เลือกใหต้ รงกับโพรเซสเซอรข์ องบอรด์ (บอร์ดบางชนดิ ไม่ตอ้ งเลือก เนื่องจากมีใชง้ านเพยี งเบอร์เดียว) - คอมพอรต์ ทก่ี าลงั เชอ่ื มตอ่ เลือกใหต้ รงกบั ทีบ่ อรด์ Arduino กาลังเชื่อมต่อ (ดูจาก Device manager) - ชนิดของเครือ่ งโปรแกรม เลือก AVRISP mkII รูปที่ 4-5 การต้งั ค่าบอร์ดทใ่ี ช้งาน 3. ต้ังคา่ ในโปรแกรม Arduino IDE ใหแ้ สดงตาแหนง่ ของไฟลภ์ าษาเครอ่ื ง (HEX file) หลังจากการ คอมไพล์ผ่าน การต้ังคา่ ดงั รูป รูปท่ี 4-6 คลิก Preferences

4. คลิกเลอื กแสดงผลทงั้ 3 รายการดงั รปู 57 รปู ท่ี 4-7 คลกิ เลอื กทงั้ 3 รายการ 5. เขียนโคด้ โปรแกรมท่ีตอ้ งการในหนา้ ตา่ งโปรแกรม 6. ในกรณที ต่ี อ้ งการคอมไพลเ์ พอื่ ดูผลของการเขียนโปรแกรมว่าถูกไวยกรณ์หรอื ไม่ หรือ ต้องการไฟล์ภาษาเคร่อื ง (HEX file) ไปจาลองการทางานในโปรแกรมจาลองการทางาน เม่อื เขยี นโค้ด โปรแกรมเสรจ็ สิ้นแลว้ ใหค้ ลิกท่ปี ่มุ คอมไพล์ รปู ท่ี 4-8 คลกิ ปุ่มคอมไพลห์ ลังเขยี นโคด้ โปรแกรมเสรจ็ สิ้น 7. ในกรณีทีต่ ้องการไฟลภ์ าษาเคร่อื งไปจาลองการทางาน ให้คัดลอกตาแหน่งไฟล์ภาษาเครื่องในบริเวณ หน้าต่างผลการคอมไพล์ (พืน้ สีดา) โดยใช้เมาส์คลมุ ดาบริเวณที่อยู่ไฟล์แล้วกดคีย์บอร์ด Ctrl+C ตาแหน่ง ของไฟลจ์ ะถูกจาไว้ในคอมพิวเตอร์หากต้องการใช้กเ็ พียงวาง Ctrl+V รูปที่ 4-9 คดั ลอกตาแหนง่ ไฟล์ภาษาเคร่ือง (HEX file)

8. ในกรณที ่ีตอ้ งการอัพโหลดโคด้ ลงชิพของวงจรจรงิ ทเี่ ชื่อมต่อไวใ้ ห้คลกิ ท่ีปุ่ม Upload ดังรูป 58 รปู ท่ี 4-10 ปุ่มอพั โหลดโค้ดลงชิพไมโครคอนโทรลเลอร์ 4.2 การติดตง้ั ไดรฟ์ เวอร์ USB บอร์ด Arduino ปจั จบุ นั มหี ลายรนุ่ ซึ่งแตล่ ะรนุ่ อาจใช้ชพิ สาหรับติดต่อส่ือสารผ่านพอร์ต USBแตกต่างกัน ไป ซ่ึงบางรุ่นมีไดร์ฟเวอร์มาให้พร้อมในตัวโปรแกรม Arduino IDE แล้วเช่นบอร์ดที่ใช้ชิพ CP210x, FTDI, หรือ บอรด์ ท่ใี ช้ไมโครคอนโทรลเลอร์เปน็ ตวั สอื่ สารผา่ น USB ดังน้ันการติดตัง้ ผู้ใชง้ านสามารถเรียกใช้ได้เลยโดยไม่ต้องไป หาดาวน์โหลดไดร์ฟเวอรอ์ ีก โดยไดรฟ์ เวอร์จะอยใู่ นโฟลเดอร์ C:\\arduino-1.8.4\\drivers ดังรปู รูปท่ี 4-11 โฟลเดอรท์ ่เี กบ็ ไดร์เวอร์สาหรับชิพ USB บางรนุ่ ยกเว้นบอร์ดท่ีใช้ชิพ CH340,CH341 (บอร์ด Arduino Nano 3.0 เลือกใช้ชิพเบอร์นี้ในบางผู้ผลิต) ซ่ึง ผ้ใู ชง้ านจะต้องไปหาดาวนโ์ หลดไดรฟ์ เวอรเ์ พ่อื มาติดตัง้ เอง การดาวนโ์ หลดสามารถดาวน์โหลดไดร์ฟเวอร์ไดท้ ี่ http://www.winchiphead.com/download/CH341/CH341SER.ZIP การติดตัง้ มีขน้ั ตอนดังนี้ 1. แตกไฟล์ zip ไดรฟ์ เวอร์ทีด่ าวน์โหลดจากลิงคท์ ่ีกลา่ วมาแล้วข้างตน้ 2. เข้าไปในโฟลเดอร์ CH341SER แล้วดับเบลิ คลิกท่ีไฟล์ setup.exe ดังรูป

59 รูปที่ 4-12 โฟลเดอรท์ เี่ กบ็ ไดร์เวอร์สาหรบั ชิพ CH341หลงั จากการแตกไฟล์ 3. คลิกที่ปุม่ install เพื่อติดตั้งไดร์ฟเวอร์ USB ท่ีใชช้ ิพ CH340, CH341 ดงั รปู รปู ที่ 4-13 หนา้ ตาของโปรแกรมสาหรบั ตดิ ตง้ั ไดรฟ์ เวอร์ USB ท่ใี ชช้ ิพ CH340, CH341 4. ตรวจสอบการทางานของไดร์ฟเวอร์ด้วยการเชื่อมต่อบอร์ด Arduino เข้ากับคอมพิวเตอร์ด้วยสาย USB ทาการเปดิ Device Manager สงั เกตพอรต์ สื่อสารทป่ี รากฏขึ้นดงั รูป

59 รปู ท่ี 4-14 ผลการติดต้งั ไดร์ฟเวอรห์ ลังการเชื่อมตอ่ บอร์ด Arduino Nano 3.0

60 แบบทดสอบหลงั เรยี นบทท่ี 4

61 แบบทดสอบกอ่ นเรยี นบทท่ี 5

62 บทที่ 5 เครอ่ื งมือจาลองการทางาน หวั ขอ้ เรอื่ ง 5.1 เคร่อื งมือจาลองการทางาน สาระสาคัญ เครอื่ งมือช่วยพัฒนางานไมโครคอนโทรลเลอร์ เป็นเคร่อื งมอื อานวยความสะดวกทาให้สามารถพัฒนางาน ได้ง่ายและเรว็ เครอ่ื งมอื ทน่ี ามาใช้งานมี 3 อย่างดว้ ยกัน คือ เคร่อื งมอื แปลงภาษาซีเป็นภาษาเครื่องพร้อมอัพโหลด ลงชพิ เครอ่ื งมือจาลองการทางาน และไดรฟ์ เวอร์ USB สมรรถนะประจาหน่วยการเรียนรู้ รู้และเขา้ ใจการใชง้ านและสามารถใชเ้ ครอื่ งมอื ช่วยพฒั นางานไมโครคอนโทรลเลอร์ จดุ ประสงค์การเรียนรู้ จุดประสงคท์ ่วั ไป เพ่ือให้มคี วามรเู้ กี่ยวกบั เครอื่ งมือจาลองการทางาน จดุ ประสงค์เชงิ พฤติกรรม บอกเกยี่ วกบั เครื่องมอื จาลองการทางานได้

63 5.1 การติดต้งั ไดรฟ์ เวอร์ USB สาหรับผู้ที่ต้องการทดลองวงจรโดยท่ียังไม่มีวงจรจริง การจาลองด้วยโปรแกรมจาลองการทางานของ วงจรเป็นทางเลือกที่เหมาะสม โปรแกรมทสี่ ามารถทดลองวงจรไมโครคอนโทรลเลอร์ได้ดโี ปรแกรมหนึ่งที่ไดร้ บั ความ นิยมคอื Proteus และเนื่องจากโปรแกรมจาลองการทางานดังกล่าวจาเป็นต้องติดตั้งให้เป็นโปรแกรมตัวเต็มจึงไม่ สามารถเสนอขัน้ ตอนการติดตง้ั นไ้ี ด้ ซง่ึ ผูใ้ ชง้ านสามารถหาวิธีการติดตั้งได้จากอินเตอร์เน็ตได้ สาหรับข้ันตอนนี้เป็น ขน้ั ตอนเตรยี มโปรแกรมใหส้ ามารถจาลอง Arduinoได้เนื่องจากโปรแกรม Proteus หลังติดตั้งเรียบร้อยแล้วจะยัง ไม่มโี มเดลของบอร์ด Arduino ให้ใช้งานจึงจาเป็นต้องดาเนินการให้มีก่อน ซึ่งโมเดลจาลอง Arduino ผู้เขียน (ครู ประภาส สวุ รรณเพชร) ได้จดั สร้างโมเดลจาลองไวใ้ หผ้ ้ใู ชง้ านทั่วไปสามารถนาไปใช้งานได้ ข้ันตอนการดาเนินการมี ดงั น้ี 1. ดาวนโ์ หลดโมเดลจาลอง Arduino ท่ี http://www.praphas.com/download/arduino/ArduinoONO-RX[Lib].rar 2. ทาการแตกไฟล์ แลว้ คัดลอกไฟลโ์ มเดลจาลองท้งั สองไฟล์ดงั รูป รูปท่ี 5-1 คัดลอกไฟลโ์ มเดลจาลองท้งั สองไฟล์ 3. โดยนาไปวางไว้ในโฟลเดอร์ library ของโปรแกรม Proteus รปู ที่ 5-2 วางไฟลโ์ มเดลจาลองท้งั สองไฟล์ทีค่ ัดลองมาในโฟลเดอร์ LIBRARY

หมายเหตุ 64 *windows 32bit C:\\Program Files\\Labcenter Electronics\\Proteus 8 Professional\\LIBRARY *windows 64bit C:\\Program Files (x86)\\Labcenter Electronics\\Proteus 8 Professional\\LIBRARY ในกรณที ่ีลงเวอรช์ น่ั 8 ตาแหน่งจะอยใู่ นพิกัดทค่ี ลา้ ยกนั เพียงแต่เป็นชอ่ื Proteus 8 การจาลองการทางานดว้ ยโปรแกรม Proteus การทดลองการทางานของวงจรไมโครคอนโทรลเลอร์ Arduino แบบจาลองการทางานด้วยโปรแกรม Proteus สามารถเรยี กใชบ้ อร์ด Arduino ไดซ้ ่งึ โมเดล Arduino จะอยู่ในเมนู Emulator ดงั รูป รูปท่ี 5-3 ไมโครคอนโทรลเลอร์ Arduino ขั้นตอนการจาลองการทางานมีดังนี้ 1. เลอื กอปุ กรณท์ ่ีต้องการใชง้ านใหอ้ ยูใ่ นช่องรายการ รปู ที่ 5-4 การเลอื กอปุ กรณ์เพ่อื ใชง้ าน

2. ทาการตอ่ วงจรตามใบงานทีต่ ้องการทดลอง 65 รปู ท่ี 5-5 ต่อวงจรเพ่อื ทดลอง 3. คัดลอกตาแหน่งไฟลภ์ าษาเครอ่ื งจากโปรแกรม Arduino IDE แล้วคลกิ วางตาแหนง่ ไฟล์ ภาษาเครอ่ื ง ( Ctrl+V ) ลงในช่อง Program File: โดยการดับเบลิ คลิกที่ตัว Arduino รปู ท่ี 5-6 วางตาแหน่งไฟล์ภาษาเครอื่ ง (HEX file) ลงในช่อง

4. คลกิ ปุ่ม Run เพ่อื เร่มิ จาลองการทางาน 66 รูปที่ 5-7 เร่มิ จาลองการทางาน

68 แบบทดสอบหลงั เรยี นบทท่ี 5


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook