กลับมาอีกครั้งกับ Craft โผ่มมม EP.2 สานต่อความสนุกกับตอนที่แล้ว โดยในตอนนี้เราได้รับแรงบันดาลใจจากผู้ใหญ่บ้าน ผู้ใหญ่เมืองท่านหนึ่งที่มีกัลยาณมิตรที่ดีมีรสนิยมในการเลือกนาฬิกาใส่อย่างมาก จึงเห็นว่าน่าจะมี
[gdlr_video url=”https://www.youtube.com/watch?v=wgYy-sTQgGE” ]น้องๆ หลายๆ คนอยากสร้างนาฬิกาใช้กันเองแน่ๆ (อย่างงี้ก็ได้หรอ ?)
อ๊ะ โอเค ! เราติดกันไว้อยู่ 2 ฟังก์ชันใหญ่ๆ นั่นก็คือ checkClock() กับ printClock() เรามาดูตัวอย่างกันก่อนเลยดีกว่า
void checkClock() { if (secound >= 60) { minute += 1; secound = 0; } if (minute >= 60) { hour += 1; minute = 0; } if (hour >= 24) { hour = 0; } } void printClock() { lcd.setCursor(hour >= 10 ? 7 : 8, 1); lcd.print(hour); lcd.setCursor(minute >= 10 ? 10 : 11, 1); lcd.print(minute); lcd.setCursor(secound >= 10 ? 13 : 14, 1); lcd.print(secound); }
โดยเรามาอธิบายส่วนแรกกัน ! checkClock() นี้เราจะพบได้ว่าภายในมีการตรวจสอบเงื่อนไขทั้งหมด 3 ครั้งด้วยกันโดยจะดูว่า
- ถ้าวินาทีมีค่ามากกว่า หรือ เท่ากับ 60 ให้บวกนาทีเพิ่มไป 1 และ ตั้งค่าวินาทีใหม่เป็น 0
- ถ้านาทีมีค่ามากกว่า หรือ เท่ากับ 60 ให้บวกชั่วโมงเพิ่มไป 1 และ ตั้งค่านาทีใหม่เป็น 0
- ถ้านาทีมีค่ามากกว่า หรือ เท่ากับ 24 ให้ตั้งค่าชั่วโมงใหม่เป็น 0
ถามว่าทั้งหมดนี้มีไว้ทำอะไร ? นั่นก็คือเอาไว้ปัดหน่วยเวลาเมื่อมันเกินนั่นเอง เราคงไม่อยากเห็นนาทีที่ 61 62 63 หรือชั่วโมงที่ 25 26 27 จริงไหมครับ ^_^
ส่วนที่ 2 เป็นการแสดงเวลานั่นเอง ! การแสดงเวลานั้นมีอะไรที่ต้องแปลกถึงต้องแยกฟังก์ชันหละ ? เพราะว่าตามความเป็นจริงแล้วนั่นตัวเลขในส่วนของเวลา
ที่เราพบกันมันจะมีตัวเลขทั้งหมด 1 และ 2 หลักจริงไหมครับ เช่น ตี 1 กับ 1 นาที 1 วินาที ควรจะแสดง 01:01:01 แต่อย่างที่เราทราบว่า integer ถ้าหมายถึงตัวเลขหลักเดียว
มันก็คือตัวเลขหลักเดียว ถ้าบอกว่า 1 ก็คือ 1 นั่นเอง บวกกับการที่เราต้อง setCurcor ให้ถูกตำแหน่งด้วย เราเลยต้องใช้การตรวจสอบเงื่อนไขเข้ามาดูว่าถ้าเป็นเลข 2 หลัก
ให้แสดงในตำแหน่งใด และ ถ้าเป็นตัวเลขหลักเดียวให้แสดงในตำแหน่งใดนั่นเอง !
โอเคหละครับ หวังว่าผู้เรียนจะได้รับความรู้ไม่มากก็น้อย ทางเราขอเป็นแรงบัลดาลใจให้ทุกท่านที่มีความฝันกล้าลุกออกมาทำสิ่งใหม่ๆให้กับโลก เพื่อโลกที่น่าอยู่ขึ้น
ถ้าใครชอบถูกใจอย่าลืมกดถูกใจ กดติดตาม และ แชร์คลิปของเราด้วยนะคร้าบ แล้วพบกันใหม่ตอนหน้าจ้า ^_^