วันจันทร์ที่ 20 สิงหาคม พ.ศ. 2561

Microcontroller 12

Interfacing Flame Sensor with Arduino to Build a Fire Alarm System

Arduino Flame Sensor Circuit Diagram

Components Required

  • Arduino Uno (any Arduino board can be used)
  • Flame sensor
  • LED
  • Buzzer
  • Resistor
  • Jumper wires

int buzzer = 8;
int LED = 7;
int flame_sensor = 4;
int flame_detected;

void setup()
{
  Serial.begin(9600);
  pinMode(buzzer, OUTPUT);
  pinMode(LED, OUTPUT);
  pinMode(flame_sensor, INPUT);
}

void loop()
{
  flame_detected = digitalRead(flame_sensor);
  if (flame_detected == 1)
  {
    Serial.println("Flame detected...! take action immediately.");
    digitalWrite(buzzer, HIGH);
    digitalWrite(LED, HIGH);
    delay(200);
    digitalWrite(LED, LOW);
    delay(200);
  }
  else
  {
    Serial.println("No flame detected. stay cool");
    digitalWrite(buzzer, LOW);
    digitalWrite(LED, LOW);
  }
  delay(1000);
}

Microcontroller 11

โปรเจค Arduino ง่ายๆ เปิด ปิดไฟด้วยเสียง

เมื่อ 6 เดือนที่ผ่านมา
โดย เจ้าของร้าน Google+


เปิดปิดไฟด้วยเสียง


เรียนรู้วิธีควบคุม Arduino  ด้วย เซ็นเซอร์เสียง LM393 เราจะควบคุม การ ปิด เปิด ไฟ LED ด้วยเสียงตบมือ โดยเราจะใช้เซ็นเซอร์ตรวจจับเสียง LM393 +  รีเลย์ และแสดงผลด้วยไฟ LED


อุปกรณ์ที่ใช้



1. Arduino UNO R3 - Made in italy

2. Sound Detection Sensor Module LM393

3. สาย Jumper Female to Male ยาว 20cm.

4. สาย Jumper Male to Male ยาว 20cm.

5. Prototype PCB Board 4x6 cm Double Sides

6. สกรูหัวกลม+น็อตตัวเมีย ขนาด 3มม ยาว 12มม

7. Relay 1 Channel DC 5V Module

8. SMD LED Lighting G4 AC DC 12V

9. รางถ่าน AA 8 ก้อน

int sound_sensor = 4;
int relay = 5;

int clap = 0;
long detection_range_start = 0;
long detection_range = 0;
boolean status_lights = false;

void setup() {
  pinMode(sound_sensor, INPUT);
  pinMode(relay, OUTPUT);
}

void loop() {
  int status_sensor = digitalRead(sound_sensor);
  if (status_sensor == 0)
  {
    if (clap == 0)
    {
      detection_range_start = detection_range = millis();
      clap++;
    }
    else if (clap > 0 && millis()-detection_range >= 50)
    {
      detection_range = millis();
      clap++;
    }
  }
  if (millis()-detection_range_start >= 400)
  {
    if (clap == 2)
    {
      if (!status_lights)
        {
          status_lights = true;
          digitalWrite(relay, HIGH);
        }
        else if (status_lights)
        {
          status_lights = false;
          digitalWrite(relay, LOW);
        }
    }
    clap = 0;
  }
}

Microcontroller 10

สวิตช์สัมผัส Capacitive touch switch



สวิตช์สัมผัส Capacitive touch switch (CATALEX)

สวิตช์สัมผัสแบบ  1 ปุ่ม ให้สัญญาณเอาต์พุตเป็น 1 เมื่อนำนิ้วไปสัมผัส และเป็น 0 เมื่อนำนิ้วออก วงจรมีไฟ LED บอกสถานะการทำงาน ใช้ง่าย เป็นอินพุตสัญญาณให้ Arduino เหมือนสวิตทั่วไปได้เลย


 อุปกรณ์หลัก 

               -  Arduino UNO R3    

               -  Capacitive touch switch 


Wiring diagram



ผลการค้นหารูปภาพสำหรับ capacitive touch switch arduino

Code ทดสอบการทำงาน

int buttonPin = 9;    
 
int buttonState = 0;        
 
void setup() {
 
Serial.begin(9600);
 
  pinMode(buttonPin, INPUT);     
 
}
 
void loop(){
 
  buttonState = digitalRead(buttonPin);
 
  if (buttonState == HIGH) {     
 
Serial.println("Touch");
 
  } 
 
  else {
 
Serial.println("Not Touch");
 
  }
 
delay(200);
 
}

Microcontroller 9

photo transistor

Code Arduino

const byte Input = A1;
const byte LED = 5;

void setup(){
  pinMode(Input,INPUT);
  pinMode(LED,OUTPUT);
  digitalWrite(LED,LOW);
  analogReference(DEFAULT);
  Serial.begin(9600);
}

void loop(){
  float distance = analogRead(Input);  
  Serial.println(distance);
  if(distance > 170){ //have objects Value between 170-255
      distance = (1/distance)*100000; //Scale
      digitalWrite(LED, HIGH); //LED on 
      delay(distance); //delay
      digitalWrite(LED, LOW); //LED off
      delay(distance); //delay
  }
  else //value 0-170
   digitalWrite(LED,LOW);
}

       รูปถ่ายการทดลองประกอบตัวอย่าง



ตัวอย่างการออกแบบวงจร


 ตัวอย่างการต่อวงจร

การทดลองโดยนำกระดาษมาบังแสงตรงโฟโต้ทรานซิสเตอร์

วันอังคารที่ 14 สิงหาคม พ.ศ. 2561

โปรเจค Arduino


เปิดปิดไฟด้วยเสียง



อุปกรณ์ที่ใช้



Code

int sound_sensor = 4;
int relay = 5;

int clap = 0;
long detection_range_start = 0;
long detection_range = 0;
boolean status_lights = false;

void setup() {
  pinMode(sound_sensor, INPUT);
  pinMode(relay, OUTPUT);
}

void loop() {
  int status_sensor = digitalRead(sound_sensor);
  if (status_sensor == 0)
  {
    if (clap == 0)
    {
      detection_range_start = detection_range = millis();
      clap++;
    }
    else if (clap > 0 && millis()-detection_range >= 50)
    {
      detection_range = millis();
      clap++;
    }
  }
  if (millis()-detection_range_start >= 400)
  {
    if (clap == 2)
    {
      if (!status_lights)
        {
          status_lights = true;
          digitalWrite(relay, HIGH);
        }
        else if (status_lights)
        {
          status_lights = false;
          digitalWrite(relay, LOW);
        }
    }
    clap = 0;
  }
}

วันพุธที่ 8 สิงหาคม พ.ศ. 2561

งาน ปฎิบัติ 7


BUZZER








Code 01
#include "LedControl.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
int melody[] = {C4,D4,E4,F4,G4,A4,B4,C5};
float beats[] ={1,1,1,1,1,1,1,1};
int buzzerpin = 11;
int timestop = 70;
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);
  int dl = 500;
  pinMode(buzzerpin,OUTPUT);
  int numnote;
  numnote = sizeof(melody)/2;
  for (int i=0;i<numnote;i++)
  {
    lc.setChar(0,7-i,'-',false);
    tone(buzzerpin, melody[i],dl*beats[i]);
    delay(dl*beats[i]);
    digitalWrite(buzzerpin,HIGH);
    delay(timestop);
  }
}
void loop()
{
}


Code 02

#include "LedControl.h"
#define C4  262
#define D4  294
#define E4  330
#define F4  349
#define FS4 370
#define G4  392
#define A4  440
#define B4  494
#define C5  523
#define D5  587
int melody[] = {D4,D4,E4,D4,G4,FS4,D4,D4,E4,D4,A4,G4,D4,D4,D5,
  B4,G4,FS4,E4,C5,C5,B4,G4,A4,G4};
float beats[] ={0.5,0.5,1,1,1,2,0.5,0.5,1,1,1,2,0.5,0.5,1,1,
  1,1,1,0.5,0.5,1,1,1,2};
int buzzerpin = 11;
int timestop = 70;
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);
  int dl = 400;
  pinMode(buzzerpin,OUTPUT);
  lc.setChar(0,7,'H',false);
  lc.setChar(0,6,'b',false);
  lc.setChar(0,5,'d',false);
  int numnote;
  numnote = sizeof(melody)/2;
  for (int i=0;i<numnote;i++)
  {
    tone(buzzerpin, melody[i],dl*beats[i]);
    delay(dl*beats[i]);
    digitalWrite(buzzerpin,HIGH);
    delay(timestop);
  }
}
void loop()
{}

Code 03

#include "LedControl.h"
#define C4  262
#define D4  294
#define E4  330
#define F4  349
#define G4  392
int melody[] = {E4,D4,C4,D4,E4,E4,E4,D4,D4,D4,E4,G4,G4,
                E4,D4,C4,D4,E4,E4,E4,D4,D4,E4,D4,C4};
float beats[] ={1,1,1,1,1,1,2,1,1,2,1,1,2,1,
                1,1,1,1,1,2,1,1,1,1,4};
int buzzerpin = 11;
int timestop = 70;
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);
  int dl = 250;
  pinMode(buzzerpin,OUTPUT);
  int numnote;
  numnote = sizeof(melody)/2;  
  for (int i=0;i<numnote;i++) 
  {
    lc.setDigit(0,0,beats[i],false);
    tone(buzzerpin, melody[i],dl*beats[i]);
    delay(dl*beats[i]);
    digitalWrite(buzzerpin,HIGH);
    delay(timestop);
  }
}
void loop() 
{
}

งาน ปฎิบัติ 6




กลับทางมอเตอร์






Code

#include <LiquidCrystal.h> 

LiquidCrystal lcd(13, 12, 4, 5, 6, 7);
int BS1,BS2;
void setup()
{

lcd.begin(16, 2);                                              
pinMode(11, INPUT);
pinMode(10, INPUT);
pinMode(1,OUTPUT);
pinMode(0,OUTPUT);
              
             
}
void loop()
{
 BS1 = digitalRead(11);
 BS2 = digitalRead(10);
   if (BS1 == LOW) {

    digitalWrite(0, HIGH);
    digitalWrite(1, LOW);
    lcd.setCursor(7, 0);
    lcd.print("LEFT");
  }
  else if (BS2 == LOW) {

    digitalWrite(1, HIGH);
    digitalWrite(0, LOW);
    lcd.setCursor(7, 0);
    lcd.print("right");
  }
  else {
   lcd.setCursor(5, 0);
    lcd.print("++Stop++");
       digitalWrite(0, LOW);
    digitalWrite(1, LOW);;
  }
}

งาน ปฎิบัติ 5













Key Pad



Cod 1

#include "LedControl.h"
#include "Keypad.h"
char keys[4][4]={
  {'7','8','9','A'},
  {'4','5','6','B'},
  {'1','2','3','C'},
  {'E','0','F','D'}};
byte rowPins[] = {7,6,5,4};
byte colPins[] = {3,2,1,0};
Keypad keypad = Keypad(makeKeymap(keys),rowPins,colPins,4,4);
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);      
}
void loop() 
{
  char key = keypad.getKey();
  if (key != NO_KEY)
  {
    lc.setChar(0,0,key,false);
  }
}

Cod 2
#include "LedControl.h"
#include "Keypad.h"
char keys[4][4]={
  {'7','8','9','A'},
  {'4','5','6','B'},
  {'1','2','3','C'},
  {'*','0','#','D'}};
byte rowPins[] = {7,6,5,4};
byte colPins[] = {3,2,1,0};
Keypad keypad = Keypad(makeKeymap(keys),rowPins,colPins,4,4);
LedControl lc=LedControl(8,10,9,1); 
// Pin 8->DIN, 10->CLK, 9->CS(LOAD), 1 = No.of devices
int m=7;
void setup() 
{
  lc.shutdown(0,false);  
  lc.setIntensity(0,5); 
  lc.clearDisplay(0);      
}
void loop() 
{
  char key = keypad.getKey();
  if (key != NO_KEY)
  {
     if (m==7)
        lc.clearDisplay(0); 
     lc.setChar(0,m,key,false);
     m = m-1;
     if (m < 0)
        m = 7;
  }
}



Cod 3


#include "LedControl.h"
#include "Keypad.h"
char keys[4][4]={
  {'7','8','9','A'},
  {'4','5','6','B'},
  {'1','2','3','C'},
  {'*','0','#','D'}};
byte rowPins[] = {7,6,5,4};
byte colPins[] = {3,2,1,0};
Keypad keypad = Keypad(makeKeymap(keys),rowPins,colPins,4,4);
LedControl lc=LedControl(8,10,9,1); 
// Pin 8->DIN, 10->CLK, 9->CS(LOAD), 1 = No.of devices
int m=3;
char num[4]; //num[0] to num[3]
void setup() 
{
  lc.shutdown(0,false);  
  lc.setIntensity(0,5); 
  lc.clearDisplay(0);    
}
void loop() 
{
  char key = keypad.getKey();
  if (key != NO_KEY)
  {
     if (m==3)
        lc.clearDisplay(0); 
     lc.setChar(0,m,key,false);
     num[m]=key;
     m = m-1;
     if (m < 0)
     {
          if ((num[3]=='4')&&(num[2]=='0')&&(num[1]=='6')&&(num[0]=='9')) 
          {
            lc.setChar(0,7,'0',false);
            lc.setChar(0,6,'P',false);
          }
          else
          {
            lc.setChar(0,7,'-',false);
            lc.setChar(0,6,'-',false);
          }
          m = 3;
     }
  }

}

งาน ปฎิบัติ4



จอ LCD


Code

#include <LiquidCrystal.h>  


LiquidCrystal lcd(12, 10, 4, 5, 6, 7);  

void setup()

{


lcd.begin(16, 2);                                                 


lcd.print("PATTADANAI");                     

lcd.setCursor(0, 1);                                        
lcd.print("SUKJAROEN");                

}

void loop()

{

}

งาน ปฎิบัติ 3



     ทำงาน




      ไม่ทำงาน




int buttonPin = 3;
int ledPin =  13;
boolean buttonState = 0;
void setup() {

  pinMode (buttonPin,INPUT);
  pinMode (ledPin,OUTPUT);

}

void loop()
{  buttonState = digitalRead(buttonPin);

      if (buttonState == HIGH) {
         digitalWrite(ledPin, LOW);
      } else {
         digitalWrite(ledPin, HIGH);
      }

}

งานแก้ไข แยก อธิบายส่วนต่างๆของproject

Hardware 1.Arduino uno r3 2.bluetooth hc 06 3.1N4007 4.2N2222 5.relay 6.load INPUT 1.bluetooth hc 06 OUTPUT 1.relay 2.lo...