º» ½Ç½ÀÀ» ÅëÇØ µðÁöÅÐ ÀԷ°ú ¼º¸¸ðÅÍÀÇ µ¿ÀÛÀÇ °ü°è¸¦ ÀÌÇØÇÑ´Ù.
Áغñ¹° : Arduino, ¼ºê¸ðÅÍ 1°³, ¹öư 2°³
³»¿ë : Arduino Uno¸¦ ÀÌ¿ëÇÏ¿© ¼ºê¸ðÅ͸¦ ¹öư 2°³·Î Á¦¾îÇÑ´Ù.
Àü¿øÀ» ¿¬°áÇÏ°Ô µÇ¸é ¼ºê ¸ðÅÍ´Â 90µµ¿¡ ¸ÂÃç ¿òÁ÷ÀÎ ÈÄ ÀÔ·ÂÀ» ±â´Ù¸®´Â »óŰ¡ µÈ´Ù.
µ¿ÀÛÀº ´ÙÀ½°ú °°´Ù.
-1¹ø ¹öư ÀÔ·Â => +15µµ ȸÀü
-2¹ø ¹öư ÀÔ·Â => -15µµ
ȸ·Î ¿¬°áÀº ´ÙÀ½°ú °°´Ù.
½ÇÁ¦ »ç¿ëÇÑ ¹öưÀº 3ÇÉ(VCC, GND, PIN)À¸·Î ±¸¼ºµÇ¾î ÀÖÀ¸³ª, fritzing¿¡´Â 3ÇÉ Çü½ÄÀÇ ¹öưÀÌ ¾ø¾î ÀϹÝÀûÀ¸·Î »ç¿ëÇÏ´Â ¹öưÀ» ÀÌ¿ëÇÏ¿© ȸ·Î¸¦ ±¸¼ºÇÏ¿´´Ù. 2°³ÀÇ ¹öưÀ» 12, 13¹ø ÀÔÃâ·ÂÇÉ¿¡ ¿¬°áÇÏ¿´°í, ¼º¸¸ðÅÍÀÇ ÀÔÃâ·ÂÇÉÀº 3¹øÇÉ¿¡ ¿¬°áÇÏ¿´´Ù.
ÀϹÝÀûÀÎ ¹öưÀ» »ç¿ëÇÒ °æ¿ì Ç® ´Ù¿î ÀúÇ×À» »ç¿ëÇÏ¿© ¹öưÀÇ ÇÃ·ÎÆÃ »óŸ¦ ¹æÁöÇÒ ¼ö ÀÖ´Ù. º¸Åë 10K ÀúÇ×À» »ç¿ëÇÏ¿© ÀÔÃâ·ÂÇɰú ¼º¸¸ðÅͰ¡ ¿¬°áµÇ¾î ÀÖ´Â ÁöÁ¡¿¡ ÀúÇ×À» ÀÌ¿ëÇÏ¿© GND·Î ¿¬°áÇØ ÁØ´Ù.
*ÇÃ·ÎÆÃ »óÅ : ¹öưÀÇ ÀÔ·Â Àü¾ÐÀÌ ºüÁ®³ª°¡Áö ¸øÇÏ°í ºØ ¶°ÀÖ´Â »óÅÂ
#include <Servo.h> //Çì¾îÆÄÀÏ Æ÷ÇÔ
Servo myservo; //myservo º¯¼ö ¼±¾ð
int pos = 90; //Ãʱ⠰¢µµ°ª ¼³Á¤
void setup() {
myservo.attach(3); //¼º¸¸ðÅÍÀÇ ÀÔÃâ·ÂÇÉÀ» 3¹ø ÇÉÀ¸·Î ÁöÁ¤
pinMode(12,INPUT); //1¹ø ¹öưÀÇ µðÁöÅÐ ÀÔ·ÂÀ¸·Î »ç¿ë
pinMode(13,INPUT); //2¹ø ¹öưÀÇ µðÁöÅÐ ÀÔ·ÂÀ¸·Î »ç¿ë
myservo.write(90); //Àü¿øÀÌ ¿¬°áµÇ¸é ¼º¸¸ðÅÍ 90µµ¿¡ ¸ÂÃç ÀÔ·Â ´ë±â
delay(500);
Serial.begin(9600); //½Ã¸®¾ó ¸ð´ÏÅÍ »ç¿ë
}
void loop() {
if(digitalRead(12) == HIGH) //1¹ø ¹öưÀ» ´©¸¦ °æ¿ì
{
pos = pos + 15; //+15µµ ȸÀü
Serial.println("HIGH12"); //½Ã¸®¾ó ¸ð´ÏÅÍ¿¡ HIGH12¸¦ Ãâ·Â
delay(50);
}
if(digitalRead(13) == HIGH) //2¹ø ¹öưÀ» ´©¸¦ °æ¿ì
{
pos = pos - 15; //-15µµ ȸÀü
Serial.println("HIGH13"); //½Ã¸®¾ó ¸ð´ÏÅÍ¿¡ HIGH13¸¦ Ãâ·Â
delay(50);
}
if(pos < 0) //¼º¸¸ðÅÍÀÇ °¢µµ°¡ 0µµ º¸´Ù ÀÛ¾ÆÁú °æ¿ì
pos = 0; //¼º¸¸ðÅÍ 0µµ °íÁ¤
if(pos > 180) //¼º¸¸ðÅÍÀÇ °¢µµ°¡ 180µµ º¸´Ù Ä¿Áú °æ¿ì
pos = 180; //¼º¸¸ðÅÍ 180µµ °íÁ¤
myservo.write(pos); //pos°ª¿¡ ¸ÂÃç ¼º¸¸ðÅÍ È¸Àü
delay(15);
}
¹öưÀÇ ÀÔ·ÂÀ» ¸ð´ÏÅÍ·Î È®ÀÎÇϱâ À§ÇØ ½Ã¸®¾ó ¸ð´ÏÅÍ¿¡ ¹öưÀÇ ÀԷ¿¡ µû¸¥ Ç¥½Ã¸¦ 'HIGH12', 'HIGH13'À¸·Î Ãâ·ÂÇÏ¿´´Ù.
½Ã¸®¾ó ¸ð´ÏÅÍ °á°ú´Â ´ÙÀ½°ú °°´Ù.
µ¿ÀÛ¿µ»óÀº ´ÙÀ½°ú °°´Ù.
¾ÈÀü°Å·¡¸¦ À§ÇØ Çö±ÝµîÀ¸·Î 5¸¸¿øÀÌ»ó °áÁ¦½Ã
ÀúÈñ »çÀÌÆ®¿¡¼°¡ÀÔÇÑ ¿ì¸®ÀºÇàÀÇ ±¸¸Å¾ÈÀü¼ºñ½º¸¦
ÀÌ¿ëÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.