Arduino
-
LCD에 한 글자씩 출력하기Arduino/캐릭터 LCD 2020. 10. 26. 18:37
하드웨어의 구성은 아래에서 참고하자. designatedroom87.tistory.com/240 포텐시오미터와 캐릭터 LCD의 화면 밝기 조절 하기 그림은 ArduinoGetStarted.com에서 발췌 부품에 대해서 알아보자. 가변 저항과 캐릭터 LCD와 아두이노는 다음과 같이 연결한다. 연결이 상당히 복잡하다. 그림을 실제 연결한 그림을 보자. 아두이노의 5 designatedroom87.tistory.com 프로그래밍의 예제는 문자 a부터 z를 LCD에 출력을 하는데(출력의 방향은 기본으로 오른쪽 방향) 만약 문자가 m이면 방향을 변경하고 다시 문자가 s이면 다시 방향을 변경한다. 그리고 마지막으로 문자 z를 출력하면 다시 위의 과정을 반복한다. LiquidCrystal를 헤더파일로 추가하고, 이 ..
-
포텐시오미터와 캐릭터 LCD의 화면 밝기 조절 하기Arduino/캐릭터 LCD 2020. 10. 26. 18:23
캐릭터 LCD와 아두이노의 하드웨어 연결 연결이 상당히 복잡하다. 그림을 실제 연결한 그림을 보자. 아두이노의 5V선과 빵판의 (+)위치에 연결하고, 아두이노의 GND와 빵판의 (-)위치에 연결하자. * LCD RS pin to digital pin 12 * LCD Enable pin to digital pin 11 * LCD D4 pin to digital pin 5 * LCD D5 pin to digital pin 4 * LCD D6 pin to digital pin 3 * LCD D7 pin to digital pin 2 * LCD R/W pin to ground * LCD VSS pin to ground * LCD VCC pin to 5V * 10K resistor: * ends to +5V an..
-
MsTimer2를 이용한 LED 켜고 끄기Arduino/인터럽트 2020. 10. 23. 18:30
타이머를 이용한 인터럽트이다. mstimer2 라이브러리를 설치하자. 소스 코드 더보기 /* MsTimer2 is a small and very easy to use library to interface Timer2 with humans. It's called MsTimer2 because it "hardcodes" a resolution of 1 millisecond on timer2 For Details see: http://www.arduino.cc/playground/Main/MsTimer2 */ #include // Switch on LED on and off each half second // flash함수가 호출이 될 때마다 LED가 켜지거나 꺼지는 것이 반복된다. void flash() {..
-
버튼과 인터럽트Arduino/Button 2020. 10. 23. 18:23
버튼이 눌리면, 값을 증가하는 예제 소스 코드 더보기 void setup() { // put your setup code here, to run once: Serial.begin(9600); // 2번핀이 0번 인터럽트를 의미한다. // 인터럽트는 2번핀과 3번핀에만 적용된다. pinMode(2,INPUT_PULLUP); // 인터럽트(CHANGE, FALLING, RISING,LOW) attachInterrupt(0,func, CHANGE); // 인터럽트 발생 시키는 함수. 0번째 인터럽트 // 인터럽트는 2개만 발생가능 0과1 // CHANGE상태일때 인터럽트 발생(값이 바뀔 때) // 인터럽트 시,func 함수 호출 } int cnt = 0; void loop() { // put your main..
-
키패드의 기본Arduino/키패드 2020. 10. 23. 18:11
키패드와 아두이노의 하드웨어적인 연결 연결은 쉽다.R1~R4와 C1~C4는 키패드의 핀번호이다. R4는 아두이노의 6번핀, R3은 7번핀, R2는 8번핀, R1은 9번핀에 각 각 연결한다. C1은 아두이노의 5번핀, C2는 4번핀, C3은 3번핀, C4는 2번핀에 각 각 연결한다. 키패드의 버튼을 입력받아 출력하는 예제 소스 코드 void setup() { Serial.begin(9600); pinMode(4,INPUT_PULLUP); pinMode(5,INPUT_PULLUP); pinMode(6,INPUT_PULLUP); pinMode(7,INPUT_PULLUP); } void loop() { if(!digitalRead(4)) Serial.println("s1"); else if(!digitalRea..
-
시간 간격을 통해 버튼을 누를 때마다 LED를 깜빡이게 하기Arduino/Button 2020. 10. 22. 18:49
아래의 내용을 이용해서 구현한다. designatedroom87.tistory.com/220 시간 간격을 통해 버튼을 누를 때마다 LED를 반전 하드웨어를 다음과 같이 구성한다. 내부적으로 풀업 저항으로 세팅을 한다. 버튼을 누르자마자 반응을 하기 보다는, 버튼을 누른 적정 시간이 지나야 버튼을 누른 것으로 판정을 하도록 한다 designatedroom87.tistory.com 소스 코드 // 버튼 // const int pin_switch = 2; // 4번핀 스위치 const int button_interval = 500; // 버튼 반응 속도 0.5초 long button_pressed_millis; // 버튼 눌러진 시간을 밀리초로 저장하기 위한 변수 // LED // const int pin_L..
-
시간 간격을 통해 버튼을 누를 때마다 LED를 반전Arduino/Button 2020. 10. 22. 18:34
하드웨어를 다음과 같이 구성한다. 내부적으로 풀업 저항으로 세팅을 한다. 버튼을 누르자마자 반응을 하기 보다는, 버튼을 누른 적정 시간이 지나야 버튼을 누른 것으로 판정을 하도록 한다. 소스 코드 // 버튼을 누를 때마다 LED가 반전된다. // 내부적으로 풀업 저항으로 세팅을 한다. // 버튼 // const int pin_switch = 7; // 7번핀 스위치 const int button_interval = 500; // 버튼 반응 속도 0.5초 long button_pressed_millis; // 버튼 눌러진 시간을 밀리초로 저장하기 위한 변수 // LED // const int pin_LED = 13; // 13번핀 LED 출력 // 시간 // long current_millis; // 현재..
-
Pull down & Pull up 저항Arduino/Button 2020. 10. 22. 18:17
풀다운 저항 풀다운 저항은 출력 지점을 기준으로 저항이 아래에 위치하면 풀다운 저항이다. 사용목적은 플로팅 상태 방지이다. 버튼이 OFF이면 출력값은 0이다. 버튼이 ON이면 출력값은 1이다. 풀업 저항 출력지점을 기준으로 저항이 위에 위치하면 풀업 사용목적은 플로팅 상태 방지이다. 버튼 OFF시 출력값은 1이다. 버튼 ON시 출력값은 0이다. 소스 코드 더보기 const int BUTTON_PIN = 7; // 버튼을 아두이노의 7번핀과 연결 void setup() { // put your setup code here, to run once: Serial.begin(9600); pinMode(BUTTON_PIN,INPUT); } void loop() { // put your main code here,..