본문 바로가기

반응형

Arduino

(49)
[Arduino] Serial 실습: 시리얼 모니터에 입력·출력하기 (Serial.available) 시리얼 모니터에 입력·출력하기 (Serial.available) (준비물) 아두이노 우노 (Arduino Uno) USB 케이블 void setup(){ Serial.begin(9600); // 전송 속도 9600 설정 Serial.print("Serial Test, "); Serial.println("Start!"); } void loop(){ char data; if(Serial.available() > 0){ // 시리얼 버퍼가 차 있을 때, data = Serial.read(); // data에 읽은 데이터 저장 Serial.write(data); // 시리얼 모니터에 data 전송하여 출력 } }
[Arduino] Serial.print() vs Serial.write() Serial.print() 또는 Serial.println()과 Serial.write()는 모두 데이터를 출력하는 함수이다. 아두이노 시리얼 모니터는 수신된 데이터를 아스키코드 문자로 변환하여 출력하는데, 이때 두 함수는 다른 방식을 통해 출력된다. Serial.print(), Serial.println() Serial.print() 함수를 통해 숫자를 출력할 경우, 해당 숫자는 문자로 인식되며 출력 전에 아스키코드 이진수로 변환된다. 그리고 시리얼 모니터로 출력될 때, 다시 한번 아스키코드 문자로 변환되어 해당 숫자는 문자열로 출력된다. Serial.write() Serial.write() 함수는 0 이상의 정수 인자를 받으며, 시리얼 모니터로 출력될 때, 아스키코드 문자로 변환되어 출력된다. voi..
[Arduino] 아두이노 시리얼 통신 1. Serial.begin(speed); - 시리얼 데이터 전송을 위해 포트를 열고, 전송 속도와 옵션을 설정하는 함수이다. - speed: 데이터 전송 속도를 설정한다. ​ 2. Serial.print(value); - 시리얼 통신을 통해 데이터를 송신하여 모니터에 출력한다. - value: 데이터(문자열 출력 "", 문자 출력 '') ​ 3. Serial.println(value); - 시리얼 통신을 통해 데이터를 송신하여 모니터에 출력하며, 출력 후 캐리지 리턴(\r)과 개행 문자(\n)를 출력한다. - value: 데이터(문자열 출력"", 문자 출력 '') ​ 4. Serial.write(value); - 시리얼 통신을 통해 데이터를 송신한다. 보통 문자 외에 직접 데이터 값을 보내야 하는 블루..
[Arduino] 시리얼 통신이란? 통신은 크게 직렬(Serial) 통신과 병렬(Parallel) 통신으로 구분할 수 있다. 직렬 통신은 시리얼 통신이라고도 하며, 보통 하나의 통신선을 사용하여 데이터를 주고받는다. 때문에 일정한 시간 간격으로 데이터를 전송하게 되고, 하나의 통신선을 이용하기 때문에 모든 데이터를 전송하는데 다소 시간이 소요된다. 반면 병렬 통신은 여러 개의 통신선을 사용하기 때문에 단위 시간당 전송되는 데이터의 양이 많아 상대적으로 적은 시간이 소요된다. ​ 또한 병렬 통신은 통신 거리가 길어지거나 데이터의 양이 많아지면 사용하는 통신선의 수와 길이가 연장되어야 하기 때문에 소요되는 비용이 크지만, 이에 반해 직렬 통신은 저렴하게 할 수 있어 최근에는 대부분 직렬 통신으로 데이터를 전송하고 있는 추세이다. ​ 시리얼 통..
[Arduino] RGB LED 실습: 7가지 색상 표현하기 7가지 색상(빨간, 초록, 파랑, 노랑, 청록, 자홍, 하얀) 표현하기 (준비물) 아두이노 우노(Arduino Uno) USB 케이블 RGB LED 점퍼 케이블 (회로 연결) ※ RGB LED 모듈에 따라서 핀의 위치가 다를 수 있으니, 모듈을 확인하고 정확히 연결해준다. void setup() { pinMode(13, OUTPUT); // R(red)-핀 출력 pinMode(12, OUTPUT); // G(green)-핀 출력 pinMode(11, OUTPUT); // B(blue)- 핀 출력 } void loop() { // 빨간색 발광 digitalWrite(13, HIGH); delay(500); digitalWrite(13, LOW); delay(500); // 초록색 발광 digitalWrit..
[Arduino] RGB LED란? RGB LED 모듈은 한 가지 색상만 표현할 수 있던 기존의 LED와 달리, 1개의 소자로 다양한 RGB 색상을 표현할 수 있다. RGB LED 모듈은 내부에 저항이 포함되어 있어 따로 회로 구성을 할 필요가 없다. 그리고 핀에 출력하는 전류 크기를 달리하여 RGB의 값을 다르게 하면 다양한 색상을 표현할 수 있다.
[Arduino] LED 실습: LED 밝기 제어 LED 밝기 제어 (준비물) 아두이노 우노(Arduino Uno) USB 케이블 LED 저항 점퍼 케이블 (회로 연결) int led1 = 13; int led2 = 12; void setup() { pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); } void loop() { // led1과 led2를 같은 주기상에 놓아준다. digitalWrite(led1, HIGH); digitalWrite(led2, LOW); delay(9); // led1의 'HIGH' 시간이 높다 -> led1가 더 밝다 digitalWrite(led1, LOW); digitalWrite(led2, HIGH); delay(1); } LED는 전류 제어 소자로 전류가 많이 흐르면 밝아진다. 따라..
[Arduino] LED 실습: LED 차례로 한 개씩 On/Off 하며 왕복하기 LED 차례로 한 개씩 On/Off하며 왕복하기 (준비물) 아두이노 우노(Arduino Uno) USB 케이블 LED 저항 점퍼 케이블 (회로 연결) int led[6] = {13, 12, 11, 10, 9, 8}; void setup(){ for(int i = 0; i 0; --i){ // led[0]과 led..

반응형