본문 바로가기

분류 전체보기195

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.
[c++ opencv] haarcascades를 이용하여 얼굴인식하고 얼굴만 모자이크 처리하는 방법 본문 목표 머신러닝과 같이 영상인식의 사용이 부쩍 많아진 요즘 얼굴인식은 정말 흔하게 사용하는 기술이 되었다. B612 같은 카메라 보정 어플도 그렇고, 코로나 시국에 발열체크 하는 기계에서도 그렇고 정말 많이 사용하는 기술이다. 이러한 얼굴인식을 사용해보고, 모자이크 처리를 해보도록 한다. 키워드 : 얼굴인식, faceface_classifier, 모자이크처리 알아볼 함수 원형 - 함수 기능 ( Function Name ) face_classifier.detectMultiScale(grayframe, faces, 1.1, // increase search scale by 10% each pass 3, // merge groups of three detections CV_HAAR_FIND_BIGGEST_.. 2021. 3. 15.
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.
제품 개발 공정도 보통 제품의 개발 및 생산 공정도 2021. 2. 25.
[3D 모델링] 소니 블루투스 스피커 SRS-XB12 모델링 및 랜더링 모델링 소요시간 : 6 hour 실제 치수 측정하며 역설계를 하니 시간이 많이 오래걸리네요... 아래에는 랜더링 이미지들 입니다. 소니 SRS-XB12 판매 페이지에 올라와있는 제품 모델과 비교해봤을 때, 별 차이 없어보이지 않나요 ㅎㅎ 하는김에 색상도 여러개로 뽑아봤네요 그레이가 은근 이쁜듯? 2021. 2. 24.
[3D 모델링] 애버다임 소방차 3D 모델링 및 랜더링 3D 모델링을 하고 단순히 랜더링만 한 결과물입니다. 소방차 같긴하지만 심심한 구석이 많네요. 여기에 라벨링 작업을 더해보면 어떨까요? 119 로고와 각종 안전 테이프바를 추가하니 확실히 소방차 다워졌네요~ 디테일을 조금 더 살려서 모델링 했으면 더 좋은 결과가 나왔겠지만 자료가 많이 없어서 여기까지 밖에 진행을 못하겠네요 건설장비, 중장비 3D 모델링 및 랜더링 이미지가 필요하시다면 연락주세요~ 3D 모델링과 랜더링 견적상담 언제든지 환영입니다~ 2021. 2. 24.
아두이노 타이머 카운터 인터럽트 사용하는 방법 CTC모드 이번 포스팅에서는 아두이노 타이머 인터럽트 사용방법을 다뤄보도록 하겠다. 이전 포스팅에서는 아두이노 입출력 인터럽트 사용방법을 다뤘으니, 참고하실 분들은 참고하시기 바란다. diyver.tistory.com/137 아두이노 입출력 인터럽트에 대해서 알아보자 attachInterrupt() 이번 포스트에서는 임베디드 시스템에서 제일 중요한 부분 중 하나인 인터럽트에 대해서 알아보도록 한다. 인터럽트란 마이크로컨트롤러프로세서(MCU) 에서 프로그램이 실행 중에 있을때, 예외 diyver.tistory.com 인터럽트는 타이머/카운터 인터럽트와 입출력 인터럽트로 2개가 있다. 입출력 인터럽트는 센서 등의 신호 변화를 감지하여 발생하는 인터럽트라면, 타이머/카운터 인터럽트는 일정 시간마다 발생하는 인터럽트이다... 2021. 2. 23.
[c++ opencv] Labeling(라벨링, 레이블링)으로 객체 카운팅하는 방법 본문 목표 영상처리를 하다보면 연속된 픽셀들이 이루는 그룹을 판단해야 할 상황이 있다. 이런 경우 대상에 이름을 붙여주는 작업이 라벨링 또는 레이블링이라 한다. (라벨링은 한국식 콩글리쉬인듯, 영문권에서는 레이블링 이라고 한다.) Opnecv를 사용하지 않고도 레이블링을 할 수 있지만, 원리를 알아보고 그 사용법을 알아보도록 한다. 키워드 : 라벨링, 레이블링, labeling, connectedComponents(), connectedComponentsWithStats() 레이블링( labeling ) 이란? 인접한 같은 값을 갖는 픽셀끼리 하나의 그룹으로 묶어주는 작업이다. 쉽게 말해서 이진화 이미지에서 경계를 이룬 영역에 이름(숫자)을 부여하는 작업이다. 왜 레이블링이 필요한가? 영상인식 과 영상처.. 2020. 12. 25.