The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by anont989, 2024-03-19 04:13:25

microcontroller

microcontroller

หน่วยที่ 1 เริ่มต้นใช้งานไมโครคอนโทรเลอร์ Arduino


1. ไมโครคอนโทรลเลอร์Arduino Arduino (อาดุอีโน ่หรือ อาด ุ ยโน ่) มาจากภาษาอิตาลี เป็ นบอร์ดไมโครคอนโทรเลอร์ ตระกูล AVR ที่ถูกพัฒนา เป็ นแบบโอเพน ่ ซอร ์ ส (Open Source) ซึ่งผู้ผลิตเปิ ดเผย ขอ ้ ม ู ลท ้ ง ั ฮาร ์ ดแวร ์(Hardware) และซอฟต์แวร์ (Software)


1. ไมโครคอนโทรลเลอร์ Arduino • จ ุ ดเด ่ นของบอร ์ ดไมโครคอนโทรเลอร ์ Arduino – มีร ู ปแบบคา สง ั่พ ้ ื นฐาน ไม ่ ซบ ั ซอ ้ นเหมาะ และง ่ ายต ่ อการพัฒนา โปรแกรม – การใช้งานเป็ นแบบโอเพน ่ ซอร ์ ส (Open Source) สามารถน าบอร์ด ไปต ่ อยอดใชง ้ านไดห ้ ลายดา ้ น – สามารถพฒ ั นาโปรแกรมบนระบบปฏ ิ บต ัิ การต ่ างๆ ไดเ ้ ช ่ น Windows, Mac OS X หรือ Linux – บอร์ดไมโครคอนโทรเลอร์ Arduino ม ี ราคาไม ่ แพง


2. โครงสร้างของไมโครคอนโทรลเลอร์ Atmega328 เป็ นไอซีไมโครคอนโทรลเลอร์ของบริษัท Atmel มี โครงสร้างภายในเป็ นแบบ RISC (Reduced instruction set computer) ม ี หน ่ วยความจา โปรแกรมภายในเป็ นแบบแฟลช สามารถเขียน-ลบโปรแกรมใหม ่ไดห ้ ลายคร ้ ั งการโปรแกรม ข้อมูลเป็ นแบบ In-System programmable


2. โครงสร้างของไมโครคอนโทรลเลอร์ Atmega328 ตา แหน ่ งขาและร ู ปร ่ างของไมโครคอนโทรลเลอร ์ Atmega328


2. โครงสร้างของไมโครคอนโทรลเลอร์ Atmega328 บล็อกไดอะแกรมไมโครคอนโทรลเลอร์ Atmega328


3. สถาปั ตยกรรมหลก ั ของซ ี พย ี ู ตระกล ู AVR หน้าที่ของซ ี พ ี ย ู ค ื อ นา คา สง ั ่ และขอ ้ ม ู ลท ี ่ เกบ ็ ไวใ้ น หน ่ วยความจา มาแปลความหมายและกระทา ตามเร ี ยงกน ัไป ท ี ละคา สง ั ่ ตามคา สง ั ่ พ ้ ื นฐานของไมโครคอนโทรลเลอร์ ภายในซ ี พ ี ยม ู ี หน ่ วยคา นวณและตรรกะ หร ื อ Arithmetic & Logical Unit (ALU) เป็ นหน ่ วยท ี ่ ทา หนา ้ ท ี ่ คา นวณทาง คณ ิ ตศาสตร ์ไดแ ้ ก ่ การบวกลบ ค ู ณ หารและเปร ี ยบเท ี ยบ ทางตรรกะเพื่อท าการตัดสินใจ


3. สถาปั ตยกรรมหลก ั ของซ ี พย ี ู ตระกล ู AVR บล็อกไดอะแกรมสถาปัตยกรรมไมโครคอนโทรลเลอร์ AVR


4. บอร์ดไมโครคอนโทรลเลอร์ Arduino Uno R3 บอร์ด Arduino Uno ไดถ ้ ู กพฒ ั นาข ้ึ นมา ต ้ ง ั แต ่ R2, R3 และมีร ุ ่ นชิป ไอซีเป็ นแบบ SMD ในการเรียนรู้บอร์ดไมโครคอนโทรลเลอร์ Arduino น ้ ี ใชเ ้ป็ นบอร ์ ดร ุ ่ น Arduino Uno R3 ม ี ค ุ ณสมบต ัิ ของบอร ์ ดดง ั น ้ ี 1. ใช้ไอซีไมโครคอนโทรเลอร์ ATmega328 2. ใชแ ้ รงดน ัไฟฟ้ าเล ้ ี ยงไอซ ีไมโครคอนโทรเลอร ์ ATmega328 ม ี ค ่ า 5 โวลต์ 3. แรงดันไฟฟ้าป้อนที่บอร์ดไมโครคอนโทรลเลอร์ Arduino Uno R3 อย ู ่ ในช ่ วง7 –12โวลต์


4. บอร์ดไมโครคอนโทรลเลอร์ Arduino Uno R3 4. มีพอร์ตดิจิตอลอินพุต/เอาต์พุต (Digital I/O) จ านวน 14 พอร์ต (มี PWM output จ านวน 6 พอร์ต) 5. มีพอร์ตอนาล็อกอินพุต (Analog Input) จ านวน 6 พอร์ต 6. สามารถจ ่ ายกระแสไฟฟ้ าแต ่ ละพอร ์ ตได ้40 มิลลิแอมป์(mA) 7. สามารถจ ่ ายกระแสไฟฟ้ าในพอร ์ ต 3.3V จ ่ ายได ้50 มิลลิแอมป์(mA) 8. ม ี พ ้ ื นท ี่หน ่ วยความจา โปรแกรม 32 ก ิโลไบต ์(KB 9. ม ี พ ้ ื นท ี่หน ่ วยความจา ชว ั่คราวแบบ SRAM 2 ก ิโลไบต ์(KB) 10. ม ี พ ้ ื นท ี่หน ่ วยความจา ถาวรแบบ EEPROM 1 ก ิโลไบต ์(KB)


4. บอร์ดไมโครคอนโทรลเลอร์ Arduino Uno R3 4. มีพอร์ตดิจิตอลอินพุต/เอาต์พุต (Digital I/O) จ านวน 14 พอร์ต (มี PWM output จ านวน 6 พอร์ต) 5. มีพอร์ตอนาล็อกอินพุต (Analog Input) จ านวน 6 พอร์ต 6. สามารถจ ่ ายกระแสไฟฟ้ าแต ่ ละพอร ์ ตได ้40 มิลลิแอมป์(mA) 7. สามารถจ ่ ายกระแสไฟฟ้ าในพอร ์ ต 3.3V จ ่ ายได ้50 มิลลิแอมป์(mA) 8. ม ี พ ้ ื นท ี่หน ่ วยความจา โปรแกรม 32 ก ิโลไบต ์(KB 9. ม ี พ ้ ื นท ี่หน ่ วยความจา ชว ั่คราวแบบ SRAM 2 ก ิโลไบต ์(KB) 10. ม ี พ ้ ื นท ี่หน ่ วยความจา ถาวรแบบ EEPROM 1 ก ิโลไบต ์(KB) 11. ใช้ความถี่สัญญาณนาฬิกา 16 เมกะเฮิร์ท (MHz)


4. บอร์ดไมโครคอนโทรลเลอร์ Arduino Uno R3 บอร์ดไมโครคอนโทรลเลอร์ Arduino Uno R3 ภาคจ่ายไฟฟ้า หน่วยความจ า อนาลอ ็ กอน ิ พ ุ ต พอร ์ ตอน ิ พ ุ ต-เอาต ์ พ ุ ต การสื่อสาร


หน่วยที่ 2 การใช้งานโปรแกรม Arduino


การใช้งานโปรแกรม Arduino ซอฟต์แวร์ Arduino (IDE) หรือ Arduino Integrated Development Environment เป็ นซอฟต์แวร์แบบเปิ ดเผยซอร์ สโค้ด (Open Source) ซ ่ ึ งง ่ ายต ่ อการเข ี ยนโคด ้ และการอพ ั โหลดของผู้พัฒนาโปรแกรม


1. การติดตั้งโปรแกรม Arduino (IDE) 1.1 สามารถดาวน์โหลดซอฟแวร์โปรแกรม Arduino (IDE) จากเว็บไซต์ https://www.arduino.cc/en/Main/Software 1.2 ท าการดับเบิลคลิกที่ไอคอน arduino-1.6.12-windows 1.3 เม ื่อต ิ ดต ้ ง ั เสร ็ จแลว ้ ท ี่หนา ้เดสท็อปมีไอคอน สามารถคลิกเพื่อ เขา ้ส ู ่โปรแกรม 1.4 คลิกแถบเครื่องมือ Tool แล้วไปที่ Board เลือก“Arduino /Genuino Uno” 1.5 คลิกแถบเครื่องมือ Tool เพื่อเลือกไปที่ Port_ สา หร ั บต ิ ดต ่ อกบ ั บอร ์ ด Arduino Uno


2. ส่วนประกอบและแถบเครื่องมือของโปรแกรม Arduino (IDE) 2.1 ส ่ วนประกอบของโปรแกรม Arduino (IDE) แถบเมนู แถบเครื่องมือ ปุ่ม Serial Moniter ส าหรับแสดงข้อมูล การรับส่งระหว่าง บอร์ด Arduinoกับ คอมพิวเตอร์ พื้นที่ส ำหรับเขียนโปรแกรม พื้นที่แสดงข้อควำมกำรท ำงำน


2. ส่วนประกอบและแถบเครื่องมือของโปรแกรม Arduino (IDE) 2.2 แถบเครื่องมือเมนู -แถบเครื่องมือไฟล์ (File)


2. ส่วนประกอบและแถบเครื่องมือของโปรแกรม Arduino (IDE) 2.2 แถบเครื่องมือเมนู -แถบเคร ื่องม ื อแกไ้ ข(Edit)


2. ส่วนประกอบและแถบเครื่องมือของโปรแกรม Arduino (IDE) 2.2 แถบเครื่องมือเมนู -แถบเคร ื่องม ื อสเกต ็ ช ์(Sketch)


2. ส่วนประกอบและแถบเครื่องมือของโปรแกรม Arduino (IDE) 2.2 แถบเครื่องมือเมนู -แถบเครื่องมือ (Tools)


2. ส่วนประกอบและแถบเครื่องมือของโปรแกรม Arduino (IDE) 2.2 แถบเครื่องมือเมนู - ปุ่ ม Serial Monitor


3. การเขียนโปรแกรมและการอัพโหลดโปรแกรม 3.1 ท าการเขียนโปรแกรมเพื่อทดสอบการท างาน ลงในโปรแกรม Arduino (IDE)


3. การเขียนโปรแกรมและการอัพโหลดโปรแกรม 3.2 เมื่อเขียนโปรแกรมเสร็จเรียบร้อยแล้ว ให้ท าการคอมไพล์โปรแกรม 3.3 เม ื่อเข ี ยนโปรแกรมถ ู กตอ ้ งโปรแกรมแสดงขอ ้ ความวา ่ Done compiling. คลิกปุ่ม Verify/Compile


3. การเขียนโปรแกรมและการอัพโหลดโปรแกรม 3.4 จากน ้ น ั ทา การอพ ัโหลดโปรแกรมท ี่คอมไพลเ ์ ร ี ยบร ้ อยแลว ้ โดยการกดท ี่ปุ่ ม Upload 3.5 เม ื่อทา การอพ ัโหลดเสร ็ จเร ี ยบร ้ อยแลว ้ โปรแกรมแสดงขอ ้ ความวา ่ Done uploading คลิกปุ่ม Upload


หน่วยที่ 3 ช ุ ดคำ ส ั ่ งไมโครคอนโทรเลอร ์ Arduino


1. ช ุ ดคำ ส ั ่ งทใี ่ ช ้ในกำรเขย ี นโปรแกรม ไมโครคอนโทรลเลอร์ Arduino การเขียนโปรแกรมไมโครคอนโทรลเลอร์ Arduino สามารถเข ี ยนไดท ้ ้ ง ั ภาษาแอสเซมบล ี และภาษาระดบ ั ส ู ง ไดแ ้ ก ่ ภาษาซ ี ข ้ึ นอยก ู ่ บ ั วา ่ ผพ ู ้ ฒ ั นาโปรแกรมเล ือกใช้ภาษาใด มาใช้ส าหรับเขียนโปรแกรมเพื่อควบคุมการท างานของ ไมโครคอนโทรลเลอร์ Arduino


2. ภำษำแอสเซมบลีส ำหรับไมโครคอนโทรลเลอร์ Arduino ภาษาแอสเซมบลีจด ั จด ั เป็ นภาษาในระดบ ั ล ่ างเป็ นภาษาท ี่มี ความใกลเ ้ ค ี ยงกบ ั ภาษาเคร ื่องและฮาร ์ ดแวร ์ ของซ ี พ ี ย ู โครงสร้างของภาษา แอสเซมบลีส าหรับไมโครคอนโทรลเลอร์ Arduino ไม ่ แตกต ่ างจากภาษา แอสเซมบลีของสถาปัตยกรรมไมโครคอนโทรลเลอร ์ อ ื่นๆ ส ่ วนการเข ี ยน โปรแกรมภาษาแอสเซมบลีตอ ้ งทา การใชช ้ ุ ดคา สง ั่ ของซีพียูเพื่อเข้าถึง หน ่ วยความจา และขอ ้ ม ู ลในรีจิสเตอร์ซึ่งมีโดยตรง ส ่ งผลใหภ ้ าษา แอสเซมบลีมีความยง ุ ่ ยากในการใชง ้ านมากกวา ่ ภาษาระดับสูง


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino โครงสร้างภาษาซีของไมโครคอนโทรลเลอร์ Arduino โครงสร้างภาษาซีของไมโครคอนโทรลเลอร์ Arduino ใช้รูปแบบ การเขียนโปรแกรมของภาษา C++ แต ่ ละโปรแกรมตอ ้ งม ีฟั งกช ์ น ั่หลก ั อยา ่ ง น้อย 2 ฟั งกช ์ น ั่ ไดแ ้ ก ่ 1. ฟั งกช ์ น ั่ setup() เป็ นฟั งกช ์ น ั่การกา หนดค ่ าต ่ างๆ ในส ่ วนน ้ ี ม ี การ กา หนดค ่ าเพ ี ยงคร ้ ั งเด ี ยวเท ่ าน ้ น ั 2. ฟั งกช ์ น ั่ loop () เป็ นส ่ วนในการเข ี ยนโปรแกรมและสง ั่ใหโ้ปรแกรม ท างาน ซึ่งมีการท างานเป็ นแบบวนลูปไปเรื่อยๆ


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino 3.1 คา สง ั่การควบค ุ ม เป็ นคา สง ั่ใหไ้ มโครคอนโทรลเลอร ์ ทา งานตาม เงื่อนไข -คา สง ั่ if เป็ นคา สง ั่ในการตรวจสอบเง ื่อนไขการทา งานของโปรแกรม ถา ้ เง ื่อนไขเป็ นจร ิ งใหท ้ า งานตามคา สง ั่ท ี่กา หนดน ้ น ั -คา สง ั่ if...else เป็ นคา สง ั่กา หนดเง ื่อนไขการทา งานของโปรแกรม โดยมี 2 เง ื่อนไขถา ้ เง ื่อนไขเป็ นจร ิ งทา งานตามคา สง ั่ท ี่กา หนดแบบหนึ่ง ถ้า เง ื่อนไขเป็ นเทจ ็ ทา งานตามคา สง ั่ท ี่กา หนด อ ี กแบบหนึ่ง -คา สง ั่ for เป็ นคา สง ั่ใหโ้ปรแกรมทา งานซ ้ า ตามจา นวนรอบที่ต้องการ


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino -คา สง ั่ switch case เป็ นคา สง ั่เพ ื่อกา หนดการทา งานของโปรแกรม หลายๆ เง ื่อนไขถา ้ ตว ั แปรท ี่กา หนดตรงกบ ั เง ื่อนไขน ้ น ั ๆ ทา ให้โปรแกรม ทา งานตามท ี่กา หนดไวแ ้ ต ่ และเง ื่อนไข -คา สง ั่ while เป็ นคา สง ั่ทา ซ ้ า แบบวนรอบ ถา ้ เง ื่อนไขเป็ นจริงโปรแกรม ทา งานตามคา สง ั่ท ี่เข ี ยนไวใ้ นวงเลบ ็ ปี กกาแต ่ ถา ้ เง ื่อนไขเป็นเท็จโปรแกรม จบการท างาน -คา สง ั่ do...while เป็ นคา สง ั่ทา ซ ้ า แบบวนรอบ โดยม ี การทา งานตรงกน ั ขา ้ มกบ ั คา สง ั่ while ค ื อทา งานตามคา สง ั่ท ี่เข ี ยนไวใ้ นวงเลบปี กกา แล้วจึงมา ็ ตรวจสอบเง ื่อนไขแต ่ ถา ้ เง ื่อนไขเป็ นเทจ ็โปรแกรมจบการทา งาน


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino -คา สง ั่ break เป็ นคา สง ั่ใชร ้่ วมกบ ั คา สง ั่การทา งานแบบวนรอบ -คา สง ั่ continue เป็ นคา สง ั่ใชส้ า หร ั บขา ้ มการทา งานของคา สง ั่ถด ัไป -คา สง ั่ return เป็ นคา สง ั่จบการทา งานในโปรแกรมยอ ่ ย -คา สง ั่ goto เป็ นคา สง ั่กระโดดโดยไม ่ ม ี เง ื่อนไขไปยง ั ตา แหน ่ งท ี่กา หนด โดยอา ้ งถ ึ งตา แหน ่ ง Label ที่กระโดดไป


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino 3.2 ขอ ้ กา หนดของไวยากรณ ์ เป็ นกฎเกณฑ ์ในการสร ้ างประโยคข ้ึ นมา อธิบายความหมายของโปรแกรม - เครื่องหมาย ; (เซม ิโคล ่ อน) เป็ นการจบคา สง ั่ในบรรทด ั น ้ น ั ๆ - เครื่องหมาย { } (วงเล็บปี กกา) เป็ นการกา หนดบลอ ็ กของคา สง ั่ใชก ้ บ ั คา สง ั่ if, else, while หรือ for - เครื่องหมาย // (หมายเหตุบรรทัดเดียว) เป็ นส ่ วนของผเ ู ้ ข ี ยนโปรแกรม อธ ิ บายเพ ิ่มเต ิ ม ในคา สง ั่ต ่ างๆ วา ่ โปรแกรมทา งานอยา ่ งไรในแต ่ละบรรทัด


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino - เครื่องหมาย /* */ (หมายเหตุหลายบรรทัด) เป็ นส ่ วนของผเ ู ้ ข ี ยน โปรแกรมอธ ิ บายเพ ิ่มเต ิ ม ในคา สง ั่ต ่ างๆ วา ่ โปรแกรมทา งานอยา ่ งไร สามารถอธิบายได้หลายบรรทัด - เครื่องหมาย #define เป็ นคา สง ั่ในการกา หนดค ่ าคงท ี่ใหก ้ บ ัโปรแกรม - เครื่องหมาย #include เป็ นคา สง ั่ใหน ้ า ไฟลอ ์ื่นเขา ้ มาร ่ วมกบไฟล์ ั โปรแกรมหลัก


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino 3.3 การด าเนินการทางคณิตศาสตร์ เป็ นเครื่องหมายทางคณิตศาสตร์ ในการ เข ี ยนโปรแกรม เพ ื่อหาผลลพ ั ธ ์ จากการคา นวณซ่ึ งสามารถกระทา กบ ัข้อมูล ได้หลายรูปแบบ - เครื่องหมาย + เป็ นการบวกของตัวถูกกระท าสองตัว - เครื่องหมาย –เป็ นการลบของตัวถูกกระท าสองตัว - เครื่องหมาย * เป็ นการคูณของตัวถูกกระท าสองตัว - เครื่องหมาย / เป็ นการหารของตัวถูกกระท าสองตัว - เครื่องหมาย % เป็ นการหารเอาเศษ ใชห ้ าค ่ าเศษท ี่ได้จากการหาร


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino 3.4การด าเนินการเปรียบเทียบ เป็ นเครื่องหมายที่ใช้ในการเปรียบเทียบทาง คณ ิ ตศาสตร ์ ม ี เคร ื่องหมายดง ั ต ่ อไปน ้ ี - เครื่องหมาย == เป็ นการเปร ี ยบเท ี ยบเท ่ ากบ ั - เครื่องหมาย != เป็ นการเปร ี ยบเท ี ยบไม ่ เท ่ ากบ ั - เครื่องหมาย < เป็ นการเปร ี ยบเท ี ยบนอ ้ ยกวา ่ - เครื่องหมาย > เป็ นการเปร ี ยบเท ี ยบมากกวา ่ - เครื่องหมาย <= เป็ นการเปร ี ยบเท ี ยบนอ ้ ยกวา ่ หร ื อเท ่ ากบ ั - เครื่องหมาย >= เป็ นการเปร ี ยบเท ี ยบมากกวา ่ หร ื อเท ่ ากบ ั


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino 3.5 การด าเนินการทางตรรกะ เป็ นเครื่องหมายที่ใช้เชื่อมเงื่อนไข 2เงื่อนไข หร ื อมากกวา ่ เพ ื่อใหก ้ ารเปร ี ยบเท ี ยบม ี ความละเอ ี ยดมากข ้ึ น โดยใช้ สญ ั ลก ั ษณ ์ แทนในแต ่ ละเคร ื่องหมาย ม ี เคร ื่องหมายดง ั ต ่ อไปน ้ ี - เครื่องหมาย && ใหค ้ ่ าเป็ นจร ิ ง เม ื่อผลการเปร ี ยบเท ี ยบค ่ าท ้งสองเป็ น ั จร ิ งท ้ ง ั ค ู ่ - เครื่องหมาย || ใหค ้ ่ าเป็ นจร ิ ง เม ื่อผลการเปร ี ยบเท ี ยบค ่ าท ้ ง ัสองเป็ นจริง ท ้ ง ั ค ู ่ หร ื อตว ั แปรใดตว ั หน่ึ งเป็ นจร ิ ง - เครื่องหมาย ! ใหค ้ ่ าเป็ นจร ิ ง เม ื่อผลการเปร ี ยบเท ี ยบเป็ นเทจ ็


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino 3.6 การดา เน ิ นการระดบ ั บ ิ ต เป็ นนา ค ่ าแต ่ ละบ ิ ตของตว ั แปรเด ี ยวหรือ 2 ตัว มากระทา กน ั ในระดบ ั บ ิ ต - เครื่องหมาย & เป็ นการแอนด์ระดับบิต - เครื่องหมาย | เป็ นการออร์ระดับบิต - เครื่องหมาย ^ เป็ นการเอ็กคลูซีฟออร์ระดับบิต - เครื่องหมาย ~ เป็ นการน็อตระดับบิต - เครื่องหมาย << เป็ นการเลื่อนบิตไปทางซ้าย - เครื่องหมาย >> เป็ นการเลื่อนบิตไปทางขวา


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino 3.7 ตัวด าเนินการ เป็ นเครื่องหมายทางคณิตศาสตร์ของตัวแปรเดียว เพื่อหา ผลลัพธ์จากการค านวณน ้ น ั เครื่องหมาย ++, เครื่องหมาย -- , เครื่องหมาย +=, เครื่องหมาย -= เครื่องหมาย *= , เครื่องหมาย /= , เครื่องหมาย %=, เครื่องหมาย &= เครื่องหมาย |=, เครื่องหมาย ^=, เครื่องหมาย <<=, เครื่องหมาย >>=


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino 3.7 ตัวด าเนินการ เป็ นเครื่องหมายทางคณิตศาสตร์ของตัวแปรเดียว เพื่อหา ผลลัพธ์จากการค านวณน ้ น ั เครื่องหมาย ++, เครื่องหมาย -- , เครื่องหมาย +=, เครื่องหมาย -= เครื่องหมาย *= , เครื่องหมาย /= , เครื่องหมาย %=, เครื่องหมาย &= เครื่องหมาย |=, เครื่องหมาย ^=, เครื่องหมาย <<=, เครื่องหมาย >>=


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino 4. ตว ั แปรเป็ นช ื่อเร ี ยกแทนพ ้ ื นท ี่เกบ ็ ขอ ้ ม ู ลในหน ่ วยความจา ของ ไมโครคอนโทรลเลอร์ 4.1 ค ่ าคงท ี่เป็ นคา สง ั่ขอ ้ ความท ี่กา หนดไวใ้ นโปรแกรม Arduino -คา สง ั่ HIGH/LOW แทนสานะลอจิก “1” กบ ั ลอจ ิ ก“0” -คา สง ั่ INPUT/OUTPUT ใชส้ า หร ั บกา หนดค ่ าอ ิ นพต ุ กบ ั เอาตพุต ์ -คา สง ั่ true/false เป็ นค ่ าคงท ี่แบบบูลีน โดย true แทนสภาวะค ่ าใดๆที่ ไม ่ใช ่ 0 ถ ื อวา ่ เป็ นจร ิ ง ส ่ วน false ม ี ค ่ าเป็ น 0 หรือเป็ นเท็จ -คา สง ั่ integer constants เป็ นค ่ าคงท ี่ของเลขจา นวนเตม ็ -คา สง ั่ floating point constants เป็ นค ่ าคงท ี่ของเลขทศน ิ ยม


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino 4.2 ชน ิ ดของขอ ้ ม ู ล สามารถแบ ่ งชน ิ ดของขอ ้ ม ู ลไดด ้ ง ั น ้ ี -void ใชเ ้ ฉพาะในการประกาศฟั งกช ์ น ั่ -boolean ม ี ค ่ าจร ิ งหร ื อเทจ ็ - char ม ี ค ่ าต ้ ง ั แต ่-127ถึง 127 -unsigned char ม ี ค ่ าต ้ ง ั แต ่ 0ถึง 255 -byte ม ี ค ่ าต ้ ง ั แต ่ 0ถึง 255 - int ม ี ค ่ าต ้ ง ั แต ่-32,7678ถึง 32,767 -unsigned int ม ี ค ่ าต ้ ง ั แต ่ 0 ถึง 65,555


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino 4.2 ชน ิ ดของขอ ้ ม ู ล สามารถแบ ่ งชน ิ ดของขอ ้ ม ู ลไดด ้ ง ั น ้ ี - word ม ี ค ่ าต ้ ง ั แต ่ 0ถึง 65,555 - long ม ี ค ่ าต ้ ง ั แต ่-2,147,483,648ถึง 2,147,483,647 -unsigned long ม ี ค ่ าต ้ ง ั แต ่ 0ถึง 4,294,967,295 - float ม ี ค ่ าต ้ ง ั แต ่-3.4028235E+38 ถึง 3.4028235E+38 -double ม ี ค ่ าต ้ ง ั แต ่-3.4028235E+38 ถึง 3.4028235E+38 - string ตว ั แปรสา หร ั บเกบ ็ ขอ ้ ความ - array ตว ั แปรหลายตว ั ท ี่ถ ู กเกบ ็ รวมไวใ้ นตว ั แปรช ื่อเด ี ยวกน ั


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino 5. ช ุ ดคา สง ั่เป็ นช ุ ดคา สง ั่ในการเข ี ยนโปรแกรมโดยม ี คา สง ั่ต ่ างๆ ดง ั น ้ ี 5.1 คา สง ั่ด ิ จ ิ ตอลอ ิ นพต ุ /เอาต์พุต -คา สง ั่ pinMode() เป็ นการกา หนดพอร ์ ตเป็ นอ ิ นพต ุ หร ื อเอาตพุต ์ -คา สง ั่ digitalWrite() เป็ นการเข ี ยนขอ ้ ม ู ลออกพอร ์ ตท ี่กา หนด -คา สง ั่ digitalRead() เป็ นการอ ่ านขอ ้ ม ู ลเขา ้ พอร ์ ตท ี่กา หนด


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino 5.2 คา สง ั่อนาลอ ็ กอ ิ นพต ุ /เอาต์พุต -คา สง ั่ analogReference() เป็ นการกา หนดค ่ าแรงดน ั อา ้ งอ ิ งท ี่ใช้ส าหรับ อนาล็อกอินพุต -คา สง ั่ analogRead() เป็ นการอ ่ านแรงดน ัไฟฟ้ าแบบอนาลอ ็ กและแปลง เป็ นจา นวนเตม ็ ม ี ค ่ าระหวา ่ ง 0ถึง 1023 -คา สง ั่ analogWrite() เป็ นการใช้ PWM เข ี ยนค ่ าออกทางพอร ์ ตท ี่กา หนด


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino 5.3 คา สง ั่เวลา -คา สง ั่ millis() เป็ นการหน ่ วงเวลาม ี หน ่ วยเป็ นม ิ ลล ิ ว ิ นาท ี ของ Arduino ทน ั ท ี ท ี่ม ีไฟเล ้ ี ยงเขา ้ Arduino -คา สง ั่ micros() เป็ นการหน ่ วงเวลาม ี หน ่ วยเป็ นไมโครว ิ นาท ี ของ Arduino ทน ั ท ี ท ี่ม ีไฟเล ้ ี ยงเขา ้ Arduino -คา สง ั่ delay() เป็ นการหน ่ วงเวลาตามค ่ าท ี่กา หนด ม ี หน ่ วยเป็ น มิลลิวินาที -คา สง ั่ delayMicroseconds() เป็ นการหน ่ วงเวลาตามค ่ าท ี่กา หนด ม ี หน ่ วยเป็ นไมโครว ิ นาท ี


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino 5.4 คา สง ั่คณ ิ ตศาสตร ์ -คา สง ั่ min() เป็ นการหาค ่ าต่า ส ุ ด -คา สง ั่ max() เป็ นการหาค ่ ามากส ุ ด -คา สง ั่ abs() เป็ นการหาค ่ าสมบ ู รณ ์ ของตว ั แปร -คา สง ั่ constrain() เป็ นการตรวจสอบและการปร ั บค ่ าตว ั แปรท ี่กา หนด -คา สง ั่ map() เป็ นการปร ั บค ่ าตว ั แปรจากเด ิ มใหอ ้ ยร ู ่ ะหวา ่ งค ่ าท ี่กา หนด -คา สง ั่ pow() เป็ นการหาค ่ าของตว ั เลขยกกา ลง ั -คา สง ั่ sqrt() เป็ นการหาค ่ าของรากท ี่สองของตว ั เลข


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino 5.5 คา สง ั่ตร ีโกณม ิ ต ิ -คา สง ั่ sin() เป็ นการคา นวณหาค ่ า sin -คา สง ั่ cos() เป็ นการคา นวณหาค ่ า cos -คา สง ั่ tan() เป็ นการคา นวณหาค ่ า tan 5.6 คา สง ั่ส ุ ่ มตว ั เลข -คา สง ั่ randomSeed() เป็ นการกา หนดค ่ าเร ิ่มตน ้ ของฟั งชน ั่ random -คา สง ั่ random() เป็ นการส ุ ่ มค ่ าตว ั เลขระหวา ่ งตว ั เลขท ี่กา หนด


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino 5.7 คา สง ั่บ ิ ต และไบต ์ -คา สง ั่ lowByte() เป็ นตัวแปรของไบต์ต ่าสุด -คา สง ั่ highByte() เป็ นตัวแปรของไบต์สูงสุด -คา สง ั่ bitRead() เป็ นการอ ่ านบ ิ ตของตว ั แปร -คา สง ั่ bitWrite() เป็ นการเขียนบิตของตัวแปร -คา สง ั่ bitSet() เป็ นการต ้ ง ั บ ิ ตของตว ั แปรเท ่ ากบ ั 1 -คา สง ั่ bitClear() เป็ นการต ้ ง ั บ ิ ตของตว ั แปรเท ่ ากบ ั 0 -คา สง ั่ bit() เป็ นการต ้ ง ั ค ่ าบ ิ ตตามค ่ าท ี่กา หนด


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino 5.8 คา สง ั่อ ิ นเตอร ์ ร ั พทภ ์ ายนอก -คา สง ั่ attachInterrupt() เป็ นคา สง ั่กา หนด และสร ้ างอ ิ นเตอร ์ ร ัพท์ -คา สง ั่ detachInterrupt() เป็ นคา สง ั่ปิ ดการร ั บอ ิ นเตอร ์ ร ั พท ์ 5.9 คา สง ั่การอ ิ นเตอร ์ ร ั พท ์ -คา สง ั่ interrupts() เป็ นการเปิ ดการใช้งานอินเตอร์รัพท์ -คา สง ั่ noInterrupts() เป็ นการปิ ดการใช้งานอินเตอร์รัพท์


3. ภำษำซีส ำหรับไมโครคอนโทรลเลอร์ Arduino 5.10 คา สง ั่การต ิ ดต ่ อส ื่อสาร -คา สง ั่ Serial.begin() เป็ นการกา หนดอต ั ราการส ่ งขอ ้ ม ู ล -คา สง ั่ Serial.end() เป็ นการปิ ดใช้งานการสื่อสารแบบอนุกรม -คา สง ั่ Serial.available() เป็ นการตรวจสอบการรับข้อมูลจากการสื่อสาร แบบอนุกรม -คา สง ั่ Serial.read() เป็ นการอ ่ านขอ ้ ม ู ลจากการส ื่อสารแบบอน ุ กรมที่ เข้ามา -คา สง ั่ Serial.peek() เป็ นการส ่ งกลบ ัไบตต ์ ่ อไปของขอ ้ ม ู ลการส ื่อสาร แบบอนุกรม


Click to View FlipBook Version