본문 바로가기
AI교육/아두이노(Arduino)

아두이노 기초

by 조크리 2021. 6. 22.
반응형

 

 

 

아두이노 기초 

 

1. 아두이노는 공짜?!

 

아두이노는 오픈소스 하드웨어로 '누구나 검색, 제작, 이용이 가능'하다!

그러다보니 아두이노 가격은 매우 저렴하다. 

아두이노 우노 기준 6천원대라는 저렴한 가격대를 볼 수 있다. 

아두이노 우노 검색 결과

오픈소스 하드웨어의 종류로는 아두이노, 라즈베리파이, 비글본 등이 있다. 

라즈베리파이는 좀 더 고급 기능을 사용할 수 있다. 그만큼 작동법이 어렵긴 하지만 만들 수 있는 작품이 매우 다양하다. 

 

 

2.  아두이노 사용을 위한 소프트웨어 설치!

아두이노를 작동시키려면 프로그래밍을 해주어야한다. 

크롬 브라우저로 접속한 경우 Arduino 1.0.x 에서 1.0.5의 window 부분 위에서 마우스 우클릭을 한 뒤 다른 이름으로 저장을 누르면 된다! 

만약 안된다면 익스플로러 엣지를 사용하면 좋다~!

 

출처 : 아두이노 홈페이지

https://www.arduino.cc/en/software

 

Software

Open-source electronic prototyping platform enabling users to create interactive electronic objects.

www.arduino.cc

 

3. 다운로드 받은 뒤 압축 풀기!

압축을 풀고 아두이노 스케치를 실시하면 이런 화면이 뜬다!

 

 

아두이노 실행 모습

 

4. 컴퓨터와 아두이노 연결하기!

컴퓨터와 아두이노를 USB케이블로 연결한 뒤에 스케치에서 보드, 시리얼포트를 확인한다!

USB포트 부분을 뺐다 꼇다 하기 보다는 아두이노랑 연결된 부분을 뺏다 꼈다 하는게 낫다.

 

5. 이제 예제를 한 번 사용해보자!

 

1) 먼저 파일-예제-Basics-Blink 를 클릭한다. 

2) 컴파일을 해준다! 맨위에 체크 모양을 누르면 된다. 

3) 컴파일이 완료된 것을 볼 수 있다. 

4) 아두이노에 업로드를 해본다! 화살표를 누르면 된다! 

 

 

6. 이번에는 빵판을 사용해보자!

빵판을 이용하려면 회로도를 이해해야한다. 

빵판의 세로는 서로 연결되어 있으며 가로는 서로 연결되어 있지 않다. 

 

출처 https://oogundam.tistory.com/141

 

7. LED 여러개 연결하기

 

LED를 여러 개 연결해보자! 아래 그림 처럼 빵판을 만들어준다! 

 

pin2,3,4,5,6이 1초 켜지고 0.1초 꺼지도록 했다! 

void setup() {                
  pinMode(2,OUTPUT);  
  pinMode(3,OUTPUT);
  pinMode(4,OUTPUT);  
  pinMode(5,OUTPUT);  
  pinMode(6,OUTPUT);    
}
void loop() {
  digitalWrite(2, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(2, LOW);    // turn the LED off by making the voltage LOW
  delay(100);  // wait for a second
    digitalWrite(3, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(3, LOW);    // turn the LED off by making the voltage LOW
  delay(100);  // wait for a second
    digitalWrite(4, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(4, LOW);    // turn the LED off by making the voltage LOW
  delay(100);  // wait for a second
    digitalWrite(5, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(5, LOW);    // turn the LED off by making the voltage LOW
  delay(100);  // wait for a second
    digitalWrite(6, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(6, LOW);    // turn the LED off by making the voltage LOW
  delay(100);  // wait for a second
}

 

 

코드를 좀 수정해보았다! 

#define DELAY_TIME 100

void setup() {                
  pinMode(2,OUTPUT);  
  pinMode(3,OUTPUT);
  pinMode(4,OUTPUT);  
  pinMode(5,OUTPUT);  
  pinMode(6,OUTPUT);    
}
void loop() {
  digitalWrite(2, HIGH);
  delay(DELAY_TIME);
  digitalWrite(2, LOW);
  digitalWrite(3, HIGH);
  delay(DELAY_TIME);
  digitalWrite(3, LOW);
  digitalWrite(4, HIGH);
  delay(DELAY_TIME);
  digitalWrite(4, LOW);
  digitalWrite(5, HIGH);
  delay(DELAY_TIME);
  digitalWrite(5, LOW);
  digitalWrite(6, HIGH);
  delay(DELAY_TIME);
  digitalWrite(6, LOW);
}

 

 

8. 버튼을 누르면 LED켜기

 

이번에는 버튼을 누르면 LED가 켜지도록 만들었다. 

중요한 것!

LED의 경우 220R 저항이고 버튼의 경우 10K 저항이다. 

버튼의 저항이 훨씬 크다! 

또한 버튼의 경우 5V전원과 GND가 연결된 것을 볼 수 있다. 

이유는 풀다운 때문이라는데..이건 아직 살짝 이해가 안간다. 

 

코드를 살펴보면

LED는 OUTPUT이고 버튼은 INPUT인것을 확인할 수 있다. 

#define LED 12
#define BUTTON 7

void setup(){
  pinMode(LED, OUTPUT);
  pinMode(BUTTON, INPUT);
}

void loop(){
  if (digitalRead(BUTTON) == HIGH){
    digitalWrite(LED, HIGH);
    delay(500);
    digitalWrite(LED, LOW);
  }
}

잘 작동하는 것을 볼 수 있다!! 

 

 

오늘은 아두이노 기초로 LED를 제어하는 것을 연습해보았다. 

다음에는 스피커 연결을 연습해보아야겠다! 

 

아두이노 기초 정리 끝~! 

 

 

반응형