Page 211 - เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์เบื้องต้น
P. 211

เอกสารประกอบการสอนวิชาไมโครคอนโทรลเลอร์เบื้องต้น    27



                       void loop()

                              {

                       if (Serial.available() > 0)

                              {
                              incomingByte = Serial.read(); // read the incoming byte:

                              // ASCII '1'=49, '2'=50, '3'=51, '4'=52 and '5'=53

                              // calculate new delay time

                       If (incomingByte >= 49 && incomingByte <=53)

                              { // echo to user
                              Serial.write(incomingByte);

                              Serial.println();

                              delayTime=(incomingByte-48)*100;

                              }

                              Serial.print("Press 1-5 for control speed of LED :");

                              }
                              digitalWrite(LED1_PIN, HIGH); // Turn on LED1

                              delay(delayTime); // wait for delayTime

                              digitalWrite(LED1_PIN, LOW); // Turn off LED1

                              delay(delayTime); // wait for delayTime

                       ผลการท างานของโปรแกรมที่ 4.7 แสดงได้ดังรูปที่ 4.8 โปรแกรมนี้จะพิมพ์ข้อความ Press  1-5  for

               control speed of LED  ออกทางพอร์ตอนุกรมแล้วรอให้ผู้ทดลองกดปุ่ม 1 ถึง 5 ที่แป้นคีย์บอร์ด โดยกด 1 คือให้
               LED ติด 0.1 วินาที และดับ 0.1 วินาที และถ้ากด 5 จะท าให้ LED ติด 0.5 วินาที และดับ 0.5 วินาที ถ้าไม่ใช่ปุ่ม 1

               ถึง 5 โปรแกรมจะไม่ตอบสนอง เมื่อกดแล้วโปรแกรมจะส่งรหัส ASCII ของปุ่มนี้กลับคืนเพื่อแจ้งผู้ทดลอง แล้วน า

               ค่าที่ได้ไปค านวณค่าหน่วงเวลาการติดดับของ LED




















               หน่วยที่ 4 ฟังก์ชั่นพื้นฐานของ Arduino และการควบคุมหลอดไฟ LED                                 เรียบเรียงโดยครูทันพงษ์  ภู่รักษ์
   206   207   208   209   210   211   212   213   214   215   216