บทความ

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

ชุดทดลองอ่านค่าความเข้มแสง LDR

รูปภาพ
int ldr = 0; //analog pin to which LDR is connected int ldr_value = 0; //variable to store LDR values void setup () { Serial . begin (9600); //start te serial monitor } void loop () { ldr_value = analogRead (ldr); //reads the LDR values Serial . println (ldr_value); //prints the LDR values to serial monitor delay (50); //wait } LDR เป็นตัวต้านทานที่ปรับค่าได้ตามความเข้มของแสง LDR เราสามารถใช้ Arduino อ่านค่าความต้านทานที่เปลี่ยนแปลงตามความเข้มของแสงเพื่อนำไปใช้งานที่ต้องการได้ โดยค่าที่อ่านได้เป็นแบบ อะนาล็อก https://www.arduinoall.com/product/544/%E0%B8%8A%E0%B8%B8%E0%B8%94%E0%B8%97%E0%B8%94%E0%B8 %A5%E0%B8%AD%E0%B8%87%E0%B8%AD%E0%B9%88%E0%B8%B2%E0%B8%99%E0%B8%84%E0%B9%88%E0%B8%B2%E0%B8 %84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0%B9%80%E0%B8%82%E0%B9%89%E0%B8%A1%E0%B9%81%E0%B8%AA%E0%B8 %87-ldr

3 POT-GH + RGB

รูปภาพ
int red = 11; int green = 10; int blue = 9; void setup() { Serial.begin(9600); pinMode (red,OUTPUT); pinMode (green,OUTPUT); pinMode (blue,OUTPUT); } void loop() { int x,y,z,r,s,t; x = analogRead (A0); y = analogRead (A1); z = analogRead (A2); r = map(x,0,1023,0,255); s = map(y,0,1023,0,255); t = map(z,0,1023,0,255); Serial.print("r = ");Serial.println(r); Serial.print("s = ");Serial.println(s); Serial.print("t = ");Serial.println(t); analogWrite(red,r); analogWrite(green,s); analogWrite(blue,t); } วิธีทำ ตั้งขา 9,10,11 เป็น int red,green,blue int red = 11; int green = 10; int blue = 9; ตั้ง Serial.begin(9600); เพื่อตั้งค่าให้รับ-ส่งข้อมูล จากนั้น ตั้งขา 9,10,11 เป็น OUTPUT pinMode (red,OUTPUT); pinMode (green,OUTPUT); pinMode (blue,OUTPUT); จากนั้นตั้ง x,y,z เป็น analogRead x = analogRead (A0); y = analogRead (A1); z = analogRead (A2); r,s,t จำกัดไฟเข้า r = map(x,0,1023,0,255); s = map(y,0,1023,0,255); t = map(z,...

IC ถอดรหัส

รูปภาพ
#include "LedControl.h" LedControl lc=LedControl(5,7,6,1);  // Pin 5->DIN, 7->CLK, 6->CS(LOAD), 1 = No.of devices void show4digit(int num) {    int seg1,seg2,seg3,seg4;   seg1 = ((num%1000)%100)%10;   seg2 = ((num%1000)%100)/10;   seg3 = (num%1000)/100;   seg4 = num/1000;     lc.setDigit(0,0,seg1,false);    if (num>=10)     lc.setDigit(0,1,seg2,false);     if (num>=100)         lc.setDigit(0,2,seg3,false);     if (num>=1000)         lc.setDigit(0,3,seg4,false);        delay(300); } void setup() {     Serial.begin(9600);     lc.shutdown(0,false);       lc.setIntensity(0,5);      lc.clearDisplay(0);       } void loop() {     int num;     num = analogRead(A0);     Serial.print("analogRead...

สอน วิธี ใช้งาน Arduino วัดอุณหภูมิและความชื้น ด้วยเซนเซอร์ DHT22 / DTH21 / DHT11 ใช้ได้ภายใน 3 นาที

รูปภาพ
Arduino สามารถใช้งานเป็นอุปกรณ์เซนเซอร์ ความชื้นและอุณหภูมิ สำหรับประยุกต์ใช้กับงานตามต้องการได้ เช่น ระบบควบคุมอุณหภูมิความชื้นในโรงเพาะเห็น ระบบควบคุมอัตโนมัติ หรือจะใช้ทำเป็นเซนเซอร์เล็ก ๆ สำหรับมอนิเตอร์อุณหภูมิความชื้นในสถานที่ต่าง ๆ การใช้งานเซนเซอร์อุณหภูมิและความชื้นร่วมกับ Arduino สามารถทำได้โดยง่าย เพราะมีไลบารีมาให้พร้อมใช้งาน เพียงแค่ก็อปไปวางก็สามารถดึงค่าอุณหภูมิและความชื้นออกมาได้แล้ว # include " DHT.h " DHT dht ; void setup ( ) { Serial . begin ( 9600 ) ; Serial . println ( ) ; Serial . println ( " Status \t Humidity (%) \t Temperature (C) \t (F) " ) ; dht . setup ( 2 ) ; // data pin 2 } void loop ( ) { delay ( dht . getMinimumSamplingPeriod ( ) ) ; float humidity = dht . getHumidity ( ) ; // ดึงค่าความชื้น float temperature = dht . getTemperature ( ) ; // ดึงค่าอุณหภูมิ Serial . print ( dht . getStatusString ( ) ) ; Serial . print ( " \t " ) ; Serial . print ( humidity , 1 ) ; Serial...

Coin Validator เครื่องรับเหรียญ เครื่องหยอดเหรียญ Multi Coin รุ่น SG-6

รูปภาพ
int pin = 9; unsigned long duration;     int count = 0; void setup()  {    // initialize serial communications at 9600 bps:   Serial.begin(9600);    pinMode(pin, INPUT); } void loop()  {      duration = pulseIn(pin, HIGH, 1000000);     float time=duration/1000.00;      Serial.print("DelT=");     Serial.print(time);     Serial.println(" ms");     if (time > 2){       count = count + 1; Serial.println(count);     }     if (time ==0){       if (count > 0 &&count < 3){         Serial.println("1 Bath");         }        if (count > 3 &&count < 7){         Serial.println("5 Bath");         }       if (count > 7){   ...

function analog

รูปภาพ
void setup() {   pinMode(12,OUTPUT); } void loop() {  int val = analogRead(A1);  val = map (val, 0, 1023, 0, 255);  analogWrite(12,val);  } วิธีทำ กำหนดค่า 12 เป็น OUTPUT ใน void set up จากนั้นใช้ฟังชั่นก์พิเศษ Analog int val = analogRead(A1); กำหนดขาที่จะใช้ val = map (val, 0, 1023, 0, 255);  ไฟสว่าง 1023 เริ่มสว่าง 255 analogWrite(12,val); กำหนดขา 12  = val พอเอาภาษา c ไปใส่ จะเป็นว่า ปรับค่าความต้านทานเกิน 50 % ขึ้นไปไฟจะติด ต่ำกว่า 50% ไฟจะไม่ติด

สร้างนาฬิกาดิจิตอลด้วยบอร์ด Arduino

รูปภาพ
/* DigitalClockRTC1307 By IOXhop.com */ #include <Wire.h> #include <Time.h> #include <DS1307RTC.h> #include <TM1637Display.h> // Module connection pins (Digital Pins) #define CLK 2 #define DIO 3 unsigned long previousMillis; bool showdot = false; String SerialGET = ""; TM1637Display display(CLK, DIO); void setup() {   Serial.begin(9600); } void loop() {   tmElements_t tm;   if (!RTC.read(tm)) {     tm.Hour = 0;     tm.Minute = 0;     tm.Second = 0;     RTC.write(tm);   }   display.write(tm.Hour/10, 0);   display.write(tm.Hour%10, 1);   display.write(tm.Minute/10, 2);   display.write(tm.Minute%10, 3);   // Dot blink   unsigned long currentMillis = millis();   if (currentMillis-previousMillis>500){     previousMillis = currentMillis;     display.dotShow(showdot=!showdot);   }   while (Serial.avail...

LCD+Motor

รูปภาพ
# include <LiquidCrystal.h> LiquidCrystal lcd(12,11,5,4,3,2) ; void setup() { lcd.begin(16,2); pinMode (10,INPUT); pinMode (9,INPUT); pinMode (8,OUTPUT); pinMode (7,OUTPUT); } void loop() {  int sd = digitalRead(10);  int hd = digitalRead(9);  if (sd == 0) { lcd.setCursor(0,1); lcd.print("Motor 1"); digitalWrite(8, HIGH); delay (500); lcd.setCursor(0,1); lcd.print("       "); digitalWrite(8, LOW); delay (500); }  if (hd == 0) { lcd.setCursor(0,1); lcd.print("Motor 2"); digitalWrite(7, HIGH); delay (500); lcd.setCursor(0,1); lcd.print("       "); digitalWrite(7, LOW); delay (500);  }  digitalWrite(8, LOW);  digitalWrite(7, LOW);  } วิธีทำ เขียน# include <LiquidCrystal.h>กับLiquidCrystal lcd(12,11,5,4,3,2) ;ไว้คนละบรรทัดบนสุด จากนั้นเขียน  lcd.begin(16,2); pinMode (10,INPUT); pinMode (9,INPUT); pinMode (8,OUTP...

7 Segment

รูปภาพ
void setup() { pinMode(11, OUTPUT);    pinMode(10, OUTPUT); pinMode(9, OUTPUT);    pinMode(8, OUTPUT); pinMode(7, OUTPUT);    pinMode(6, OUTPUT); pinMode(5, OUTPUT); pinMode(4, INPUT); pinMode(1, INPUT); } void loop(){   gHu (); } void gHu (){   int XD = digitalRead (4);   if (XD==0){     digitalWrite(11, HIGH);     digitalWrite(10, HIGH);     digitalWrite(9, HIGH);     digitalWrite(8, HIGH);     digitalWrite(7, HIGH);     digitalWrite(6, HIGH);     digitalWrite(5, LOW);     delay(1000);     digitalWrite(11, LOW);     digitalWrite(10, HIGH);     digitalWrite(9, HIGH);     digitalWrite(8, LOW);     digitalWrite(7, LOW);     digitalWrite(6, LOW);     digitalWrite(5, LOW);     delay(1000);     digitalWrite(11, HIGH);     digita...