บทความ

กำลังแสดงโพสต์จาก ธันวาคม, 2018

ส่วนประกอบงานวิชา การเขียนโปรแกรมคอมฯ ครั้งที่ 10 (Arduino วัดอุณหภูมิ)

รูปภาพ
การใช้ Arduino วัดอุณหภูมิและความชื้นด้วย DHT11    DHT11 เป็นเซ็นเซอร์ที่ใช้วัดอุณหภูมิเป็นองศาเซลเซียล และองศาฟาเรนไฮ ยังสามารถวัดความชื้นได้อีกด้วย มีไลบารี่พร้อมใช่งานกับ Arduino สามารถใช้วัดค่าได้เที่ยงตรงกว่า NTC หรือ PTC มาก เพราะให้เอาต์พุตออกมาในรูปของดิจิตอล ใช้วัดอุณหภูมิอากาศโดยรอบ ลำดับขาใช้งาน 1VCC 2 DATA 3 NC 4 GND สำหรับlibraryดาว์โหลดได้จากลิ้ง   https://github.com/adafruit/DHT-sensor-library   โค้ด #include "DHT.h" #define DHTPIN 2 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(9600); Serial.println("DHTxx test!"); dht.begin(); } void loop() { float h = dht.readHumidity(); float t = dht.readTemperature(); float f = dht.readTemperature(true); if (isnan(h) || isnan(t) || isnan(f)) { Serial.println("Failed to read from DHT sensor!"); return; } float hi = dht.computeHeatIndex(f, h); Serial.print("Humidity: "); Serial.print(h); Serial.pri...

ส่วนประกอบงานวิชา การเขียนโปรแกรมคอมฯ ครั้งที่ 9 (LCD+2motor)

รูปภาพ
LCD+Motor 2 ตัว #include <LiquidCrystal.h>   //หัวโปรแกรมประกาศตัวLiquidCrystalหรือLCDให้สามารถใช้งานได้ LiquidCrystal lcd(12,11,5,4,3,2); void setup() {  lcd.begin(16,2);   pinMode(0,INPUT);   pinMode(1,INPUT);   pinMode(6,OUTPUT);   pinMode(7,OUTPUT); } void loop() {   int fire=digitalRead(1);  //ตั้งตัวแปร fire เท่ากับdigitalReadขาที่1   int cool=digitalRead(0); //ตั้งตัวแปร cool เท่ากับdigitalReadขาที่0   if (fire==0){            //ถ้าfireเป็น0   lcd.setCursor(0,1);          lcd.print("Motor 1");   //เขียนคำว่าMotor1บนLCD   digitalWrite(6,HIGH) ;  //ให้ขา6เป็นHIGHหรือทำให้มอเตอร์หมุน     delay(300);   digitalWrite(6,LOW) ; //ให้ขา6เป็นLOWหรือทำให้มอเตอร์หยุดหมุน    lcd.setCursor(0,1);   lcd.print("         ");      ...

ส่วนประกอบงานวิชา การเขียนโปรแกรมคอมฯ ครั้งที่ 8 (7SEC+2Botton)

รูปภาพ
void setup()  { pinMode(1, OUTPUT);       pinMode(2, OUTPUT);  pinMode(3, OUTPUT);       pinMode(4, OUTPUT); pinMode(5, OUTPUT);       pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(10, INPUT);  pinMode(11, INPUT); } void a0 (){                      //สร้างฟังชั่นขึ้นเองเป็น a0 ทำงานตามวงเล็บ     digitalWrite(7, LOW);       digitalWrite(6, HIGH);      digitalWrite(5, HIGH);      digitalWrite(4, HIGH);     digitalWrite(3, HIGH);      digitalWrite(2, HIGH);      digitalWrite(1, HIGH);  } void a1(){                       //สร้างฟังชั่นขึ้นเองเป็น a1 ทำงานตามวงเล็บ     digitalWrite(7, LOW);       digitalWrite(6, LOW)...

ส่วนประกอบงานวิชา การเขียนโปรแกรมคอมฯ ครั้งที่ 7 (7SEC LED+voidสร้างเอง)

รูปภาพ
void setup() { pinMode(13, OUTPUT);      pinMode(12, OUTPUT); pinMode(11, OUTPUT);      pinMode(10, OUTPUT); pinMode(9, OUTPUT);      pinMode(8, OUTPUT); pinMode(7, OUTPUT); } void 0a (){                        //สร้างฟังชั่นขึ้นเองเป็น 0a ทำงานตามวงเล็บ  digitalWrite(13, LOW);  digitalWrite(12, LOW);  digitalWrite(11, LOW);  digitalWrite(10, LOW);  digitalWrite(9, LOW);  digitalWrite(8,LOW);  digitalWrite(7, HIGH); } void 1a (){                        //สร้างฟังชั่นขึ้นเองเป็น 1a ทำงานตามวงเล็บ            digitalWrite(13,  HIGH); digitalWrite(12, LOW); digitalWrite(11, LOW); digitalWrite(10, HIGH); digitalWrite(9, HIGH); digitalWrite(8,HIGH); digitalWrite(7, HIGH); } void 2a(){            ...

ส่วนประกอบงานวิชา การเขียนโปรแกรมคอมฯ ครั้งที่ 6 (LCDเริ่มต้น)

รูปภาพ
#include <LiquidCrystal.h> //หัวโปรแกรมประกาศตัวLiquidCrystalหรือLCDให้สามารถใช้งานได้ LiquidCrystal lcd(12,11,4,5,6,7); void setup() { } void loop (){    lcd.begin(16,2) ;   lcd.print("PHICHIT");  //เขียนข้อความว่า PHICHIT  lcd.setCursor(0,1);  lcd.print("  "); }        เมื่อไมโครคอนโทรเลอร์เริ่มทำงาน หน้าจอจะแสดงภาพคือ แถวที่1(16,2)จะแสดงคำว่า PHICHIT และแถวถัดมา(0,1)จะไม่แสดงอะไรเลย

ส่วนประกอบงานวิชา การเขียนโปรแกรมคอมฯ ครั้งที่ 5 (1motor+2botton)

รูปภาพ
Motor 1 ตัว push botton 2 อัน void setup() { pinMode(13, OUTPUT);    pinMode(7, OUTPUT); pinMode(2, INPUT); pinMode(1, INPUT); } void loop(){   int XD = digitalRead (1);  //ตั้งค่าตัวแปรXDเท่ากับdigitalRead(1)   int DX = digitalRead (2);  //ตั้งค่าตัวแปรXDเท่ากับdigitalRead(2)   if (XD==0){                          //ถ้าXDเท่ากับ0ให้ทำตามด้านล่าง   digitalWrite(13, HIGH);   delay(500);              }   if (DX==0){                         //ถ้าDXเท่ากับ0ให้ทำตามด้านล่าง   digitalWrite(7, HIGH);   delay(500);    }      digitalWrite(13, LOW); //ถ้าไม่มีอันไหนทำตรงตามเงื่อนไขให้ทำอันนี้   digitalWrite(7, LOW); }       เมื่อกดปุ่มที่หนึ่งมอเตอร์จะหมุนไปในทิศทางหนึ่งและเมื่อเราเปลี่ยนไปกดอีกป่...

ส่วนประกอบงานวิชา การเขียนโปรแกรมคอมฯ ครั้งที่ 4 (2motor+2botton)

รูปภาพ
มอเตอร์ 2 ตัว Push botton 2 อัน void setup() {  pinMode(12, OUTPUT);  pinMode(11, OUTPUT);  pinMode(1, INPUT);  pinMode(0, INPUT); } void loop() {  int XD = digitalRead(1);  //ตั้งค่าตัวแปรXDเท่ากับdigitalRead(1)  int DX = digitalRead(0);  //ตั้งค่าตัวแปรDXเท่ากับdigitalRead(0)   if (XD == 0) {           //ถ้าXDเท่ากับ0ให้ทำตามด้านล่าง     digitalWrite(12, HIGH);     digitalWrite(11, LOW);     delay(700);   }   if (DX == 0) {           //ถ้าDXเท่ากับ0ให้ทำตามด้านล่าง     digitalWrite(12, LOW);     digitalWrite(11,HIGH);     delay(700);   } }   เมื่อปุ่มที่หนึ่งถูกกดมอเตอร์ทั้งสองจะหมุนไปด้านหนึ่ง และเมื่อกดอีกปุ่มหนึ่งมอเตอร์ทั้งสองจะหมุดไปอีกด้าน

ส่วนประกอบงานวิชา การเขียนโปรแกรมคอมฯ ครั้งที่ 3 (Led+botton)

รูปภาพ
LED และ Push botton void setup() {   pinMode (13,OUTPUT);   pinMode (10,OUTPUT);   pinMode (8,OUTPUT);   pinMode (7,INPUT); } void loop() {   int XD = digitalRead (7);   //ตั้งค่าตัวแปรให้ XD คือ digitalRead(7)   if (XD==0){                         //ถ้าXDเป็น0(ขา7เท่ากับ0)ทำตามเงื่อนไขด้านล่าง   digitalWrite(13,LOW);   digitalWrite(10,HIGH);   digitalWrite(8,LOW);   delay(1000);   digitalWrite(13,LOW);   digitalWrite(10,LOW);   digitalWrite(8,HIGH);   delay(1000);   }   digitalWrite(13,LOW);    //ถ้าXDไม่เป็น0(ขา7เท่ากับ0)ทำตามเงื่อนไขนี้   digitalWrite(10,LOW);   digitalWrite(8,LOW); }    เมื่อปุ่มถูกกด LED จะทำงานโดยเกิดความสว่างขึ้นจากการได้รับไฟหรือ HIGH และดับลงเมื่อได้รับ LOW ถ้าปุ่มไม่ถูกกด LED ทุกตัวจะเป็น LOW