ผู้เขียน หัวข้อ: งานครั้งที่ 47 เขียนโปรแกรมวัดระยะด้วย Ultrasonic แสดงผล 7 segment MAX7219  (อ่าน 1597 ครั้ง)

admin

  • Administrator
  • Hero Member
  • *****
  • กระทู้: 518
    • ดูรายละเอียด
    • อีเมล์
เขียนโปรแกรมวัดระยะด้วย Ultrasonic  แสดงผล 7 segment MAX7219

ไลบารี่เพิ่มเติม
-Ultrasonic.h (ไลบรารี่ตัวเดียวกันกับงานครั้งที่ 45 หากติดตั้งแล้วไม่ต้องทำซ้ำ)*ดูวิธีติดตั้งในงานครั้งที่ 45
-LedControl.h (ไลบรารี่ตัวเดียวกันกับงานครั้งที่ 20 หากติดตั้งแล้วไม่ต้องทำซ้ำ)*ดูวิธีติดตั้งในงานครั้งที่ 20

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

วงจรที่ใช้ในการทดลองสำหรับผู้ที่ใช้บอร์ด Arduino


วงจรที่ใช้ในการทดลองสำหรับผู้ที่ใช้ไอซี ATmega328 (ที่มี Boot Loader Arduino)


ตัวอย่างโปรแกรมวัดระยะด้วย 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);
}

ตัวอย่างโปรแกรมแสดงผล 7 Segment MAX7219
โค๊ด: [Select]
#include "LedControl.h"
LedControl lc=LedControl(6,4,5,1); // Pin 11->DIN, 13->CLK, 12->CS, 1 = No.of devices
void setup()
{
  lc.shutdown(0,false);    // Enable display
  lc.setIntensity(0,10);   // Set brightness level (0 is min, 15 is max)
  lc.clearDisplay(0);      // Clear display register
}
void loop()
{
   lc.setDigit(0,7,2,false);   
   lc.setDigit(0,6,3,true);
   lc.setDigit(0,5,4,false);
   lc.setRow(0,4,B00110111);
   lc.setRow(0,3,B01001111);
   lc.setRow(0,2,B00001110);     
   lc.setRow(0,1,B00001110);
   lc.setRow(0,0,B01111110);   
  delay(1000);
}
« แก้ไขครั้งสุดท้าย: มิถุนายน 28, 2017, 09:31:30 AM โดย admin »