본문 바로가기

코딩/아두이노47

아두이노 지문인식 센서 사용하는 방법 - 스마트폰 보안이 지문으로 널리 쓰이고 있기 전에 이미 지문인식 센서는 존재했었다. 지금도 각종 보안장치에서 지문인식센서를 사용하고 있는데, 오늘은 그 지문인식 센서를 아두이노에서 어떻게 사용할 수 있는지 다뤄보도록 하겠다. - 아두이노(우노, 나노, 메가), 지문인식센서, 지문인식센서 용 케이블 지문인식센서를 보면 핀이 총 8개가 있는데, 이 중에서 4핀만 사용한다. 자세히 보면 V+ 과 TX, RX, GND 가 몰려있는데 V+는 아두이노의 5V TX는 아두이노의 2번핀 RX는 아두이노의 3번핀 GND는 아두이노의 GND핀에 연결해주면 된다. 연결된 모습은 위와 같다. 아두이노에서 라이브러리를 설치해야 한다. 라이브러리 매니저를 실행시키고 검색어에 finger 만 입력해도 설치해야 할 라이브러리가 잘.. 2021. 4. 15.
로드셀과 HX711을 이용해서 무게 측정해보기 - 하프브릿지 - 아두이노를 활용한 프로젝트를 하다보면 무게와 압력을 감지해야 할 때가 있다. 이 때, 사용하는 센서가 로드셀과 HX711 이다. 로드셀은 3선식과 4선식이 있는데, 3선식이 사용하기 매우 까다롭다. 그 3선식 로드셀을 통해 무게를 측정해보도록 하자. - 아두이노(우노, 나노, 메가), 로드셀(3선식 2개), HX711 (로드셀 앰프) 선이 복잡해 보이겠지만 잘 따라서 보면 이해가 될 것이다. D/I 는 아두이노의 2번핀 SCK 는 아두이노의 3번핀에 연결해주면 된다. 우선 아두이노에서 라이브러리를 추가해주어야 한다. 라이브러리 매니저에서 HX711을 검색하고 "HX711 Arduino Library" 를 설치해준다. #include "HX711.h" // HX711 circuit wiring cons.. 2021. 4. 2.
[SZH-SSBH-002] 적외선 장애물(물체) 감지 센서 사용하는 방법 - 라인트레이싱과 같은 프로젝트를 만들때 항상 들어가는 것이 물체감지 센서이다. 거리 측정 센서로도 쓰이지만, 그런경우 analog 값을 출력해주는 모듈을 사용해야 한다. 이번에는 갖고 있는 센서 모듈이 digital 신호로만 주는 방식이어서 그에대해서만 사용법을 알아보도록 하자. - 아두이노(우노, 나노, 메가), 적외선 물체 감지 센서 센서의 OUT 단자를 아두이노의 3번핀에 연결한다. 센서의 VCC는 아두이노의 5V, 각자의 GND끼리 연결해주면 된다. int sensor_pin = 3; void setup() { // put your setup code here, to run once: pinMode(sensor_pin, INPUT); pinMode(13, OUTPUT); } void loop().. 2021. 4. 1.
아두이노로 DC모터 속도 제어하기 _ PWM이용 - 모터를 사용하다보면 모터 출력을 조금만 더 낮추고 싶거나, 내 마음대로 조절하고 싶을때가 많다. 아두이노로 모터 회전속도를 제어할 수 있는데, PWM 을 이용하여 모터드라이버에 신호를 주면 된다. 그 방법을 한번 알아보도록 하자. - 아두이노(우노, 나노, 메가), 모터드라이버(L298N, L9110) (모터 드라이버마다 사용법이 다를 수 있음) int motor_1 = 10; int motor_2 = 9; void setup() { // put your setup code here, to run once: pinMode(motor_1, OUTPUT); pinMode(motor_2, OUTPUT); } void loo.. 2021. 3. 31.
7-segment 4개 모듈 사용하는 방법 TM1637 - 아두이노를 통해서 타이머 같은 기능을 구현하고 싶을때, 디스플레이 장치로 7-segment 를 종종 사용한다. 1개 짜리 말고 4개가 묶여있는 모듈을 사용하는 방법을 알아보자. - 아두이노(우노, 나노, 메가), 7-segment 모듈(TM1637 chip) 7-segment 모듈은 보통 위와 같이 생겼고, 핀이 4개여야 한다. 자신이 보유하고 있는 7-segment 의 칩이 TM1637 인지 확인해야 한다. 모듈 핀이 총 4개로 CLK DIO VCC GND 핀이 있고, VCC는 아두이노의 3.3V 또는 5V에 연결한다. GND는 아두이노의 GND에 연결한다. CLK는 아두이노의 2핀에 꽂고, DIO핀은 아두이노의 3핀에 꽂으면 된다. 우선 아두이노에서 라이브러리를 설치해야한다. 라이브러리 매니저를 .. 2021. 3. 30.
아두이노로 스마트폰에 Pushbullet을 이용하여 알림 보내기 - 아두이노 IoT 프로젝트를 하다보면, 스마트폰에 알림을 보내야 하는 경우가 참 많다. 하지만 어떻게 해야할지 막막하기만 한데, 어플을 만들어야 하는건 아닌지... 블루투스로 해서 해결해야 하는 것인지... 오늘 이 포스팅에서 정말 간단하고 쉽게 아두이노로 스마트폰에 알림을 보내는 방법을 소개해보자 한다. - NodeMCU 또는 wifi모듈 ESP8266과 아두이노(우노, 나노, 메가) 회로 없음 우선 Pushbullet 과 PushingBox 사이트를 이용해야한다. 둘 다 무료이고, 인터넷만 연결되는 상황이면 사용가능하다. 그리고 구글 계정으로 로그인이 가능하므로 간편하다. www.pushbullet.com/ Pushbullet - Your devices working better together C.. 2021. 3. 25.
아두이노로 AC 전류를 측정해보자 (AC 전류센서 [SEN0211] 사용예제) - 우리가 흔히 사용하는 220V AC 전원의 전류를 측정하여 전자기기의 사용 전력을 측정해보자 - 아두이노(나노, 우노, 메가), AC전류센서 SEN0211 모듈에서 빨간색 친 부분을 아두이노에 연결해주어야 한다. A는 아날로그 A0에 연결 +는 3.3V 또는 5V 에 연결 - 는 GND 에 연결 int sensorPin = A0; int sensorValue = 0; void setup() { // declare the ledPin as an OUTPUT: Serial.begin(9600); pinMode(ledPin, OUTPUT); } void loop() { // read the value from the sensor: sensorValue = analogRead(sensorPin); Seria.. 2021. 3. 22.
엔코더 장착형 N20 모터 제어하기 - 엔코더가 장착된 모터를 아두이노로 제어해서 사용해보자. 아두이노 공식 홈페이지에서 로터리 엔코더 사용에 대해 설명한 페이지를 우선 첨부해본다. 필요한 경우 방문을 하면 되겠다. playground.arduino.cc/Main/RotaryEncoders/ Arduino Playground - RotaryEncoders Reading Rotary Encoders Contents Introduction Libraries Encoder - High performance with 4X counting and very efficient interrupt routines. Uses the External Interrupt pins of the MCU. Download ClickEncoder - For encode.. 2021. 3. 19.
nRF24L01 내장 아두이노 나노보드 최대 통신 거리 중국 알리에서 구입한 nRF24L01 모듈 내장형 나노 보드 nRF24L01 의 경우 최대 1~2km 까지도 통신이 된다 했었고, 유튜브에서도 그와 관련된 자료가 꽤 있기도 하다. www.youtube.com/watch?v=R2L2mvcJsPY 중국에서 사는 한국인이 올린 자료인데 2km 모듈의 경우 200m까지는 되었다고 한다. 그래서 과연 필자가 주문해서 받은 나노보드의 경우 통신범위가 어떻게 되나 테스트를 해봤다. 영상을 찍을 필요도 없이 처참한 결과였다. 외장 안테나가 없어서 거리가 짧을 줄은 알고있었는데 생각보다 너무 짧아서... 놀람을 금치 못했다. 일단 사이에 벽이 있으면 통신이 안 된다고 보면 되고, 뻥 뚫려있는 상황에서 최대 5m 거리에서 통신이 되었다. radio.setPALevel(R.. 2021. 3. 14.
아두이노 LCD 1602 4핀(I2C제어) 디스플레이 사용하는 방법 - 컴퓨터가 없을 때, 센서값을 알고 싶은경우 1602 캐릭터 lcd를 사용한다. 1602 lcd의 사용방법을 알아보고 출력하고 싶은 값을 출력해보자. - 아두이노, 1602캐릭터 lcd (I2C 제어모듈) 아두이노 - LCD 모듈 5V - VCC GND - GND A4 - SDA A5 - SCL 연결방법은 위와 같으며, I2C 통신을 위해서 아두이노의 SDA핀과 SCL 핀을 사용해야만 한다. SDA와 SCL핀은 아두이노 설계상으로 고정된 핀이기 때문에 다른 핀으로 변경할 수 없다. 아두이노 말고 다른 MCU에서 사용할 경우에도 SDA와 SCL 핀을 확인해야 한다. #include #include LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to .. 2021. 3. 14.
아두이노 nRF24L01 양방향 통신 이번 포스팅에서는 nRF24L01 의 양방향 통신에 대해서 다뤄보도록 한다. nRF24L01의 기본적인 사용 방법은 이전 포스팅에서 다뤘으니, 기본적인 단방향 통신이 궁금하다면 아래 링크의 포스트를 참고하시길 바란다. diyver.tistory.com/145 아두이노 nRF24L01 모듈로 무선통신 하는 방법 - 아두이노의 무선 통신의 대표는 WiFi, Bluetooth, RF통신 이 있다. 이 중에서 이번에는 RF통신을 다뤄보도록 한다. RF란? Radio Frequency로, 직역하면 무선 주파수 이며, 곧 주파수를 통한 통신을 diyver.tistory.com 기본적으로 nRF24L01 의 통신 모듈은 단방향 통신이 보통 사용 방법이다. 블루투스 HC-05, HC-06 모듈처럼 양방향 통신이 기본적.. 2021. 3. 14.
아두이노 nRF24L01 모듈로 무선통신 하는 방법 - 아두이노의 무선 통신의 대표는 WiFi, Bluetooth, RF통신 이 있다. 이 중에서 이번에는 RF통신을 다뤄보도록 한다. RF란? Radio Frequency로, 직역하면 무선 주파수 이며, 곧 주파수를 통한 통신을 뜻한다. nRF24L01 이란 2.4gHz의 주파수를 사용하는 무선통신 모듈 중 하나이다. 대표적인 RF통신 모듈이고, 1:N 통신에 많이 사용한다. 단방향 통신이 주된 사용 방법이지만, 양방향 통신도 가능하다. nRF24L01 은 무선 통신 가능 거리가 짧게는 5m 정도에서 1~2km 까지도 된다. 보통의 유통되는 아두이노용 nRF24L01 는 길어야 200m 라고 봐야한다. - 아두이노, nRF24L01 모듈 2세트 필자의 경우에는 아두이노 나노와 nRF24L01 모듈이 합쳐져.. 2021. 3. 13.
모터드라이버 L298N 5V로 모터 제어하기 - 낮은전압(12V 이하)에서 L298N 모터드라이버를 이용하여 모터를 제어해보자 - 아두이노(우노,나노,메가), L298N 모터드라이버, 점퍼선, 12V이하의 배터리팩 int motor_1 = 3; int motor_2 = 4; void setup() { // put your setup code here, to run once: pinMode(motor_1, OUTPUT); pinMode(motor_2, OUTPUT); } void loop() { // put your main code here, to run repeatedly: delay(1000); digitalWrite(motor_1, HIGH); digitalW.. 2021. 3. 11.
아두이노 타이머 카운터 인터럽트 사용하는 방법 CTC모드 이번 포스팅에서는 아두이노 타이머 인터럽트 사용방법을 다뤄보도록 하겠다. 이전 포스팅에서는 아두이노 입출력 인터럽트 사용방법을 다뤘으니, 참고하실 분들은 참고하시기 바란다. diyver.tistory.com/137 아두이노 입출력 인터럽트에 대해서 알아보자 attachInterrupt() 이번 포스트에서는 임베디드 시스템에서 제일 중요한 부분 중 하나인 인터럽트에 대해서 알아보도록 한다. 인터럽트란 마이크로컨트롤러프로세서(MCU) 에서 프로그램이 실행 중에 있을때, 예외 diyver.tistory.com 인터럽트는 타이머/카운터 인터럽트와 입출력 인터럽트로 2개가 있다. 입출력 인터럽트는 센서 등의 신호 변화를 감지하여 발생하는 인터럽트라면, 타이머/카운터 인터럽트는 일정 시간마다 발생하는 인터럽트이다... 2021. 2. 23.
아두이노 버튼 노이즈를 제거해보자, Debounce 이해하기 아두이노를 사용할 때, 버튼입력의 신호가 이상하게 입력될 때가 종종 있다. 버튼이 오동작 하기 쉬운 이유는 접점 불량으로 발생하기 쉽기 때문이다. 이 오류를 해결하는 방법이 Debounce 알고리즘을 사용하는 것이다. 이번 포스팅에서는 이 Debounce 알고리즘을 살펴보고, 어떻게 쓰는 것인지 알아보도록 한다. Debounce 는 쉽게 말해 특정시간이 지난 후 하나의 이벤트만 발생하도록 하는 기술이다. 버튼이 오동작 할 때를 보면 상황이 아래와 같을 때이다. 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 신호를 엄청 빠르게 읽어오는데 0에서 1로, 1에서 0으로 바뀌는 구간이 바로 이상함이 감지되는 구간이다. 도저히 사람 손으로.. 2020. 12. 23.