본문 바로가기
아두이노 핀 번호 부여방법 두가지. [2023/09/03] First Start. 소나무 기운 , 전자제품 개발/생산 아두이노 핀 번호 부여방법 두가지. 아두이노에서 핀 번호를 부여하는 방법은 두 가지가 있습니다. 하나는 모듈의 물리적인 핀 번호를 사용하는 방법이고, 다른 하나는 아두이노 보드에 적힌 글씨에 따라 핀을 식별하는 방법입니다. 1. 모듈의 물리적인 핀 번호 사용: 이 방법은 아두이노 모듈의 실제 물리적인 핀 번호를 사용하여 각 핀을 제어합니다. 예를 들어, 아두이노 UNO 보드의 경우 디지털 입력/출력을 위한 14개의 디지털 핀과 아날로그 입력을 위한 6개의 아날로그 핀 등 총 20개의 GPIO(General Purpose Input/Output) 핀이 있습니다. 이러한 GPIO 핀들은 숫자로 표시되며, `digitalWrit.. 2023. 9. 2.
C, C++, ino 파일 서로 섞어 쓰기. [2023/02/25] First Start. 소나무 기운 , 전자제품 개발/생산 C, C++, ino 파일 서로 섞어 쓰기. 아두이노에서는 ino 파일, c 파일, cpp 파일을 섞어서 사용할 수 있습니다. 일반적으로 ino 파일에는 setup() 함수와 loop() 함수가 포함되어 있으며, 다른 파일에서는 이 함수들을 정의하거나 추가적인 함수들을 작성할 수 있습니다. ino, cpp, h 사용하기 cpp 파일을 header 파일로 분리하여 코드를 정리하고, 모듈화 할 수 있습니다. 이를 통해 코드의 가독성과 유지보수성이 증가하고, 코드를 재사용하기 용의해집니다. 아래는 cpp 파일을 header 파일로 분리하는 예시입니다. 1. 먼저, cpp 파일에 정의된 함수와 변수를 header 파일로 이전합니다.. 2023. 2. 26.
ESP8266, ESP32( S2, S3, C2, etc ) Series [2023/02/12] First Start. 소나무 기운 , 전자제품 개발/생산 ESP8266, ESP32( S2, S3, C2, etc ) Series The ESP8266 and ESP32 are microcontrollers produced by Espressif Systems. Both the ESP8266 and ESP32 are popular choices for a range of IoT applications due to their small size, low cost, and built-in Wi-Fi connectivity. ESP8266: The ESP8266 is a single-core microcontroller that was first introduced in 2013. I.. 2023. 2. 12.
[M5Stack] ESP32 reset (software) 방법 [2021-06-16] 최초 작성 [M5Stack , ESP32] software reset 프로그램 코드로 보드 리셋하기 프로그램을 진행하다 보면 리셋이 필요한 경우가 많이 있죠. 주번 디바이스나 내부 설정값을 반영해야 하는 경우가 있구요. 예기치 않은 프로그램 오류로 인해서 시스템을 처음으로 돌려야 하는 경우가 있어요. 주기적인 CPU reset을 통해서 시스템을 안정화 시킬 필요가 있지요. ESP32 계열의 software reset 몇가지 찾아본 중에 제일 간단한 방법이었어요. ESP.restart(); 이 함수를 호출해 줍니다. AVR 계열의 software reset SoftwareReset Lib를 사용합니다. 라이브러리 매니져에서 검색하시면 나와요. 아니면 여기 링크 https://www... 2021. 6. 16.
[PlatformIO] PlatformIO가 궁금하다. 안녕하세요. ESP32를 사용해 보고자 하다가 PlatformIO에 대해 들었습니다. ESP32와 ESP-IDF를 이용하여 VSCode에서 시험하고자 하다 PlatformIO를 확인하고 설치를 했죠. 이게 뭘까 하면서 확인해 보기 시작했습니다. 플랫폼IO의 메인 화면입니다. https://docs.platformio.org/ Professional collaborative platform for embedded development — PlatformIO 5.0.5b4 documentation © Copyright 2014-present, PlatformIO Revision 59b02120. docs.platformio.org 1/24일 기준으로 Platform : 42 Frameworks : 24 Bo.. 2021. 1. 24.
[TB-I2C] IR 온도센서 (적외선) 사용하기 안녕하세요. 소나무 기운입니다. ㅁ 특징 비접촉식 빠르게 온도 읽기 비접촉으로 정밀하지 못함. 대상물의 상태(반짝거림등)에 따라서 온도가 다르게 읽어짐 I2C를 통해서 읽기 종류별로 UART, 485도 있음. 조사 각도 여러종류 있음. ㅁ 예제 코드 공급사 홈페이지에서 자료 공개됨 다운로드링크 (하단 참고) 통신종류별, 기능별, 라즈베리파이,아두이노용 예제소스 포함됨(하단 이미지 참고) http://diwell.com/board/free/read.html?no=79&board_no=7 [아두이노 라즈베리파이]TB Series 예제코드자료실 - (주)디웰전자 기술 자료실입니다. diwell.com 데이터시트 http://diwellhome.cafe24.com/web/data/diwell/TB/ThermoB.. 2020. 12. 18.
[시계용 FND] Adafruit 제품 소개 안녕하세요. 소나무 기운입니다. 시계에 대한 개발 요청이 있어요. 탁상시계이고 추가적인 기능이 있는 제품이었습니다. 시계를 표시하기 위한 디바이스를 찾아봤는데요. 큼직 막하니 맘에 드는 제품을 찾았습니다. Adafruit 1.2inch 7-segment입니다. 3만 원이 넘는 가격입니다. 가격이 참 나빠요. 해외 직배송으로 느립니다. 가격이 비쌉니다. 부품 자체의 가격은 비싸지 않습니다. 부품과 PCB가 따로 배송됩니다. 직접 납땜하여야 합니다. 색상 여러가지 있습니다. 노란색 이쁩니다. #include "Adafruit_LEDBackpack.h" #include Adafruit_7segment Segment; //==================================================.. 2020. 12. 12.
[스위치 입력] 채터링 걸러내는 스위치 입력 방법 안녕하세요. 소나무 기운입니다. 스위를 입력받는 동작은 기본이고 꼭 필요하지요. 제일 많이 사용하는 스위치는 TACT스위치입니다. 이러한 기계적인 움직임이 있는 곳에는 채터링이라는 것이 발생해요. 접점이 붙는 순간에 붙었다가 떨어졌다 하는 일들이 순간적으로 반복돼요. 채터링 현상으로 검색하시면 설명이 많이 있습니다. chattering noise, switch bounce 스위치 입력을 받을 때 이 채터링 현상을 처리해 주지 않으면 문제가 생기게 됩니다. 한 번만 스위치를 눌렀는데 여러 번 눌린 것과 같은 증상이 있지요. 이러한 현상을 해결하기 위한 하드웨어적인 방법도 있지만 소프트웨어적인 방법이 있어요. 주기적으로 스위치를 읽어 보다가 같은 값이 유지가 되면 그것을 현재의 상태로 인식하는 겁니다. 예를.. 2020. 12. 12.
[부저] 아두이노에서 부저 사용하기 아두이노 나노에 부저를 달고 소리를 내봅니다. 사용할 부저는 ON/OFF를 반복하여 신호를 넣어주어야 하는 패시브 부저(Passive Buzzer)에요. 피에조 부저라고도 해요. 극성이 있으니 확인하세요. 아래 그림에서 스티커는 나중에 떼어내세요. +극에 전원을 줬다가 뺐다가를 빠르게 반복하여 그 진동이 소리로 들여요. 회로가 내장되어 있어서 5V를 연결하여 삑 소리가 나는 제품도 있어요. 눈으로는 확인이 안돼요. 전원을 연결해 봤을 때 소리가 나면 액티브, 삑 소리가 안 나면 패시브 소자입니다. 사용방법은 아두이노의 PWM신로를 연결하고 TR로 증폭하여 사용해요. 여기서 D2, R8은 필수는 아니에요. #include "pitches.h" int nBuzzer = 5; void BuzzerTest(vo.. 2020. 12. 12.
아두이노 나노 소개 사무실을 여기저기서 예전에 업체에서 받은 아두이노 나노가 생각났습니다. 간단히 센서를 시험하거나 할 때는 아두이노만 한 것이 없네요. 최소한의 핀들과 USB로 구성되어 브레드보드에 삽입하거나 베이스 PCB를 설계하여 사용하기 적당합니다. ㅁ 사양 ATmega328 5V 32KB Flash 2KB RAM 16MHz 1KB EEPROM PWM 6 Analog input 8 Digital I/O 22 ㅁ 특징 작은 사이즈 저렴한 가격 브레드 보드 삽입 용이 베이스 보드 제작 후 결합 용이 ㅁ 사용방법 디바이스 선택 시 아두이노 나노를 선택합니다. 제가 구매한 제품은 중국산 모조품인 것 같아요. 프로세스를 선택할 때 Old Bootloader를 선택해 줘야 했습니다. 인쇄상태도 허접하고요. 구매한 제품의 버전을.. 2020. 12. 12.
SW-420 진동 센서 진동을 감지해야 하는 일이 생겼어요. 검색을 해 보니 제일 많이 찾아지는 것이 SW-420 모듈이더군요. 모듈은 디지털로 값이 출력된다. 볼륨으로 감도를 조절하고 비교기(8핀 SOIC)에서 진동의 크기와 비교하여 출력은 High Low의 디지털 값으로 신호가 나와요. 간단히 GPIO로 읽어 들이거나 인터럽트로 받아들여 처리하면 되겠지요. 센서 자체만으로도 사용할 수 있어요. 센서는 피에조예요. 우리가 부저라고 알고 있는 것과 같은 내부구조를 갖죠. 피에조와 센서는 이렇게 생겼어요. 부저는 전기를 주면 줄어들거나 늘어나는 물질을 이용하여 구성해요. 전기를 주거나 멈추는 것을 2KHz 정도로 반복해 주면 그 진동이 소리로 들리게 돼요. 추가로 얘기하면 피에조 부저는 각자 공진주파수가 있어요. 그 주파수를 맞.. 2020. 10. 16.
USB to I2C/UART Protocol Converter with GPIO 하드웨어를 개발하다 보면 통신을 필수 지요. 간단히 USB에 연결하여 I2C와 UART GPIO등을 제어할 수 있는 칩이 있어 소개하고자 합니다. 마이크로 칩에서 제조한 MCP2221에요. https://www.microchip.com/wwwproducts/en/MCP2221 MCP2221 - USB Bridge Development Environment Demo & Evaluation Boards MCP2221 Breakout Module ( ADM00559 ) The MCP2221A Breakout Module is a development and evaluation platform comprised of a single DIP form factor board. The provided supporti.. 2020. 9. 22.
45만원짜리 현대모비스 전기자동차 완속 충전기 분해, 내부구조 살펴보자. 계속해서 현대모비스 전기자동차 완속 충전기 내부가 궁금했다. 위 사진처럼 생겼어요. 외관은 깔끔하고 군더더기 없어요. 케이블은 아주 무거워요. 구리가 넉넉히 들어 있는 듯 해요. 여기저기 사용기는 많을테니 내부를 살펴보죠. 뒷면은 이렇게 생겼어요. 분해해서 내부를 보려고 고무발, 스티커 뒷면 등 모두 살펴봤지만 스크류(나사)가 없었어요. 앞면의 검고 투명한 케이스는 초음파로 융착되어 있었어요.(초음파 융착이란 사출물 두개를 맏닿도록 하고 힘을주며 초음파 진동을 주면 접촉부위가 녹으면서 한 덩어리가 되요) 초음파 융착한 곳을 컷팅했어요. 이제 A/S는 다 받았네요. 아래는 220V입력, 위는 전기차 포트 충전단자와 연결되요. 아래 200V 커넥터 AC220V, AC220V, 접지, 온도센서 이렇게 4선이 .. 2020. 9. 18.
[EVSE] OpenEVSE 사이트 구경 (하) # Repositories중에 OpenEVSE_LCD를 볼께요. OpenEVSE_LCD+RTC - 2*16 CLCD와 RTC가 있는 PCB,회로,거버 OpenEVSE_LCD+RTC_v2 - CLCD와 RTC가 있는 PCB,회로,거버 OpenEVSE_LCD - LCD만 있는 PCB,회로,거버 OpenEVSE_LCD_Mono+Temp - LCD와 RTC가 있음, PCB,회로,거버, 온도 추가 됨(MCP9808) OpenEVSE_SmartLCD - 마이컴(ATMEGA168)이 하나 추가됨. 온도센서, RTC 추가 됨. 기능상으로는 제일 마지막이 OpenEVSE_SmartLCD일듯 하다 또한 저 마이컴의 소스는 어디 있을까? # Repositories중에 OpenEVSE_EV_Simulator를 볼께요. 충전기.. 2020. 9. 15.
[EVSE] OpenEVSE 사이트 구경 (상) 오늘은 OpenEVSE 홈페이지를 살펴 볼거에요. 별건 없지만 사이트가 이렇게 생겼어요. 요즘 홈페이지들의 트렌드가 비슷한가봐요. 기본 홈페이지에서 Products를 보면 3가지 항목이 나와요. Stations : 완제품 판매 DIY Kits : 조립할 수 있도록 부품 세트로 판매 Parts : 부품 일부만 판매 저는 당연히 DIY Kits를 선택할거에요. 또 우측 상단을 보면 페이스북, 트위터, 유튜브, GitHub 아이콘이 있어요. 홈페이지와 더불어 SNS에도 홍보를 위한 링크를 넣고 관리 합니다. 제일 중요한 것은 깃허브에요. 총 14개의 저장소(Repositories)가 있어요. 무슨 내용인지 차근 차근 봅죠. 순서 없이 14개를 볼께요. 웹쪽은 전문이 아니어서 늦게 볼거에요. 간단 설명을 먼저 .. 2020. 9. 15.
[EVSE] 전기자동차 완속충전기 동작 원리 [2021-05-31] 충전기 내부구조 분석 링크 삽입 전기차 충전기 관련 이슈가 있어 공부중이다. 커넥터 종류, 표준등 정말 많은 내용이 있지만 완속충전기 동작 원리에 대한것을 알아보자 우선은 기본 전기차 용어를 알아보자. ※ OBC (On Board Charger) : 충전기의 AC 입력을 배터리의 DC로 변환하는 장치 ※ SOC (State Of Charge) : 배터리의 잔존 용량 ※ CP (Control Pilot) : 전기차와 전기 충전기(EVSE) 사이에 상호 모니터링을 하는 통신 기능 ※ PD (Proximity Detection) : 충전기가 충전구에 꽂혀있는지 확인 여부 (충전구가 꽂혀있으면 전기차 이동이 불가) ※ EVSE (Electric Vehicle Supply Equipment.. 2020. 9. 9.
Wind Sensor를 센서를 이용한 풍량 감시 [기본 원리] wind Sensor는 공기의 흐름을 측정하는 센서이다. 와이어에 열을 가해서 주위보다 높은 온도를 유지한다. 공기의 흐름은 와이어의 열을 식히게 되고. 회로는 높은 온도를 유지하기 위해 더 많은 전류를 흘리게 됩니다. 이 전류의 양을 바람의 양으로 환산한다. Wind Sensor에 사용된 회로 개념도. 1. Thermistor는 바람이 많이 불거나 적게 불거나 상관없이 바람의 온도에 대응하며 변한다. 2. Hot Wire는 주변 온도 보다 높아지도록 가열된다. 3. 가열이 되면서 저항의 변화가 생기면 A, B의 전압차가 평형이 맞춰진다. 4. 이때 공기의 흐름이 생겨 백금의 온도가 흐름의 양에 따라 많이 식거나 적게 식는다. 5. 이때 생긴 온도변화로 백금 와이어에 저항값이 변경되어 전류.. 2020. 8. 27.