งานที่มอบหมาย ครูประภาส

บทความประกอบการเรียนรู้ => ไมโครคอนโทรลเลอร์ (Arduino) => ข้อความที่เริ่มโดย: admin ที่ เมษายน 07, 2016, 02:43:02 PM

หัวข้อ: งานครั้งที่ 46 เขียนโปรแกรมวัดระยะด้วย Ultrasonic แสดงผลที่ LCD16x2
เริ่มหัวข้อโดย: admin ที่ เมษายน 07, 2016, 02:43:02 PM
เขียนโปรแกรมวัดระยะด้วย Ultrasonic แสดงผลที่ LCD16x2


ไลบารี่เพิ่มเติม
-Ultrasonic.h (ไลบรารี่ตัวเดียวกันกับงานครั้งที่ 45 หากติดตั้งแล้วไม่ต้องทำซ้ำ)*ดูวิธีติดตั้งในงานครั้งที่ 45 (http://www.praphas.com/forum/index.php?topic=298.0)
*ไลบารี่ LiquidCrystal.h มีมาให้แล้วพร้อมโปรแกรม Arduino IDE ไม่ต้องติดตั้งเพิ่ม

โจทย์การทดลอง
-เขียนโปรแกรมวัดระยะด้วย Ultrasonic แสดงผลที่ LCD16x2
-โปรแกรมรายละเอียดพิเศษรายกลุ่ม (แจ้งให้ทราบเมื่อถึงชั่วโมงเรียน)

วงจรที่ใช้ในการทดลองสำหรับผู้ที่ใช้บอร์ด Arduino
(http://www.praphas.com/PhotoForum/arduino/Lab-46-01.png)

วงจรที่ใช้ในการทดลองสำหรับผู้ที่ใช้ไอซี ATmega328 (ที่มี Boot Loader Arduino)
(http://www.praphas.com/PhotoForum/arduino/Lab-46-02.png)

ตัวอย่างโปรแกรมวัดระยะด้วย Ultrasonic
โค๊ด: [Select]
#include <Ultrasonic.h>
Ultrasonic ultrasonic(A5,A4);               // (Trig PIN,Echo PIN)
void setup() {
  Serial.begin(9600);
}

void loop()
{
  Serial.print(ultrasonic.Ranging(CM));      // CM or INC
  Serial.println(" cm" );
  delay(100);
}


ตัวอย่างโปรแกรมแสดงผล LCD16x2
โค๊ด: [Select]
#include <LiquidCrystal.h>
/* The circuit:
 * LCD RS pin to digital pin 7
 * LCD E  pin to digital pin 6
 * LCD D4 pin to digital pin 5
 * LCD D5 pin to digital pin 4
 * LCD D6 pin to digital pin 3
 * LCD D7 pin to digital pin 2
 * LCD R/W pin to ground
*/
LiquidCrystal lcd(7,6,5,4,3,2);       // set up the LCD's connection pins
void setup()
{
  lcd.begin(16, 2);       // set up the LCD's number of columns and rows:
  lcd.print("hello, world!");
}
void loop() {}