Arduino2014. 8. 8. 15:25


A0입력에 아날로그 다이얼이나 IR센서를 넣는다.

11(11~)번 핀에 모터나 LED를 설치하면 아날로그 결과가 나온다.

void loop()

{

  int dial = analogRead(A0);

  analogWrite(11, dial/4);

}


"~"가 붙은 번호는 아날로그 출력이 가능핟.


---------------------------------------


동기방식은 어렵지만 멀티태스크가능하다.

비동기방식은 쉽지만 멀티태스킹이 불가능하다.  delay()를 사용.


delay(1000); 1000밀리세컨드 = 1초



----------------------------



시리얼 통신


void setup()

{

  Serial.begin(9600);

}


void loop()

{

  Serial.print("hello");

  Serial.println("hello"); // 끝엣 엔털를 쳦줌. New Line

}


-------------------------------


// 9번 핀에 연결된 버튼을 누루는 순간 꺼지고 

// 손가락을 떼면(버튼이 원위치로 뛰어로름) 꺼짐.

//

//  <추측> digitalWrite(8, HIGH/LOW);  에서 

//  Ardu-X 100 Starter Kit에 포함된 버튼은 

// 누를 때 LOW( 0 )값을 발생하고    

// 손가락을 뗄 때 HIGH( 1 )값을 발생한다.


void setup()

{

  pinMode(8, OUTPUT);

  pinMode(9, INPUT_PULLUP);

}


void loop()

{

  int button =  digitalRead(9) ;

  digitalWrite(8, button);  

  //digitalWrite(8, digitalRead(9)); 

}



----------------------------


//IR센서 1개 사용
void setup()

{

  Serial.begin(9600);

}


void loop()

{  

  int irValue = analogRead(A0);

  Serial.println(irValue, DEC);

}



----------------------------


// IR센서 3개 사용

void setup()

{

  Serial.begin(9600);

}


void loop()

{

  int irValue = analogRead(A0);

  Serial.print(irValue, DEC);

  Serial.print(", ");

  

  int irValue1 = analogRead(A1);

  Serial.print(irValue1, DEC);

  Serial.print(", ");


  int irValue2 = analogRead(2);

  Serial.println(irValue2, DEC);

}



---------------------------------

// a버튼을 누르느느 순간에 IR로 값을 받아 출력한다.


void setup()

{

  Serial.begin(9600);

}


void loop()

{

  if(Serial.available() > 0)

  {

    if(Serial.read() == 'a')

    {

      int irValue = analogRead(A0);

      Serial.print(irValue, DEC);

      Serial.print(", ");

  

      int irValue1 = analogRead(A1);

      Serial.print(irValue1, DEC);

      Serial.print(", ");

    

      int irValue2 = analogRead(2);

      Serial.println(irValue2, DEC);

    }

  }

}


------------------------

//stdio.h를 사용해서 간략하게 터미널에 출력


void setup()

{

  Serial.begin(9600);

}


void loop()

{

  if(Serial.available() > 0)

  {

    if(Serial.read() == 'a')

    {

      int irValue = analogRead(A0);  

      int irValue1 = analogRead(A1);    

      int irValue2 = analogRead(2);

       printf("IR1:%d,   IR2:%d,    IR3:%d\n", irValue, irValue1, irValue2);

    }

  }

}


Posted by 코드버무려