728x90
728x90

arduino 10

코틀린(Kotlin)으로 작성한 안드로이드 블루투스 리모컨 예제

https://twinparadox.tistory.com/132 위 링크에 올린 블루투스 리모컨으로 조종하는 아두이노 선풍기에 어플리케이션 코드가 없었다. 프로젝트를 정리해 올리면서 아두이노 스케치 코드는 올렸는데, 어플리케이션 코드는 찾지 못해서 올리지 못한 상태였는데 최근 코틀린을 배우면서, 코틀린도 연습할 겸, 잃어버린 프로젝트의 주권(?)을 되찾을 겸, 리모컨을 다시 만들었다. 소스에 대해 간략히 설명하자면, SelectDeviceActivity는, 블루투스 장치를 검색 및 선택하는 액티비티고, ControlActivity는 해당 장치를 컨트롤하는 액티비티로, 여기서는 리모컨 역할을 하는 액티비티다. 깃허브 주소 : https://github.com/Twinparadox/ArduinoFan-wit..

Arduino] 아두이노의 입출력 함수, 시간함수 정리

Digital I/O void pinMode(uint8_t pin, uint8_t mode)pin : 설정하고자 하는 핀 번호mode : INPUT, OUTPUT, INPUT_PULLUP 중 하나반환값 : 없음 void digitalWrite(uint8_t pin, uint8_t value)pin : 핀 번호value : HIGH 또는 LOW반환값 : 없음 int digitalRead(uint8_t pin)pin : 핀 번호반환값 : HIGH 또는 LOW Analog I/O void analogReference(uint8_t type)type : DEFAULT, INTERNAL, INTERNAL1V1, INTERNAL2V56, EXTERNAL 중 한 가지반환값 : 없음 int analogRead(uint..

Arduino] 3색 LED 사용하기

기본적으로 3색이라 하면 RED, GREEN, BLUE의 빛의 삼원색을 말한다.옆쪽에 FND와 연결된 기판은 이것저것 시도하고 있는 것이 있어 빵판에 그대로 둔 상태고,좌측에 물려 있는 LED가 바로 3색 LED다. 2초마다 각 LED를 작동시키는데빨강, 초록, 파랑, 노랑, 보라, 청록, 흰색, 꺼짐 순으로 작동한다. 빛의 3원색은 잘 조합하면, 노랑, 청록, 자홍색을 나타낼 수 있는데노랑의 경우 빨강과 초록,자홍은 빨강과 파랑,청록은 초록과 파랑이며흰색은 3색 모두 켜지면 나타난다. 반복문을 사용해 각 LED 값을 조정해주면 무드등을 만들 수도 있다. 12345678910111213141516171819202122232425262728293031323334353637383940int redPin = ..

Arduino] LED 도트 매트릭스

Arduino] LED 도트 매트릭스 사용하기 LED 도트매트릭스라고 이야기를 하면아예 무지한 사람들은 전혀 감을 잡지 못한다.그냥 도심에서 크게 보이는 전광판이나,대형식당 등에서 간간히 보이는 LED 전광판이라고 생각하면 편하다. 통상적으로 베이직 키트 등의 세트에 포함된 도트 매트릭스는5X8형태의 매트릭스가 많고,널리 사용되는 만큼 이를 사용하는 방법에 대해서 많이 알려져 있어네이버에 검색만 해도 쏟아져 나올 법하지만,그래도 필자가 지난날 과제를 수행하면서 정리하였던 도트 매트릭스와 관한 내용과경험을 되짚어 보면서 이야기를 하고자 이렇게 글을 끄적여본다. LED 도트 매트릭스 단어 자체를 보면,LED를 여러 개 배열하여 이를 매트릭스(행렬) 구조로 만들어놓은 소자임을 알 수 있다. 보는 것처럼 이런 ..

Arduino] LiquidCrystal.h

Arduino] LiquidCrystal.h 아두이노 강의를 들으면서 LCD 출력을 하면서 정리했던 LiquidCrystal 헤더 파일에 대한 내용이다. 주로 사용하는 부분들에 대해서 정리가 되어 있다.디테일한 예시는 차후 올라가는 포스트(사실은 보고서로 제출했던 것들)을 통해 소개할 예정이다. LiquidCrystal.h LCD 모듈을 사용할 수 있는 라이브러리(Library)로 아두이노에서는 여러 가지 함수를 지원하며,아두이노 설치와 동시에 포함되는 라이브러리. - LiquidCrystal()여러 가지 형태의 LCD의 제어 타입을 설정하고, 제어 핀과 데이터 핀을 설정함.K-아두이노 브레드보드에선 4 data 라인과, RS, EN 제어 라인만 사용, RW 제어 라인은 접지시킴.제어와 data 라인은 ..

Arduino] PWM 출력으로 LED 스트립 써먹기

Arduino] PWM 출력으로 LED 스트립 써먹기 원래부터 아두이노, 임베디드 시스템에 관심이 많았던 찰나에,학교에서 기존에 하던 AVL 보드 설계를 아두이노로 대체하면서 이런저런 소자를 써보게 됐다.그전에 이미 스타터 키트라고 시중에 나와 있는 패키지를 사서 이런저런 시도를 해보긴 했지만,없는 소자들도 있어서 다방면으로 써볼 기회가 없었는데 기회를 얻었다.(물론, 3색 LED 스트립이 무슨 대단한 설정이 필요하거나 비용이 드는 건 아니었지만...)반강제적으로(?) 활용하게 되면서 경험을 쌓았다고 생각하자.아무튼 나는 돈 쓰지 않고, 소자도 얻고 경험도 쌓은 것이니까.. 영상에 사용된 소스 코드는 아래 '소스코드 보기'를 클릭하면 나온다. 1234567891011121314151617181920212..

Arduino] 아두이노 언어 구조, 변수, 함수

- 아두이노 언어의 구조 구조 종류 내용 제어 구조 (Control Structure) if, if…else, for, switch case, while, do…while, break, continue, return, goto 문법(Syntax) ;, {}, //, #define, #include 산술 연산자 (Arithmetic Operators) =, +, -, *, /, % 비교 연산자 (Comparison Operators) ==, !=, , = 불 연산자 (Boolean Operators) &&, ||, ! 포인터 접근 연산자 (Pointer Access Operators) *, & 비트 연산자 (Bitwise Operators) &, |, ^, ~, 복합 연산자 (Compound Operato..

Arduino] 아두이노 센서 정리

CDS 광 센서 빛의 밝기에 따라 저항 값이 변하는 것을 이용 - 황화카드뮴을 주원료로 제작- 주위가 밝으면 저항값이 작아지고, 어두우면 저항값이 커짐- 통상적으로 어두운 곳에서 100k, 밝은 곳에서는 10k 정도의 저항값- 낮에는 꺼지고 밤에는 켜지는 가로등처럼 주변 밝기에 따라 전자기기 동작을 컨트롤할 경우 사용- 카메라의 노출 시간을 자동으로 맞출 경우 사용 IC 온도 센서 직선성, 감도, 기준온도 등의 문제점 개선한 IC 타입 센서 - 기존의 것들은 금속선과 반도체의 저항값이 온도에 따라 변하는 성질을 이용해 개발된 것들- 실리콘 트랜지스터의 온도 의존성을 이용한 것, 트랜지스터의 베이스와 이미터 사이의 전압이 온도 변환에 따라 거의 직선적으로 변화하는 현상을 응용- 감온 소자와 여러 가지 회로..

Arduino] 7세그먼트 사용하기

세그먼트 자체에 대한 이해도 필요했고, 캐소드식과 애노드식에 대한 이해도 필요해서 꽤 오래 걸렸습니다. 어젯밤에 진짜 삽질해가지고, 작동은 커녕 아두이노 기판을 못 쓸 지경으로 만들 뻔했습니다. 회로에 대해서 최소한의 지식이 있다고 생각은 했는데, 정말 만행을 저질러서.. 새벽에 일어나서 회로를 보고 다시 적용해서 작동하는데 성공했습니다. 지금 당장 아두이노를 해보면서 느끼는 건 코딩쪽에서의 애로사항보다는 회로쪽에서 애로사항이 더 많습니다. 최소한의 지식마저도 없이 접근하면 합선이 발생해 기판이 고장나는 것과 같은 문제가 발생하겠구나 싶었습니다. 저도 배우는 입장이라, 직접 해보면서 많이 배웁니다. 기껏해봐야 LED, 부저, 세그먼트, 온도센서 이 네 가지밖에 안 건드렸는데도, 꽤나 배운게 많습니다. 1..

Arduino] 부저 사용

부저를 0.05초 가량 울리고, 동시에 그 시간 동안 LED도 점등한 뒤, 나머지 0.95초에는 LED와 부저가 작동하지 않는 소스입니다. 사실상 1초에 1회 부저가 울린다고 보면 되고, 그에 따라 LED도 같이 깜빡거립니다. 1234567891011121314151617#define BUZ 11#define LED 8void setup() { // put your setup code here, to run once: pinMode(BUZ,OUTPUT); pinMode(LED,OUTPUT);} void loop() { // put your main code here, to run repeatedly: digitalWrite(BUZ,HIGH); digitalWrite(LED,HIGH); delay(50);..

728x90