(Performance improvement uniform vending machine) B5926565...

Preview:

Citation preview

โครงงานทางวศวกรรมเมคคาทรอนกส

เรอง การปรบปรงประสทธภาพเครองจายชดพนกงานอตโนมต

(Performance improvement uniform vending machine)

ชอผจดท าโดย นายสณหพล มาศรกษา B5926565

นายปฏภาณ แกนจนทร B5923663

นายวรวฒน ศรโท B5929146

โครงงานนเปนสวนหนงของการศกษาตามหลกสตรปรญญาวศวกรรมศาสตร

บณฑต สาขาวชาวศวกรรมเมคคาทรอนกส ส านกวชาวศวกรรมศาสตร

มหาวทยาลยเทคโนโลยสรนาร ปการศกษา 2/2562

kl
โครงงานนเปนสวนหนงของการศกษาตามหลกสตรวศวกรรมศาสตรบณฑตสาขาวชาวศวกรรมเมคคาทรอนกส สำนกวชาวศวกรรมศาสตรมหาวทยาลยเทคโนโลยสรนาร ปการศกษา 2/2562

เกยวกบโครงงาน

บทคดยอ

โครงงานนไดศกษาและเครองจายชดพนกงานอตโนมตทมโครงงานอยแลวมาพฒนาและ

ปรบปรงใหม จดท าขนมาเพอแกปรบปรงแกไขปญหาและปรบปรงเพมเตมเรองสวนทขาดหาย เชน

ถาดรองรบของ การก าหนดจ านวน รายละเอยดการแสดงผล ใหเหมาะสมใหมประสทธภาพดยงขน

เพอใชในงานในการจายแบบชดพนกงานอตโนมตในโรงงานอตสาหกรรมท าใหใชงานเวลาลดลง

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

สามารถจ ากดจ านวนการจายชด รองเทา เปนจ านวน 1 ครง แสดงผลชอผถอบตรขนหนาจอได

และสามารถเรมตนใหมดวยการรเซตเพอเรมตนนบจ านวนใหม

About Project

Abstract

This project studies and pay a uniform automation projects have already been developed and

improved. Prepared to solve problems and improve further updates on the missing parts such as

the amount of output tray. Details Display The right to have a better performance. To do the job

in a series of paid employees in the industrial automation, deployment time is reduced. Uniform

dispenser will automatically be updated in the amount set and details.

You can limit the number of shoes is paid 1 times display card holder's name on the screen.

And can be restarted by resetting to start a new count.

1. ชอผจดท าโครงงาน

1) นายสณหพล มาศรกษา รหสประจ าตวนกศกษา B5926565

2) นายปฏภาณ แกนจนทร รหสประจ าตวนกศกษา B5923663

3) นายวรวฒน ศรโท รหสประจ าตวนกศกษา B5929146

2. ชอโครงงาน

(ภาษาไทย) การปรบปรงประสทธภาพเครองจายชดพนกงานอตโนมต

(ภาษาองกฤษ) Performance improvement uniform vending machine

สาขาวชาวศวกรรมเมคคาทรอนกส ส านกวชาวศวกรรมศาสตร

3. ทปรกษาโครงงาน

ทปรกษาโครงงานหลก : อาจารยโศรฎา แขงการ

สถานศกษา : มหาวทยาลยเทคโนโลยสรนาร

ปภาคการศกษา : 2/2562

กตตกรรมประกาศ

โครงงานนส าเรจลลวงไปไดดวยความกรณาและความชวยเหลออยางดยงจากทปรกษา

โครงงานอาจารย : อาจารยโศรฎา แขงการ ซงใหค าปรกษา ขอชแนะ ความชวยเหลอในหลายสง

หลายอยางจนกระทงลลวงไปไดดวยด ผท าโครงงานขอกราบขอบพระคณมา ณ ทน

ผจดท าจงขอกราบขอบพระคณไว ณ โอกาสน

สดทายนผจดท าหวงเปนอยางยงวาโครงงานนจะเปนประโยชนตอการศกษาของผทสนใจตอไป

สณหพล มาศรกษา

และคณะ

สารบญ

เรอง หนา

เกยวกบโครงงาน ก กตตกรรมประกาศ ง สารบญ จ

-สารบญตาราง ฉ -สารบญรปภาพ ช

บทท 1 บทน า -ทมาและความส าคญของโครงงาน 1 -วตถประสงค 3 -ขอบเขตของโครงงาน 3

-ประโยชนคาดวาจะไดรบ 3 บทท 2 ทฤษฎและเนอหาทเกยวของ 4 บทท 3 วธการด าเนนโครงงาน -ขนตอนด าเนนงาน 7 -อปกรณการด าเนนโครงงาน 9 -วธการจดท าโครงงาน 10 บทท 4 ผลการทดลองและวเคราะหผล 11

-ผลการทดลอง 14 บทท 5 สรปผลการทดลองและขอเสนอแนะ 15 -สรปผลการทดลองและขอเสนอแนะ 15 บรรณานกรม/เอกสารอางอง 16ภาคผนวก 17 -การตงคาโปรแกรม Arduino 22

-ประวตผจดท าโครงงาน 31

สารบญตาราง

ตาราง หนา

ตารางท 1 ตารางผลการทดลองและวเคราะห.............................................................................11 ตารางท 2 ตารางขอมลบตรจายชด………………………………………………………….....12 ตารางท 3 ตารางการทดสอบระบบเครอง..................................................................................12 ตารางท 4 ตารางทดสอบการตกของกลอง.................................................................................13 ตารางท 5 การตงคาโปรแกรม Arduino…………………………………………………..……22 ตารางท 6 การตงคาบตรใบท 1.................................................................................................25 ตารางท 7 การตงคาบตรใบท 2.................................................................................................26 ตารางท 8 การตงคาบตรใบท 3.................................................................................................27 ตารางท 9 การตงคาบตรใบท 4.................................................................................................28 ตารางท 10 การตงคาบตรใบท 5.................................................................................................29 ตารางท 11 การตงคาบตรใบท 6.................................................................................................30

สารบญรปภาพ

เรอง หนา

ภาพท 1.1 ตวอยางเครองจายสนคาอตโนมต…………………………………………….…........1 ภาพท 1.2 ตวอยางชดเครองแบบพนกงาน……………………………………………..………..2 ภาพท 2.1 Arduino MEGA 2560…………………………………………………….…..……....5 ภาพท 2.2 RFID RC522………………………………………………………………..………..5 ภาพท 2.3 TFT 3.5” LCD………………………………………………………………..………6 ภาพท 2.4 MG 996R Servo……………………………………………………………..……….6 ภาพท 3.1 โครงสรางออกแบบดวย Solidworks………………………………………..……….7 ภาพท 4.1 เปรยบเทยบเครอง........................................................................................................11 ภาพท 5.1 ดานหนาเครองจายชดพนกงาน...................................................................................17 ภาพท 5.2 ดานหลงเครองจายชดพนกงาน....................................................................................17 ภาพท 5.3 ชองหยบของเครองจายชดพนกงาน.............................................................................18 ภาพท 5.4 ชองเตมของเครองจายชดพนกงาน...............................................................................18

1

บทท 1

บทน า

1.1 ทมาและความส าคญของโครงงาน

เนองจากในปจจบนตองการความสะดวกรวดเรวดานการท างาน มการแขงขนในเรองเวลา ตอง

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

อตโนมตเปนทนยมในปจจบน ยกตวอยางเชน ตจ าหนายสนคาอตโนมต เครองหยอดเหรยญ

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

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

ลดการใชคน โดยตองการใหสามารถท างานไดโดยไมจ าเปนตองใชคน ท างานได 24 ชวโมง

ประหยดการจางแรงงานคน และเปนตนแบบในการใชงาน

รปท 1.1 ตวอยางเครองจายสนคาอตโนมต

( ทมา : https://www.smeleader.com/ตหยอดเหรยญ-108-vending/ )

2

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

1) รสกความเปนหนงเดยวกนในบรษทหรอโรงงาน รสกกลายเปนกลมคนพวกเดยวกนไมเกดความแตกแยก คลายชดของ ต ารวจ ทหาร

2) เกดความเทาเทยมเสมอภาคกน รสกเกดความเทาเทยมเสมอภาคกน ไมมเรองราคาสงต าไมมการเปรยบเทยบชดราคาถกแพงกวากน

3) สามารถแบงจ าแนกไดงาย ยกตวอยางดวยการแบงจ าแนกดวยสชดพนกงานแตละแผนก วาชดนอยแผนกไหนท างานเกยวกบ

ประเภทอะไรโดยดจากสชดเปนตน

4) ความคลองตวในการท างาน เนองจากแตงชดถกประเภทของงานเชนใสเสอแขนสนกบงานชาง เสอแขนยาวกบงานตองการ

ความปลอดภย หรองานทอยในทรอนตองการเสอทเนอผาบางระบายความรอนไดด เสอทสามารถ

ทนไฟได หรอ สารเคมได เพอเหมาะกบประเภทของงานทใชชดวาตองการรปแบบไหน

รปท 1.2 ตวอยางชดเครองแบบพนกงาน

(ทมา : www.tpthaiuniform.com/16861771/เหตผลทองคกรจ าเปนตองมชดฟอรมพนกงาน )

3

1.2 วตถประสงค 1. เพอศกษาและปรบปรงประสทธภาพเครองจายชดพนกงานอตโนมต

1.3 ขอบเขตของโครงงาน

1. แกปญหาการสนของตวเครอง 2. แกปญหาการจายของซ า (จ ากดสทธ 1คน ตอ1ครง ใน1วน) 3. เพมขนาดและรายละเอยดของจอแสดงผล 4. ปรบปรงรปแบบของเครองใหดระเอยดเรยบรอยและเพมสวนทขาดหาย

1.4 ประโยชนทคาดวาจะไดรบ

เครองจายชดพนกงานอตโนมตจะไดรบการปรบปรงเพมเตมประสทธภาพในการใชงาน

ดานการจายชดและก าหนดรายละเอยดชด การแสดงผลของจอมใหมรายละเอยดมากยงขน เพอให

ผใชสามารถใชงานไดอยางมประสทธภาพ ลดความเสยเวลาในการท างานและสะดวกรวดเรว

ประหยดเวลามากขน ลดการใชงานคน

4

บทท 2 ทฤษฎและเนอหาทเกยวของ

2.1 ทฤษฎทเกยวของ

เครองจายชดพนกงานอตโนมต (uniform vending machine)

หลกการท างานของระบบ

โดยใช Arduino ควบคมในการท างานของระบบโดยเลอกใชบอรดรน Arduino MEGA 2560 โดย

ใชงานเครองอานบตรแตะ (RFID) | มทงแบบ 125KHz และ 13.56MHz โดยไดเลอกใชแบบ

13.56MHz ในการสงการท างานแสดงผลดวยจอ TFT 3.5" LCD module Display for Arduino

Mega2560 ท างานดวย servo motor รน MG996R Servo 360° Rotation ในการกระทบใหสงของตก

โดยมการควบคมก าหนดให 1 บตรสามารถใชจายของไดไมเกน 1 ครงสามารถเรมตนใหมดวยการ

กดปมรเซต

อปกรณหลกทใชควบคม

1.) Arduino MEGA 2560

2.) RFID 13.56MHz

3.) TFT 3.5" LCD module Display for Arduino Mega2560

4.) Servo Motor รน MG996R Servo 360° Rotation

5

1) Arduino MEGA 2560

รปท 2.1 Arduino MEGA 2560

(ทมา: https://www.arduinoall.com/product/17/บอรด-arduino-รน-mega-2560-r3-พรอมสาย-usb)

ใชเขยนโปรแกรมเขยนโปรแกรมหลกควบคมการท างานหลกของระบบเพอควบคม

-RFID 13.56MHz

- TFT 3.5" LCD module Display for Arduino Mega2560

- Servo Motor รน MG996R Servo 360° Rotation

2.) RFID 13.56MHz

รปท 2.2 RFID RC522

(ทมา: https://www.arduinoall.com/product/102/rfid-card-reader-detector-module-kit-rc522-

พรอม-tag-card-และ-tag-พวงกญแจ)

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

รองเทาตามขอมลบตรทก าหนด

6

3.) TFT 3.5" LCD module Display for Arduino Mega2560

รปท 2.3 TFT 3.5” LCD

(ทมา: https://www.arduinoall.com/product/1262/tft-3-5-lcd-module-display-for-arduino-

mega2560-จอ-lcd-3-5-tft-2)

ใชงานการแสดงผลชอพรอมต าแหนงของผถอบตรและแสดงผลค าสงการท างานรปแบบ

ตางๆของระบบขณะนน

5.) Servo Motor รน MG996R Servo 360° Rotation

รปท 2.4 MG996R Servo

(ทมา: https://www. arduitronics.com/ product/1980/tower-pro-mg996r-high-torque-แบบหมนได-

360-องศา)

เลอกใช Servo Motor MG996R แบบหมน 360 องศา ในการดนกลองของใหตกลงไปใชในชองรบ

ของโดยมการตงคาหมนทวนเขมเพอดนของใหตกหนวงเวลาไวและหมนตามเขมกลบยงจดเดม

7

บทท 3 วธการด าเนนโครงงาน

3.1 ขนตอนการด าเนนงาน

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

มการปรบปรงดงน

1) โครงสราง

ไดออกแบบจดท าโครงสรางขนมาใหมโดยออกแบบใหมขนาด 6 ชองใช servo motor ทงหมด 6 ตว

และเปลยนขนาดหนาจอขนมาเปน 3.5” และจดท ากลองเกบอปกรณมดชด

8

รปท 3.1 โครงสรางออกแบบดวย Solidworks

2) โปรแกรม

ก าหนดให 1 บตรสามารถใชจายของไดไมเกน 1 ครงสามารถเรมตนใหมดวยการกดปมรเซต

3) ทดสอบการท างาน

ผลการทดสอบจากการท างานสามารถท างานไดตามขอบเขตทก าหนดคอสามรถสแกนบตรได

1 ครง/คน ตอ 1 วน และสามารถเรมตนใหมได

9

2. อปกรณการด าเนนโครงงาน

1. บอรด Arduino Mega 2560 R3 2. RFID Card Reader 3. Detector Module 4. Step down 5. TFT 3.5” LCD module Display for Arduino Mega 2560 6. Power supply 24v 7. Servo motor MG996R 6ตว 8. แผนไมแขงหนา 1.5cm 9. แผนไมแขงหนา 0.5cm. 10. รางเกบสายไฟ

จากอปกรณขางตนทไดกลาวมาเปนอปกรณหลกทจ าเปนตองน าเขามาใชในการด าเนน เครองจายชดพนกงานอตโนมต

10

วธการจดท าโครงงาน

การเลอกรปแบบของการท างานเพอสรางโครงสราง : ทางผจดท าเลอกใช Servo Motor

เปนตวหลกในการท างานของระบบเนองจากมความซบซอนไมมากนกและงายตอการควบคม

โดยโครงทงหมดท าจากไมเพอเพมประสทธภาพความแขงแรงของตวเครอง

การเลอกตวควบคม

ตวควบคมหลก : ผจดท าเลอกใชบอรด Arduino Mega 2560 R3 เนองจากความสะดวกใน

การเขยน Code เพราะมโปรแกรม Arduino รองรบและยงเปนทนยมกนอยางแพรหลาย

ตวควบคมรอง : ผจดท าเลอกใช Servo motor รวมกบ Step down เนองจากในโครงงานน

ตองใช Servo motor 6 ตว จงเลอกน า Step down เขามาชวยในการควบคมปรบคาไฟใหพอดกบท

ตองใชใน Servo motor แตละตว

ตวปอนค าสงขอมล : ผจดท าเลอกใช RFID เนองจากเปนตวควบคมสงงานการท างานของ

Motor ใหท างานตรงตามขอมลทตงคาไวตาม Tag แตละใบ เนองใน Tag แตละใบนนมขอมลไม

เหมอนกนซงเราองตามความเปนไปไดทจะเกดขน คอ ชด 3 ขนาด (ชดA,ชดB,ชดC)

และรองเทา 3 ขนาด (รองเทาA,รองเทาB,รองเทาC) จงไดความเปนไปไดทงหมด 9 รปแบบ แตทาง

ผจดท าไดเลอกออกมาเปนตวอยาง ทงหมด 6 รป แบบ

11

บทท 4

ผลการทดลองและวเคราะหผล

ตารางท 1 ผลการทดลองและวเคราะห

โครงสรางเดม โครงสรางใหม

(รปท 4.1 เปรยบเทยบเครอง)

ระบบโปรแกรมเดม ระบบโปรแกรมใหม

ไมสามารถจ ากดจ านวนการจายชดได สามารถก าหนดจ านวนการจายชดไดท 1 ครงและสามรถกดรเซตเพอเรมใหมได

12

ตารางท 2 ขอมลบตรจายชด

ตารางท 3 ทดสอบการท างานระบบเครอง

ครงท 1 ครงท 2 ครงท 3 ครงท 4 ครงท 5 RFID ✓ ✓ ✓ ✓ ✓

LCD ✓ ✓ ✓ X ✓

Servo Motor ✓ X ✓ X ✓

คาความผดพลาดการทดสอบ 5 ครง = 20%

มขอผดพลาดในการท างานคานในบางครงคอ LCD ไมแสดงผลการท างาน หรอ Servo Motor ไม

หมนตองแกไขปญหาดวยการรเซตบอรดเพอใหเรมตนการท างานใหม

ชด A ชด B ชด C

รองเทา A การด 1 การด 5 -

รองเทา B - การด 2 การด 6

รองเทา C การด 4 - การด 3

13

ตารางท 4 ทดสอบการตกของกลอง

ครงท 1

การด 1 การด 2 การด 3 การด 4 การด 5 การด 6

ชด ✓ ✓ ✓ ✓ ✓ ✓

รองเทา ✓ X ✓ ✓ ✓ X

ครงท 2

การด 1 การด 2 การด 3 การด 4 การด 5 การด 6

ชด ✓ ✓ ✓ ✓ ✓ ✓

รองเทา ✓ ✓ ✓ ✓ ✓ ✓

ครงท 3

การด 1 การด 2 การด 3 การด 4 การด 5 การด 6

ชด ✓ ✓ x ✓ ✓ ✓

รองเทา x ✓ ✓ ✓ ✓ ✓

คาความผดพลาดในการทดสอบ 3 ครง = 8.33%

14

ผลจากการทดสอบ

-เครองจายชดพนกงานอตโนมตมบตรทงหมดจ านวน 6 ใบสามารถท างานสงการจายของ

ตามตารางทก าหนดดานบนและสามารถจายได 1 ครงสามารถเรมใหมดวยการรเซต

-ในการท างานอาจเกดความผดพลาดในการจายชดคอไมไดวางของในต าแหนงไมตรงจดท

ก าหนดไวท าใหกลองไมตกลงไปชองรบของ

-ดานระบบการท างานบอรดมอาการคางเปนบางชวงเวลาในการท างานท าใหไมสามารถ

สแกนบตรไดสงผลใหจอแสดงผลและ Servo Motor ไมท างานได ตองท าการรเซต

15

บทท 5

สรปและขอเสนอแนะ

ในการท างานของเครองจายชดพนกงานอตโนมตสามารถท างานไดตามขอบเขตทก าหนดไวคอ

1) 1 คนสามารถสแกนบตรได 1 ครงตอ 1 วน และสามารถรเซตเรมใหมได 2) สามารถแกไขปญหาการสนของเครองดวยการใช Servo Motor ทดแทน 3) เปลยนหนาจอใหมขนาดใหญขนเปน 3.5”

ปญหาทเกดขนของเครอง

-ถาวางของไมตรงตามจดทก าหนดของเครองอาจเกดปญหา เครองไมตกลงมาในชองรบของเนองจากมความผดพลาดในระยะการหมนของมอเตอรทไมสามารถดนของใหตกลงได

-บอรด Arduino มอาการคางไมท างานในบางชวงเวลาท าใหไมสามารถสแกนบตรไดตองท าการกดรเซต

16

เอกสารอางอง

[1] Sun108 Co.,Ltd. ตหยอดเหรยญ เครองดม อตโนมต “108 Vending” ธรกจท าเงนตลอด 24

ชวโมง!! สบคนเมอ 3 มกราคม 2563,

เขาถงไดจาก https://www.smeleader.com/ตหยอดเหรยญ-108-vending/

[2] tpthaiuniform เหตผลทองคกรจ าเปนตองมชดฟอรมพนกงาน สบคนเมอ 3 มกราคม 2563,

เขาถงไดจาก www.tpthaiuniform.com/16861771/ เหตผลทองคกรจ าเปนตองมชดฟอรมพนกงาน

[3] ARDUINO MEGA 2560 สบคนเมอ 4 มกราคม 2563, เขาถงไดจาก https://www.gravitechthai.com/product-detail.php?WP=qmIZAJ1CM5O0hJatrTZo7o3Q [4] DC Converter สบคนเมอ 6 มกราคม 2563,

https://www.igetsolarcell.com/category/26/วงจร-แปลงแรงดนไฟ-step-up-step-down

[5] บทความ RFID พรอมตวอยางการตอใชงาน สบคนเมอ 15 มกราคม 2563, เขาถงไดจาก

https://www.thaieasyelec.com/article-wiki/review-product-article/rfid-ch4-how-to-use-rfid-

mifare.html

[6] myarduino Arduino ควบคม Servo Motor 360องศา เขาถงไดจาก

สบคนเมอ 15 มกราคม 2563,เขาถงไดจาก

https://www. myarduino.net/article/129/ สอนใชงาน-arduino-ควบคม-servo-motor-360องศา-

ตอเนอง

17

ภาคผนวก

รปท 5.1 ดานหนาเครองจายชดพนกงานอตโนมต

รปท 5.2 ดานหลงเครองจายชดพนกงานอตโนมต

18

รปท 5.3 ชองหยบของเครองจายชดพนกงานอตโนมต

รปท 5.4 ชองเตมของเครองจายชดพนกงานอตโนมต

19

Arduino คอ โครงการทน าชปไอซไมโครคอนโทรลเลอรตระกลตางๆ มาใชรวมกนในภาษา C ซงภาษา C นเปนลกษณะเฉพาะ คอมการเขยนไลบารของ Arduino ขนมาเพอใหการสงงานไมโครคอนโทรลเลอรทแตกตางกน สามารถใชงานโคดตวเดยวกนได โดยตวโครงการไดออกบอรดทดลองมาหลายๆรปแบบ เพอใชงานกบ IDE ของตนเอง

รปท 5.5 การตอ Arduino บอรด กบ servo motor (ทมา : https://www.igetsolarcell.com/category/26/วงจร-แปลงแรงดนไฟ-step-up-step-down)

DC to DC Converter: Step-Down คอ วงจรลดแรงดนแบบ Step-Down หรอเรยกอกแบบ

วา Buck Converter (บคคอนเวอรเตอร) ใชลดแรงดนจากแรงดนสงใหต าลง ใชหลกการสวตชง-ตว

เหนยวน า(L) จงท าใหมความรอนและความสญเสยก าลงไฟนอย ไมเหมอนกบการลดแรงดนโดยใช

IC ตระกล 78xx / 317 ทวไปทใชหลกการลดทอนท าใหเกดความรอนสง วงจรบคคอนเวอรเตอร

เมอลดแรงดนลงแลวจะไดกระแส Output เพมขน

รปท 5.6 Step Down

Arduino Mega คอบอรดไมโครคอนโทรลเลอรทพฒนาจาก ATmega2560 ม 54 digital input/output โดยม 14 ขา สามารถใชเปน output แบบ PWM ได ม analog inputs 16 ขา ม UARTs(hardware serial ports) 4 ขา ท างานทความถ 16 MHz สามารถเชอมตอกบคอมพวเตอร

20

ดวยสายเคเบล USB หรอใช adaptor AC-to-DC เพอเรมตนใชงาน และมปม reset สามารถตอเขากบ shields ทออกแบบเพอใชงานกบ Arduino Duemilanove หรอ Diecimila.

รปท 5.7 บอรด Arduino Mega 2560

(ทมา : https://www.gravitechthai.com/product-detail.php?WP=qmIZAJ1CM5O0hJatrTZo7o3Q)

Technical Specification

Microcontroller ATmega2560

Operating Voltage 5V

Input Voltage (recommended) 7-12V

Input Voltage (limits) 6-20V

Digital I/O Pins 54 (of which 14 provide PWM output , 4 UART TTL)

Analog Input Pins 16

DC Current per I/O Pin 40 mA

DC Current for 3.3V Pin 50 mA

Flash Memory 256 KB of which 8 KB used by bootloader

SRAM 8 KB

EEPROM 4 KB

Clock Speed 16 MHz

21

RFID ชอเตมๆ กคอ Radio Frequency Identification หรอการระบขอมลสงตางๆ

โดยใชคลนความถวทย ซงพวกเราทกคนคงจะคนเคยกบระบบนเปนอยางด เพราะวา RFID ถก

น าเขามาใชในชวตประจ าวนของเราอยางหลากหลาย เพยงแตวาเราจะรหรอไมเทานนเองวาสง

เหลานนใชเทคโนโลย RFID ระบบ RFID จะมองคประกอบหลกๆ ดวยกน 3 สวน คอ

1. ปาย(Tag, Transponder)

2. เครองอานปาย(Reader, Interrogator)

3. ฮารดแวร หรอระบบทใชประมวลผล

รป 5.8 Radio Frequency Identification

(ทมา: https://www.thaieasyelec.com/article-wiki/review-product-article/rfid-ch4-how-to-use-rfid-

mifare.html )

22

การตงคาโปรแกรม Arduino

ตารางท 5 การตงคาโปรแกรม Arduino

#include "SPI.h"

#include "MFRC522.h"

#define SS_PIN 53

#define RST_PIN 5

#define LED_PIN 3

#define LED_PIN1 4

#include <Servo.h>

#include <deprecated.h>

#include <MFRC522.h>

#include <MFRC522Extended.h>

#include <require_cpp11.h>

MFRC522 rfid(SS_PIN, RST_PIN);

MFRC522::MIFARE_Key key;

/////////servo name///////////

Servo servo1;

Servo servo2;

Servo servo3;

Servo servo4;

Servo servo5;

Servo servo6;

int p=0;

int p1 =0;

int b=0;

int c=0;

int d=0;

int e=0;

int f=0;

#include <UTFT.h>

extern uint8_t BigFont[];

UTFT myGLCD(CTE32HR,38,39,40,41);

int pushButton = 2;

int Counter = 0;

int buttonPin = 2;

int buttonState = 0;

void setup() {

Serial.begin(9600);

SPI.begin();

rfid.PCD_Init();

pinMode(LED_PIN, OUTPUT);

pinMode(LED_PIN1, OUTPUT);

23

/////////servo pin///////////

servo1.attach(8); //servo pin

servo2.attach(9);

servo3.attach(10);

servo4.attach(11);

servo5.attach(12);

servo6.attach(13);

pinMode(pushButton, INPUT_PULLUP);

Serial.print(" Counter = ");

Serial.println(Counter);

myGLCD.InitLCD();

myGLCD.setFont(BigFont);

int buf[478];

int x, x2;

int y, y2;

int r;

myGLCD.clrScr();

myGLCD.setColor(255, 0, 0);

myGLCD.setColor(255, 255, 255);

myGLCD.print("Suranaree University",

CENTER, 2);

myGLCD.print(" Hello", CENTER, 93);

myGLCD.print("Please Tap Card", CENTER,

132);

myGLCD.print("Thank You ...", CENTER,

290);

}

void loop(){{

if (digitalRead(pushButton) == 0)

{ Counter++ ;

Serial.print(" Counter = ");

Serial.println(Counter);

}

if (Counter==1) {

digitalWrite(LED_PIN,HIGH);

myGLCD.setColor(255, 0, 0);

myGLCD.clrScr();

myGLCD.setColor(64, 64, 64);

myGLCD.setColor(255, 255, 255);

myGLCD.print(" Reset Card", CENTER,

132);

delay(1000);

delay(1000);

Serial.println("RESET");

while (digitalRead(pushButton) == 0);

delay(100);

digitalWrite(LED_PIN,LOW);

Counter=0 ;

b=0;

c=0;

p=0;

d=0;

e=0;

f=0;

}

24

myGLCD.setColor(255, 0, 0);

myGLCD.setColor(255, 255, 255);

myGLCD.print("Suranaree University", CENTER, 2);

myGLCD.print(" Hello", CENTER, 93);

myGLCD.print("Please Tap Card", CENTER, 132);

myGLCD.print("Thank You ...", CENTER, 290);

{

if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial())

return;

// Serial.print(F("PICC type: "));

MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);

// Serial.println(rfid.PICC_GetTypeName(piccType));

// Check is the PICC of Classic MIFARE type

if (piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&

piccType != MFRC522::PICC_TYPE_MIFARE_1K &&

piccType != MFRC522::PICC_TYPE_MIFARE_4K) {

Serial.println(F("Your tag is not of type MIFARE Classic."));

return;

}

String strID = "";

for (byte i = 0; i < 4; i++) {

strID +=

(rfid.uid.uidByte[i] < 0x10 ? "0" : "") +

String(rfid.uid.uidByte[i], HEX) +

(i!=3 ? ":" : "");

}

strID.toUpperCase();

Serial.print("Tap card key: ");

Serial.println(strID);

25

ตารางท 6 การตงคาบตรใบท 1

/////////////////// โคด 1////////////////

if (strID.indexOf("67:9C:C0:3B") >= 0)

{

if (p<1)

{Serial.println("ppppp");

digitalWrite(LED_PIN1, HIGH);

myGLCD.clrScr();

myGLCD.setColor(255, 0, 0);

myGLCD.setColor(64, 64, 64);

myGLCD.setColor(255, 255, 255);

myGLCD.print(" Mr.Sanhaphon Masraksa",

CENTER, 93);

myGLCD.print(" Chairman ", CENTER, 150);

////////////Servo Drive/////////////

servo1.writeMicroseconds(2000); // สง

ให Servo หมนวนขวา

delay(600); // หนวงเวลา 2000ms

servo1.writeMicroseconds(1500); // สง

ให Servo หยด

delay(100); // หนวงเวลา 2000ms

servo1.writeMicroseconds(850); // สง

ให Servo หมนวนซาย

delay(600); // หนวงเวลา 2000ms

servo1.writeMicroseconds(1500); // สง

ให Servo หยด

delay(1000); // หนวงเวลา 2000ms

servo2.writeMicroseconds(2000); // สง

ให Servo หมนวนขวา

delay(600); // หนวงเวลา 2000ms

servo2.writeMicroseconds(1500); // สง

ให Servo หยด

delay(100); // หนวงเวลา 2000ms

servo2.writeMicroseconds(850); // สง

ให Servo หมนวนซาย

delay(600); // หนวงเวลา 2000ms

servo2.writeMicroseconds(1500); // สง

ให Servo หยด

delay(1000); // หนวงเวลา 2000ms

Serial.println(p);

delay(1000);

myGLCD.clrScr();

digitalWrite(LED_PIN1,LOW);

} p++;}

26

ตารางท 7 การตงคาบตรใบท 2

////////////Servo Drive/////////////

servo3.writeMicroseconds(2000); // สง

ให Servo หมนวนขวา

delay(600); // หนวงเวลา 2000ms

servo3.writeMicroseconds(1500); // สง

ให Servo หยด

delay(100); // หนวงเวลา 2000ms

servo3.writeMicroseconds(850); // สงให

Servo หมนวนซาย

delay(600); // หนวงเวลา 2000ms

servo3.writeMicroseconds(1500); // สง

ให Servo หยด

delay(1000); // หนวงเวลา 2000ms

servo4.writeMicroseconds(2000); // สง

ให Servo หมนวนขวา

delay(600); // หนวงเวลา 2000ms

servo4.writeMicroseconds(1500); // สง

ให Servo หยด

delay(100); // หนวงเวลา 2000ms

servo4.writeMicroseconds(850); // สงให

Servo หมนวนซาย

delay(600); // หนวงเวลา 2000ms

servo4.writeMicroseconds(1500); // สง

ให Servo หยด

delay(1000); // หนวงเวลา 2000ms

Serial.println(b);

delay(1000);

myGLCD.clrScr();

digitalWrite(LED_PIN1,LOW);

}

b++; }

/////////////////// โคด 2////////////////

if (strID.indexOf("A3:AE:B8:1A") >= 0) {

if (b<1) {

myGLCD.clrScr();

myGLCD.setColor(255, 0, 0);

myGLCD.setColor(64, 64, 64);

myGLCD.setColor(255, 255, 255);

myGLCD.print(" Mr.Pratiphan Kaenchan",

CENTER, 93);

myGLCD.print(" Manager ", CENTER, 150);

digitalWrite(LED_PIN1,HIGH);

Serial.println("bbbbbbbb");

27

ตารางท 8 การตงคาบตรใบท 3

////////////Servo Drive/////////////

servo5.writeMicroseconds(2000); // สงให Servo หมนวนขวา

delay(600); // หนวงเวลา 2000ms

servo5.writeMicroseconds(1500); // สงให Servo หยด

delay(100); // หนวงเวลา 2000ms

servo5.writeMicroseconds(850); // สงให Servo หมนวนซาย

delay(600); // หนวงเวลา 2000ms

servo5.writeMicroseconds(1500); // สงให Servo หยด

delay(1000); // หนวงเวลา 2000ms

servo6.writeMicroseconds(2000); // สงให Servo หมนวนขวา

delay(600); // หนวงเวลา 2000ms

servo6.writeMicroseconds(1500); // สงให Servo หยด

delay(100); // หนวงเวลา 2000ms

servo6.writeMicroseconds(850); // สงให Servo หมนวนซาย

delay(600); // หนวงเวลา 2000ms

servo6.writeMicroseconds(1500); // สงให Servo หยด

delay(1000); // หนวงเวลา 2000ms

Serial.println(c);

delay(1000);

myGLCD.clrScr();

digitalWrite(LED_PIN1,LOW);

}

c++; }

/////////////////// โคด 3 ////////////////

if (strID.indexOf("D2:3F:D0:D5") >= 0) {

if (c<1)

{

myGLCD.clrScr();

myGLCD.setColor(255, 0, 0);

myGLCD.setColor(64, 64, 64);

myGLCD.setColor(255, 255, 255);

myGLCD.print(" Miw ", CENTER, 93);

myGLCD.print(" Sale Maneger ", CENTER,

150);

digitalWrite(LED_PIN1,HIGH);

Serial.println("cccccc");

28

ตารางท 9 การตงคาบตรใบท 4

/////////////////// โคด 4 ////////////////

if (strID.indexOf("DB:7C:6D:21") >= 0) {

if (d<1)

{

myGLCD.clrScr();

myGLCD.setColor(255, 0, 0);

myGLCD.setColor(64, 64, 64);

myGLCD.setColor(255, 255, 255);

myGLCD.print(" Mr.Weerawat Srito", CENTER, 93);

myGLCD.print(" Gardener ", CENTER, 150);

digitalWrite(LED_PIN1,HIGH);

Serial.println("ddddd");

servo1.writeMicroseconds(2000); // สงให Servo หมนวนขวาdelay(600); // หนวงเวลา2000ms

servo1.writeMicroseconds(1500); // สงให Servo หยด delay(100); // หนวงเวลา 2000ms

servo1.writeMicroseconds(850); // สงให Servo หมนวนซาย delay(600); // หนวงเวลา 2000ms

servo1.writeMicroseconds(1500); // สงให Servo หยดdelay(1000); // หนวงเวลา 2000ms

servo6.writeMicroseconds(2000); // สงให Servo หมนวนขวาdelay(600); // หนวงเวลา2000ms

servo6.writeMicroseconds(1500); // สงให Servo หยดdelay(100); // หนวงเวลา 2000ms

servo6.writeMicroseconds(850); // สงให Servo หมนวนซายdelay(600); // หนวงเวลา 2000ms

servo6.writeMicroseconds(1500); // สงให Servo หยดdelay(1000); // หนวงเวลา 2000ms

Serial.println(d);

delay(1000);

myGLCD.clrScr();

digitalWrite(LED_PIN1,LOW);

}

d++;}

29

ตารางท 10 การตงคาบตรใบท 5

/////////////////// โคด 5 ////////////////

if (strID.indexOf("77:0A:2B:3F") >= 0) {

if (e<1)

{

myGLCD.clrScr();

myGLCD.setColor(255, 0, 0);

myGLCD.setColor(64, 64, 64);

myGLCD.setColor(255, 255, 255);

myGLCD.print(" Nooy", CENTER, 93);

myGLCD.print(" Technicl Manager ",

CENTER, 150);

digitalWrite(LED_PIN1,HIGH);

Serial.println("eeeee");

////////////Servo Drive/////////////

servo3.writeMicroseconds(2000); // สงให

Servo หมนวนขวาdelay(600); // หนวงเวลา2000ms

servo3.writeMicroseconds(1500); // สงให

Servo หยด delay(100); // หนวงเวลา 2000ms

servo3.writeMicroseconds(850); // สงให

Servo หมนวนซายdelay(600); // หนวงเวลา 2000ms

servo3.writeMicroseconds(1500); // สงให

Servo หยดdelay(1000); // หนวงเวลา 2000ms

servo2.writeMicroseconds(2000); // สงให

Servo หมนวนขวาdelay(600); // หนวงเวลา 2000ms

servo2.writeMicroseconds(1500); // สงให

Servo หยดdelay(100); // หนวงเวลา2000ms

servo2.writeMicroseconds(850); // สงให

Servo หมนวนซายdelay(600); // หนวงเวลา 2000ms

servo2.writeMicroseconds(1500); // สงให

Servo หยด

delay(1000); // หนวงเวลา 2000ms

Serial.println(e);

delay(1000);

myGLCD.clrScr();

digitalWrite(LED_PIN1,LOW);

}

e++;}

30

ตารางท 11 การตงคาบตรใบท 6

/////////////////// โคด 6 ////////////////

if (strID.indexOf("CB:32:84:21") >= 0) {

if (f<1)

{

myGLCD.clrScr();

myGLCD.setColor(255, 0, 0);

myGLCD.setColor(64, 64, 64);

myGLCD.setColor(255, 255, 255);

myGLCD.print(" Max", CENTER, 93);

myGLCD.print(" Ferryman ", CENTER,

150);

digitalWrite(LED_PIN1,HIGH);

Serial.println("ffff");

////////////Servo Drive/////////////

servo5.writeMicroseconds(2000); // สงให

Servo หมนวนขวา

delay(600); // หนวงเวลา 2000ms

servo5.writeMicroseconds(1500); // สงให

Servo หยด

delay(100); // หนวงเวลา 2000ms

servo5.writeMicroseconds(850); // สงให

Servo หมนวนซาย delay(600); //

หนวงเวลา 2000ms

servo5.writeMicroseconds(1500); // สงให

Servo หยด delay(1000); // หนวงเวลา 2000ms

servo4.writeMicroseconds(2000); // สงให

Servo หมนวนขวา

delay(600); // หนวงเวลา 2000ms

servo4.writeMicroseconds(1500); // สงให

Servo หยดdelay(100); // หนวงเวลา 2000ms

servo4.writeMicroseconds(850); // สงให

Servo หมนวนซาย

delay(600); // หนวงเวลา 2000ms

servo4.writeMicroseconds(1500); // สงให

Servo หยด

delay(1000); // หนวงเวลา 2000ms

Serial.println(f);

delay(1000);

myGLCD.clrScr();

digitalWrite(LED_PIN1,LOW);

}

f++;}

}}}}

}}}}

31

ประวตผจดท าโครงงาน

ผจดท าโครงงานคนท 1

นาย สณหพล มาศรกษา

B5926565

ผจดท าโครงงานคนท 2

นาย ปฏภาณ แกนจนทร

B5923663

ผจดท าโครงงานคนท 3

นาย วรวฒน ศรโท

B5929146

Recommended