ÇöÀç Á¹ÀÛÀ¸·Î À½ÁÖÃøÁ¤Àá±ÝÀåÄ¡¸¦ ¸¸µå´Âµ¥
ÀúÈñ°¡ ¸¸µç ÄÉÀ̽º¿¡ Àá±Ý ÀåÄ¡¸¦ ¸¸µé¾îµÎ°í ±× À§¿¡ ¾ËÄݼ¾¼¸¦ µÎ¾î À½ÁÖÈÄ ºÒ¾úÀ»¶§ ÀÏÁ¤¼öÄ¡ÀÌ»óÀÌ µÇ¸é »¡°£ºÒÀÌ µé¾î¿Í ¼ºê¸ðÅ͸¦ ÀÌ¿ëÇÏ¿© Àá±ÝÀåÄ¡°¡ ÀÛµ¿ÇÏÁö ¾Ê°í ÀÏÁ¤¼öÄ¡ÀÌÇÏ°¡ µÇ¸é ÆĶõºÒÀÌ µé¾î¿À°í Àá±ÝÀåÄ¡°¡ Ç®¸®´Â °ÍÀ» ¸¸µé°í ÀÖ½À´Ï´Ù
ÇöÀç ¹®Á¦´Â ¼ºê¸ðÅÍ°¡ ¸¾´ë·Î ÀÛµ¿ÇÏÁö°¡ ¾Ê³×¿ä...
Çѹø ºÁÁÖ½Ã°í ¹®Á¦Á¡À̳ª ÇØ°áÃ¥ Á» ÁÖ¼¼¿ä~~
#include <Servo.h>
Servo myservo; // ¼º¸¸ðÅÍ °´Ã¼ »ý¼º
int mq3Pin = A0; // MQ-3 ¼¾¼ÇÉÀ» ¾ÆµÎÀÌ³ë º¸µåÀÇ A5 ÇÉÀ¸·Î ¼³Á¤
int redPin = 7; // LED ¼¾¼ÀÇ R ÇÉÀ» ¾ÆµÎÀÌ³ë º¸µåÀÇ 7¹ø ÇÉÀ¸·Î ¼³Á¤
int greenPin = 6; // LED ¼¾¼ÀÇ G ÇÉÀ» ¾ÆµÎÀÌ³ë º¸µåÀÇ 6¹ø ÇÉÀ¸·Î ¼³Á¤
int bluePin = 5; // LED ¼¾¼ÀÇ B ÇÉÀ» ¾ÆµÎÀÌ³ë º¸µåÀÇ 5¹ø ÇÉÀ¸·Î ¼³Á¤
int val = 0; // ¿¡Åº¿Ã ¼¾¼ Àü¿ªº¯¼ö ¼³Á¤
int piezo = 3; // ºÎÀú ½ºÇÇÄ¿ 3¹øÇÉÀ¸·Î ¼³Á¤
int motor = 9; // ¼º¸¸ðÅÍ 2¹ø ÇÉÀ¸·Î ¼³Á¤
int angle = 90; // ¼º¸¸ðÅÍ Ãʱ⠰¢µµ °ª(90µµ)
void setup(){
myservo.attach(motor); // ¼º¸¸ðÅÍ ¿¬°á
myservo.write(angle);
Serial.begin(9600); // ¾ÆµÎÀÌ³ë º¸µå¿Í PC°£ÀÇ Åë½Å¼Óµµ ¼³Á¤
pinMode(redPin,OUTPUT); // LEDÀÇ R,G,B ÇÉÀ» Ãâ·ÂÀ¸·Î ¼³Á¤
pinMode(greenPin,OUTPUT);
pinMode(bluePin,OUTPUT);
pinMode(piezo, OUTPUT); // ºÎÀú ½ºÇÇÄ¿ Ãâ·Â¼³Á¤
delay(1000);
}
void loop(){
val = analogRead(mq3Pin);
Serial.println(analogRead(mq3Pin)); // MQ-3 ¼¾¼ Ãâ·Â°ªÀ» ½Ã¸®¾ó ¸ð´ÏÅÍ·Î Ãâ·Â
if(val>=400){ // ¼¾¼ °ªÀÌ 400 ÀÌ»óÀ̸é
if(val == 400){
setColor(255, 0, 0); // RGB »¡°
Serial.print("400ÀÓ");
tone(piezo, 494); // ºÎÀú ½ºÇÇÄ¿ ƯÁ¤ Á¶°ÇÀÌ ¸¸Á·Çϸé "½Ã" À½À¸·Î ¿ï¸²
servo_ON();
delay(500);
}
}
else if(val>=200 && val<400){ // ¼¾¼ °ªÀÌ 200 ÀÌ»ó, 400 ¹Ì¸¸À̸é
if(val <= 399){
setColor(255, 255, 0); // RGB ³ë¶û
Serial.print("300ÀÓ");
tone(piezo, 494);
servo_ON();
delay(500);
}
}
else if(val<=200){ // ¼¾¼ °ªÀÌ 200 ¹Ì¸¸ À̸é
if(val <= 200){
setColor(0, 0, 255); // RGB ÆĶû
Serial.print("200ÀÓ");
servo_ON();
myservo.write(angle);
delay(500);
}
}
noTone(piezo);
servo_OFF();
}
// RGB »ö»ó¸¸µé±â¿ë
void setColor(int red, int green, int blue)
{
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}
void servo_ON(){
myservo.attach(9); // attaches the servo on pin 9 to the servo object
myservo.write(90);
myservo.detach(10000);
}
void servo_OFF(){
myservo.attach(9); // attaches the servo on pin 9 to the servo object
myservo.write(0);
myservo.detach(10000);
}