บทความ

กำลังแสดงโพสต์จาก กุมภาพันธ์, 2019

ใบงานการทดลองที่ 15 งานโปรแกรมการอ่านค่าอุณหภูมิและค่าความชื้นจาก DHT11 ส่วนประกอบงานวิชา การเขียนโปรแกรมคอมฯ

รูปภาพ
ใบงานการทดลองที่ 15   #include <LedControl.h>   #include <DHT11.h>   int pin=4;   DHT11 dht11(pin);   LedControl lc=LedControl(8,10,9,1);   void show2digit(int h,int t)   {     int seg1,seg2,seg3,seg4;     seg1 = h%10;     seg2 = h/10;     lc.setDigit(0,4,seg1,false);     lc.setDigit(0,5,seg2,false);     seg3 = t%10;     seg4 = t/10;     lc.setDigit(0,0,seg3,false);     lc.setDigit(0,1,seg4,false);     delay(300);   }   void setup()   {     Serial.begin(9600);     while (!Serial) {         ;       }     lc.shutdown(0,false);      lc.setIntensity(0,5);     lc.clearDisplay(0);   }   void loop()   {     int err;     float temp, humi;     if((err=dht11.read(humi, ...

ใบงานการทดลองที่ 14 การอ่านค่าอุณหภูมิด้วย DS18B20 ส่วนประกอบงานวิชา การเขียนโปรแกรมคอมฯ

รูปภาพ
ใบงานการทดลองที่ 14   การอ่านค่าอุนหภูมิ   #include <LedControl.h>   #include <OneWire.h>   #include <DallasTemperature.h>   #define ONE_WIRE_BUS 11   OneWire oneWire(ONE_WIRE_BUS);   DallasTemperature sensors(&oneWire);   float Tfloat;   long Tint;   LedControl lc=LedControl(8,10,9,1);   // Pin 8->DIN, 10->CLK, 9->CS(LOAD), 1 = No.of devices   void show6digit(int num)   {     int seg1,seg2;     seg2 = (((((num%100000)%10000)%1000)%100)/10);     seg1 = (((((num%100000)%10000)%1000)%100)%10);     lc.setDigit(0,0,seg1,false);     if (num>=10)         lc.setDigit(0,1,seg2,false);     delay(300);   }   void setup(void)   {     sensors.begin();     lc.shutdown(0,false);      lc.setIntensity(0,5);     lc.clearDisplay(0);   ...

ใบงานทดลองที่13 โปรแกรมการเชื่อมต่อกับ PIR Sensorส่วนประกอบงานวิชา การเขียนโปรแกรมคอมฯ

รูปภาพ
ใบงานทดลองที่13   #include <LiquidCrystal_I2C.h>   LiquidCrystal_I2C lcd(0x27,16,2);   int PIRpin = 8;   void setup()   {     lcd.begin();     pinMode(PIRpin,INPUT);     lcd.home();     lcd.print("Waiting for PIR");     delay(10000);          lcd.clear();   }   void loop()   {     int x = digitalRead(PIRpin);     lcd.home();     lcd.print("PIR = ");     lcd.print(x);     delay(100);   }     PIR sensor หรือ sensor  ชนิดหนึ่งที่ใช้ตรวจจับคลื่นรังสี Infrared ที่แพร่จาก มนุษย์ หรือ สัตว์ ที่มีการเคลื่อนไหว  เมื่อ วงจรทำงาน LCD ขึ้นคำว่า  Waiting for PIR เป็นเวลา 10 วินาที หลังจากนั้น LCD จะเปลี่ยนแสดง PIR = และแสดงตัวเลขที่เปลี่ยนแปลงตาม ค่าของPIR

ใบงานทดลองที่12 เชื่อมต่อโมดูลวัดระยะทางด้วยอัลตราโซนิค ส่วนประกอบงานวิชา การเขียนโปรแกรมคอมฯ

รูปภาพ
ใบงานทดลองที่12 #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,16,2); int triggerPin = 13; int echoPin = 12; int buzzerpin = 11; long duration,distCM; void setup() {   lcd.begin();   pinMode(buzzerpin,OUTPUT);   pinMode(triggerPin,OUTPUT);   pinMode(echoPin,INPUT);   digitalWrite(buzzerpin,HIGH); } void loop() {   digitalWrite(triggerPin,LOW);   delayMicroseconds(2);   digitalWrite(triggerPin,HIGH);   delayMicroseconds(10);   digitalWrite(triggerPin,LOW);   duration = pulseIn(echoPin,HIGH);   distCM = duration/58;   lcd.home();     if (distCM > 400)   {        lcd.clear();     lcd.print("**!!!Alarm!!!**");     tone(buzzerpin,700,500);     delay(500);     digitalWrite(buzzerpin,HIGH);     delay(70);     lcd.setCursor(0,1);     lcd.print(distCM);    } ...

ใบงานการทดลองที่ 11 เชื่อมต่อโมดูลวัดระยะทางด้วยแสงอินฟาเรด ส่วนประกอบงานวิชา การเขียนโปรแกรมคอมฯ

รูปภาพ
ใบงานการทดลองที่ 11   #include <LiquidCrystal_I2C.h>   LiquidCrystal_I2C lcd(0x27,16,2);   int aval,temp_aval=0;   void setup()  {     lcd.begin();     lcd.setCursor(0,0);     lcd.print("aval = ");   }   void loop()   {      aval = analogRead(A0);      if (temp_aval != aval)      {         lcd.setCursor(7,0);         lcd.print("    ");      }      lcd.setCursor(7,0);      lcd.print(aval);      if (aval>400)      {         lcd.setCursor(0,1);         lcd.print("Hi_Pattayatech");      }      else      {         lcd.setCursor(0,1);         lcd.print("-----");      }   ...

ใบงานทดลองครั้งที่ 8 Buzzer+Keypadส่วนประกอบงานวิชา การเขียนโปรแกรมคอมฯ

รูปภาพ
ใบงานทดลองครั้งที่ 8 #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]={   {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); // Pin 8->DIN, 10->CLK, 9->CS(LOAD), 1 = No.of devices void setup() {   lc.shutdown(0,false);   lc.setIntensity(0,5);   lc.clearDisplay(0);   pinMode(buzzerpin,OUTPUT);   digitalWrite(buzzerpin,HIGH); } void loop() {   char key = keypad.getKey();   if ((key != NO_KEY) && (key < 9))   {     lc.setDigit(0,0,key,false);     t...

ใบงานทดลองครั้งที่ 10 LDR แสดงผลด้วย LCD ส่วนประกอบงานวิชา การเขียนโปรแกรมคอมฯ

รูปภาพ
ใบงานทดลองครั้งที่ 10 #include <LiquidCrystal_I2C.h>  LiquidCrystal_I2C lcd(0x27,16,2); int aVal=0,tempaVal=0; void setup() {      lcd.begin(); } void loop()  {       aVal = analogRead(A0);   if (tempaVal != aVal)   {        lcd.clear();        lcd.setCursor(0,0);        lcd.print("LDR");        lcd.setCursor(0,1);        lcd.print(aVal);        delay(300);   }   tempaVal = aVal; }    เมื่อวงจรทำงาน เราสามารถปรับค่า LDR หรือ ตัวต้านทานเปลี่ยนค่าตามแสง ให้ค่าตรงตามที่ต้องการ ซึ่งในวงจรนี้คือให้ ค่าLDR(tempaVal) ไม่เท่ากับ 0 จะทำให้หน้าจอ LCD ขึ้นคำว่า LDR ซึงสามารถตรวจสอบได้โดยโค้ดนี้   #include <LiquidCrystal_I2C.h>   LiquidCrystal_I2C lcd(0x27,16,2);   int aVal=0,tempaVal=0;   void setup() {     lc...