วันพุธที่ 26 กันยายน พ.ศ. 2561

งานที่ 8

                       ใบรายงานผลการปฏิบัติงาน
Code
#include "LedControl.h"   // การอ่านไฟล์จากไดเร็กทอรี หรือโฟลเดอร์ที่กำหนดไว้
#include "Keypad.h"
#define C4  262     //  ใช้เพื่อตั้งชื่อค่าคงที่
#define D4  294
#define E4  330
#define F4  349
#define G4  392
#define A4  440
#define B4  494
#define C5  523 
char keys[4][4]={   //ข้อมูลชนิดอักขระ ใช้เนื้อที่ 1 byte
  {7,8,9,0},
  {4,5,6,0},
  {1,2,3,0},
  {0,0,0,0}};
byte rowPins[] = {7,6,5,4};
byte colPins[] = {3,2,1,0};
Keypad keypad = Keypad(makeKeymap(keys),rowPins,colPins,4,4);
int melody[] = {C4,D4,E4,F4,G4,A4,B4,C5};  /ตัวแปรพื้นฐานที่เก็บตัวเลขโดยไม่มีจุดทศนิยม
int dl = 300;
int buzzerpin = 11;   
LedControl lc=LedControl(8,10,9,1);   

void setup()   // ฟังก์ชั่นใช้ในการประกาศค่าเริ่มต้น  
{
  lc.shutdown(0,false);  
  lc.setIntensity(0,5); 
  lc.clearDisplay(0);
  pinMode(buzzerpin,OUTPUT); //การกำหนดหน้าที่ของขาว่าเป็นอินพุตหรือเอาต์พุต
  digitalWrite(buzzerpin,HIGH); // ทำหน้าที่เขียนค่า HIGH หรือ LOW ไปยังขาดิจิตอล
}
void loop()  // ฟังก์ชั่นใช้ในการเขียนโค้ดโปรแกรมการทำงานของArduinoเป็นฟังก์ชั่นการวนลูปไปเรื่อยๆ 
{
  char key = keypad.getKey();
  if ((key != NO_KEY) && (key < 9))  // คำสั่งในการตัดสินใจ แบบตัวเลือกเดียว โดยใช้งานร่วมกับ
                                                                             ==, !=, <, >เพื่อใช้ใน การ  ตัดสินใจในการหาคำ
  {
    lc.setDigit(0,0,key,false);
    tone(buzzerpin, melody[key-1],dl);
    delay(dl);    //  หน่วงเวลา
    digitalWrite(buzzerpin,HIGH);   // ทำหน้าที่เขียนค่า HIGH หรือ LOW ไปยังขาดิจิตอล
  }

}

ภาพจำลองการทำงานด้วยโปรแกรม Proteus  







อธิบายการทำงานของโปรแกรม

มีเสียงตอนกด keypad เเละขึ้น ตัวอักษรบน 7segment

ไม่มีความคิดเห็น:

แสดงความคิดเห็น