เรียน-เล่น-โค้ด KidBright32iP กับ microBlock IDE EP9 : Real Time Clock

บอร์ด KidBright32ip ติดตั้งไอซีนาฬิกาเวลาจริง (Real Time Clock :RTC) เอาไว้ด้วย
สามารถอ่าน วัน/เดือน/ปี และเวลาออกมาได้ โดยเวลายังคงเดินเที่ยงตรงต่อไปได้เรื่อยๆ แม้ไม่มีไฟเลี้ยง
เนื่องจากมีแบตเตอรี่สำรองเป็นถ่านกระดุมติดตั้งไว้แล้ว

ชุดคำสั่งอ่านค่าวันที่และเวลาในหัวข้อ RTC

ชุดคำสั่งเหล่านี้อยู่ในหัวข้อ RTC ซึ่งมี

คำสั่งสำหรับตั้งเวลาและวันที่

ตัวอย่างที่ 38 กดสวิตช์แสดงเวลา/วันที่

ช่วงเวลาปกติให้หน้าจอแสดงชั่วโมงและนาที เมื่อกดสวิตช์ S1 ให้แสดงปี กดสวิตช์ S2 ให้แสดงวันที่และเดือน ถ้ากดสวิตช์ทั้ง 2 ตัวพร้อมกัน ให้ตั้งค่าเวลาและวันเดือนปีตามโปรแกรมที่กำหนดไว้

การทำงาน

ในส่วนโปรแกรมหลักถ้าไม่เข้าสู่เงื่อนไข if จะนำค่าชั่วโมงและนาทีมาแสดง โดยแสดงในรูปแบบของตัวเลขย่อ 2 หลักด้านซ้ายแสดงชั่วโมง
2 หลักด้านขวาแสดงนาที ถ้ามีการกดสวิตช์ S1 จะนำค่าปี (กำหนดเป็นปี คศ.) มาแสดงในรูปแบบตัวเลข 4 หลักเป็นเวลา 2 วินาที แล้วกลับไปแสดงเวลาเหมือนเดิม ถ้ากดสวิตช์ S2 จะนำค่าเดือนแสดงที่ 2 หลักด้านซ้าย นำค่าวันที่แสดงที่ 2 หลักด้านขวา ถ้าสวิตช์ S1 และ S2 ถูกกดพร้อมกัน จะเป็นการตั้งวันที่และเวลา ตามค่าวันที่และเวลาที่เราต้องการ

ตัวอย่างที่ 39 แสดงวันที่และเวลาที่หน้าต่าง Terminal

เพื่อแสดงทั้งชั่วโมง นาที วินาที วัน เดือน ปี พร้อมทั้งแสดงเป็นภาษาไทยได้ด้วยหน้าต่าง Terminal เป็นคำตอบ

การทำงาน

คำสั่ง print ในหัวข้อ Advanced ใช้ส่งค่าข้อมูลไปยังหน้าต่าง Terminal แต่ปกติที่ใช้งานจะเป็นการส่งแค่ข้อความเดียว ถ้าต้องการเอาข้อความหลายๆ ข้อความมาต่อกันจะต้องใช้คำสั่ง create text with ในหัวข้อ Operators เข้ามาช่วย โดยสามารถกดเครื่องหมายบวกเพื่อเพิ่มจำนวนข้อความที่ต้องการนำมาเชื่อมต่อได้ สำหรับข้อความที่อยู่ในเครื่องหมายคำพูดเป็นบล็อกคำสั่งที่อยู่ในหัวข้อ Operators เช่นเดียวกันเพื่อใช้เพิ่มข้อความที่ต้องการ โดยแสดงเป็นภาษาไทยได้เลย สำหรับการแสดงปีเพื่อต้องการให้เป็นปี พ.ศ. จึงต้องบวกด้วย 543

ผลลัพธ์ที่ได้ที่หน้าต่าง Terminal

ตัวอย่างที่ 40 สวิตช์เปิดไฟช่วงหัวค่ำ

ไฟหน้าบ้านส่วนใหญ่จะเปิดช่วง 6 โมงเย็นถึง 3 ทุ่ม สามารถใช้ KidBright32ip ตรวจสอบเวลาเพื่อทำหน้าที่ทั้งเปิดและปิดไฟในช่วงเวลาที่ต้องการได้ โดยตัวอย่างนี้เลือกใช้ไฟ LED USB มาเป็นตัวสาธิต

การทำงาน

การตรวจสอบเวลามี 2 ส่วนคือตรวจสอบช่วงเปิดไฟกับตรวจสอบช่วงปิดไฟ สำหรับช่วงเปิดไฟเนื่องจากเป็นการเปิดทุกวัน จึงเลือกตรวจสอบเฉพาะค่าชั่วโมงและนาทีเท่านั้น โดยถ้าค่าชั่วโมงมีค่าเท่ากับ 18 และค่านาทีมีค่าเท่ากับ 0 จะให้หลอดไฟ USB LED ติดสว่าง ถ้าตรวจสอบชั่วโมงมีค่าเท่ากับ 21 และนาทีมีค่าเท่ากับ 0 จะปิดหลอดไฟ USB LED เพื่อให้เห็นการทำงานที่ชัดเจน จึงนำค่าชั่วโมง นาที และวินาที แสดงที่หน้าต่าง Terminal ด้วย

นาฬิกาเป็นประโยชน์อย่างมากในการทำระบบควบคุมอัตโนมัติ
ทดลองตั้งโจทย์แล้วเอานาฬิกาไปประยุกต์ใช้งานดูนะครับ

Facebook Comments Box