- 아두이노에서 TWI(Two Wire Interface) 통신이라고도 한다. - 근거리에서 장치들끼리의 통신을 위해 만들어진 방식 - 두 개의 선을 이용해서 작업 SDA (Serial Data) : 데이터 선 - A4핀 SCL (Serial Clcok) : 클럭 신호 선 - A5핀 - master/slave 구조 - 데이터를 전송하거나 수신하거나 종료하거나 모든 결정은 마스터가 한다. - 마스터가 slave로 데이터를 전송 - 1개의 데이터선이기 때문에 동시에 데이터를 주고 받을 수 없다. - 모든 통신은 마스터가 주도 * 마스터가 slave한테 데이터를 요구하면 slave는 response * slave가 먼저 마스터에게 데이터를 보내지 않는다. - I2C 통신에서는 slave는 address로 구분..
부저 다리를 보면 - + 라고 써져 있을거다 +에는 핀 번호를 -에는 GND를 연결 회로는 이렇게 구성하자 피에조 부저에 진동판이 있고 이 진동판이 진동될때 주파수가 활용된다 피에조 부저는 전기적인 신호를 소리로 변환해주는 소자이다 tone(핀번호, 주파수) & tone(핀번호, 주파수, 시간) void setup() { tone(7,330); } void loop() { } 일단 소리가 울리는지 보자. 잘 울리게 된다 문제) 도레미파솔라시도를 세 번 연주하고 피에조 부저에서 발생되는 소리가 멈추도록 작업하기 더보기 int count = 1; double to[7] = {261.6, 311.1, 329.6, 349.2, 392.0, 440.0, 493.9}; void setup() { } void loo..
회로는 이렇게 구성 하자 LED RGB를 보면 제일 긴 선이 있다 이 선은 GND에 연결하자 void setup() { Serial.begin(9600); pinMode(6, OUTPUT); pinMode(5, OUTPUT); pinMode(3, OUTPUT); } void loop() { //pwm을 이용하여 값을 적용 0~255 int red = random(256); //0~255 int green = random(256); int blue = random(256); Serial.println((String)red+" "+green+" "+blue); analogWrite(6, red); analogWrite(5, green); analogWrite(3, blue); delay(1000); } 이러..
//PWM테스트 - pulse width modulation //아날로그를 디지털신호로 바꾸기 위한 방법 //pwm은 8bit를 사용 - 2의8승이니까 256까지 즉, 0부터 255까지 표현 가능 //AnalogDigitalConverter(ADC) - 10bit(2의 10승 - 1024) int led4=11; void setup() { pinMode(led4, OUTPUT); } void loop() { for(int i=0; i=0; i--) { analogWrite(led4, i); delay(10); } } 회로를 사진처럼 구성하고 코드를 작성해보자. 실행 시키면 LED가 서서히 밝아지고 서서히 밝기가 줄어드는것을 볼 수 있다 이게 아날로그 신호다 아날로그 신호는 8bit로 동작하기에 0~255..
푸쉬버튼을 준비하고 5V와 12번째에 연결해주자. int push_btn = 12; int btn_state = 0; // 버튼의 현재 상태값을 저장하는 변수 - 0,1 void setup() { Serial.begin(9600); pinMode(12, INPUT); } void loop() { delay(1000); btn_state = digitalRead(push_btn); Serial.println(btn_state); } 시리얼 모니터를 보면 0 0 0 이렇게 나올거다 스위치를 누르면 1 1 1 이렇게 나올거고 근데 간혹 스위치를 안눌러도 1 1 1 나오는 경우가 있다 그럼 브레드보드에 전류가 겹치는 경우다 위에 경우는 잘못된 방식이다. 그래서 풀다운 방식을 적용할거다 저항은 10k옴이다 위에 ..
https://www.tinkercad.com/ Tinkercad | From mind to design in minutes Tinkercad is a free, easy-to-use app for 3D design, electronics, and coding. www.tinkercad.com 여기 회원가입을 해주고 회로 연결을 해보자. 회로 -> 새 회로 작성 눌러주자. 나는 우노보드를 사용하기에 우노보드를 가져왔다. 브레드보드도 가져오자 LED를 가져와 위에와 같이 꼽아준다 저렇게 꼽는 이유는 브레드보드가 한 줄로 이어져 있기에 전기가 한 줄로 통하게 된다. LED 다리에 커서를 가져놓으면 음극,양극이라고 뜰거다 음극 = - 양극 = + 사진은 양극이 밑으로 와야 한다 양극 ㅡ 줄은 전부 +줄이다 음..
아두이노 툴에 소스를 작성하고 업로드를 누르면 과정이 이렇게 된다. 1. C/C++ 파일로 변환된다. 2. 컴퓨터가 알아먹는 010101 기계어 hex파일로 변환이 된다 3. 보드로 전송되고 실행이 된다. RX = Receive 받는것 TX = Transmission 보내는것 이라고 생각하면 된다. 체크 표시가 컴파일이다. 프로그램 처음 실행을 시키면 setup, loop 함수가 보일거다 // 전처리부분 : 내부에서 사용할 라이브러리를 명시, 변수를 선언 (핀번호 셋팅) void setup() { // 아두이노로 업로드 되면 한번만 실행 되는 함수 // 아두이노 내부에서 전기 신호가 들어오면 setup이 먼저 호출 } void loop() { // 아두이노에서 동작할 소스코드를 명시 // 전원이 들어오는..
먼저 아두이노 보드와 연결선을 준비해주자. 아두이노와 컴퓨터를 연결하면 이와 같이 불이 켜질것이다. 보드 설명을 하자면 왼쪽 위에 빨간색 버튼은 리셋버튼이다 그리고 바로 옆에 구멍 뽕뽕 뚤린게 디지털 송수신 하는것이다. 주황색 불이 들어온것은 내장된 LED 13번 핀하고 연결되어 있다. 초록색 불에 들어온것은 전원이 들어왔는지 확인하기 위한 ON 이다 그리고 맨 밑 오른쪽 구멍 뽕뽕 뚫린것은 아날로그 송수신 하는것이다. 개발을 하다보면 주황색 버튼 밑에 LED 2개가 있는데 TX, RX가 있다 이건 컴퓨터와 송수신하는 LED다 시리얼 통신이라고 한다 대부분 장비들은 5V에서 동작한다 이제 프로그램을 설치 해보자. www.arduino.cc 에 들어가서 Arduino - Home www.arduino.cc..