วันอาทิตย์ที่ 6 ตุลาคม พ.ศ. 2556

วงจรวัดระดับน้ำ

หลักการ

            วงจรนี้ทำงานโดยอาศัยการเดินไฟฟ้าให้ครบวงจรเท่านั้นเอง โดยเพื่อสายไฟโดนน้ำในระดับที่เราต้องการเสียงจากลำโพงจะดัง และ แสงจากหลอด LED จะสว่างขึ้นมา และเป็นการเขียนโปรแกรมโค๊ดผ่าน Arduino ช่วยเป็นตัวควบคุมเสียงจากลำโพง

ภาพแสดงวงจร และ วงจรตัวอย่าง

อุปกรณ์

1.บอร์ด arduino
2.ลำโพง LS1
3.LED 
4.ตัวต้านทาน 100 k 
5.transistors BC109

Code program

#include<avr/io.H>
#include<avr/interrupt.h>
int contract=0;
unsigned char tick,sec100,sec,minu;
void setup()
{
  pinMode(contract,OUTPUT);//initiallize Timer1
  cli();//
  TCCR1A=0;
  TCCR1B=0;
  OCR1A=19999;//
  TCCR1B|=(1<<WGM12);
  TCCR1B|=(1<<CS11);//
  TIMSK1 |=(1<<OCIE1A);
  tick=0,sec100=0,sec=0,minu=0;
  sei();
}
void loop()
{
  if(tick==1)
  {
    tick=0;
    //dis();
    time();
    sec100++;
  }
  if (sec100==100) //sec100=10ms 
  {
    sec100=0;
    dis();
    time();
    sec++;
}
if (sec==60)
{
  sec=0;
  //dis();
  time();
  sec++;
}
}
void dis()
{
if(sec100==0)
 {
  digitalWrite(contract,HIGH);
 }
if(sec100==25)
 {
  digitalWrite(contract,LOW);
 }
if(sec100==50)
 {
  digitalWrite(contract,HIGH);
 }
if(sec100==75)
 {
  digitalWrite(contract,LOW);
 }
}
void time()
{
  if(sec100==100)
  {
    sec100=0;
  }
}  
ISR(TIMER1_COMPA_vect)
{
  tick++;
}


                               
วีดีโอแสดงการทำงาน