본문 바로가기

전체 글195

타오바오 뱀부랩 Bambu Lab P1P 3D프린터 구매하는 방법 3D 프린터 이용자들 사이에서 Bambu Lab 사의 P1P 3D 프린터가 아주 인기몰이 중이다. 불과 몇년 전만해도 조용한 3D프린터가 인기였다면, 현재는 퀄리티를 보장해주면서 빠르게 출력해주는 것이 인기가 되었다. 빠르게 출력하는 것은 옛날부터 coreXY 방식이라던지, 여러가지 튜닝을 통해서 빠르게 출력하는 시도를 했었는데, 퀄리티가 좋지 않은 문제가 있고, 출력실패가 많이 발생하는 문제가 있었다는게 문제였다. 현재 Bambu Lab 에서는 퀄리티 괜찮으면서 실패확률이 적은 P1P 와 X1C 를 개발하여 판매하고 있는데, 유튜브에서 속도를 보면 말이 안되는 속도라 입이 떡 벌어지게 된다. 처음에는 속도가 빠르면 퀄리티에 문제가 있을 수 밖에 없어! 하는 생각으로 구매를 망설였지만, 현재 많은 리뷰를.. 2023. 7. 3.
아두이노 IDE에 ESP32 개발환경 세팅하기 요새 ESP8266 대신에 ESP32 가 대세가 되고 있는 추세인듯하다. 아두이노IDE (아두이노 코딩 프로그램)에서 ESP32 코딩이 가능하다. 그 방법을 정리해서 알려드리고자 한다. 우선 아두이노 IDE를 실행한다. 없다면 설치를 하고 따라오면 된다. https://www.arduino.cc/en/software Software Open-source electronic prototyping platform enabling users to create interactive electronic objects. www.arduino.cc 자신의 운영체제에 맞게 아두이노 IDE를 설치하면 된다. 아두이노 IDE를 실행하고 메뉴바 >> 파일 >> 환경설정 을 차례로 클릭하여 환경설정 창을 띄워준다. 사진에 표.. 2022. 9. 7.
ESP32 wifi 접속을 스마트폰으로 설정하는 방법 wifi manager ESP32 를 사용하는 이유는 보통 IoT 제품을 개발하거나 WIFI로 인터넷 접속이 필요하기 때문이다. 그런데 문제는 개발이 끝난후 미리 설정한 WiFi 정보가 아니면 WiFi 를 접속할 수 없어서 코드를 다시 열고 WiFi 정보를 수정한 뒤에 다시 업로드를 했어야 했다. 이런 방식을 하드코딩 방식이라고 한다. 개발이 쉽지만 사용성이 너무 떨어지는 장단점이 있는 것이다. 이번에 소개할 것은 ESP32 에서 코딩을 따로 수정할 필요 없이 스마트폰으로 ESP32의 wifi 접속 정보를 수정해서 wifi접속을 할 수 있는 기능이다. 필자도 아래의 글을 통해 참고한 내용으로 원문으로 읽어볼 수 있다면 읽어보는 것을 추천한다. https://randomnerdtutorials.com/esp32-wi-fi-man.. 2022. 9. 7.
ESP32 MySQL 데이터베이스에 데이터 등록 조회 하는 방법 예전에는 웹개발자 또는 앱개발자들이 많이 다루던 데이터베이스를 이제는 하드웨어 개발자들도 다룰줄 알아야 하는 시대가 왔다... IoT 시대가 되면서 다양한 상태값을 온라인 상에 저장하고 데이터를 공유하고, 다른 데이터를 조회할 줄 알아야 제품을 개발할 수 있게되었다. 그래서 이번에 다뤄볼 내용은 ESP32 를 이용해서 DB(데이터베이스)에 접근하여 데이터를 등록하거나 조회하는 방법을 다뤄보려 한다. 우선 MySQL 이나 Maria DB를 설치되어 있어야 한다. 이 내용까지 다루려면 너무 길어지니깐, 직접 찾아서 설치하길 바란다. 필자는 MySQL로 진행하겠지만, Maria DB는 MySQL 을 호환하기 때문에 Maria DB로 설치해서 따라해도 된다. Maria DB가 설치하기 더 편하다. MySQL은 .. 2022. 9. 7.
아두이노 바코드 리더기로 바코드 찍는 방법 GM-65 아두이노에서 바코드 리더기 사용하는 방법에 대해서 안내하고자 한다. 그 누구도 제대로 알려주지 않아서 필자가 데이터시트 다 찾아보면서 아두이노에서 바코드를 가장 편하게 읽어 들일 수 있게 하는 방법이니, 해당 모듈을 사용하실 분들에게 도움이 되었으면 좋겠다. 왜 GM-65 인가? 디바이스마트에서 보이는 바코드 리더기 검색을 해보면 특정 업체밖에 검색이 안된다. DYSCAN 업체인데 해당 업체의 데이터시트를 봐도 부족함 투성이다. 무슨 데이터 시트가 12페이지가 전부이고, 내용도 다 허술하기 그지없다. 이런 제품을 아두이노에서 호환된다고 팔고 있는 실정이다... 문제는 인터페이스가 USB가 기본이라서 아두이노와 해당 바코드 리더기만 있다고 해서 사용할 수가 없다. 아두이노에 USB쉴드도 있어야 된다. 컴퓨.. 2022. 9. 7.
waveshare 전자잉크 폰트크기 변경하는 방법 외주 개발 의뢰로 접하게된 waveshare 의 전자잉크 디스플레이... 폰트 사용에 있어서 문제가 있는 것을 확인했다... 기존의 유명한 U8glib 으로 waveshare 의 디스플레이 지원이 공식적으로 되지 않기에 waveshare 에서 제공한 라이브러리로 개발을 진행중에 있다. https://diyver.tistory.com/198 ESP32 에서 waveshare 전자잉크 디스플레이 사용하는 방법 이번에 외주 개발 의뢰를 받았다. waveshare 사의 EPD 즉 전자잉크 디스플레이를 사용한 제품 개발이었어서 처음사용해보는 김에 정리를 해보려 한다. 일단 ESP32 나 ESP8266 이나 아두이노등 대부분의 diyver.tistory.com waveshare EPD(전자잉크 디스플레이) 처음 사.. 2022. 9. 7.
ESP32 에서 waveshare 전자잉크 디스플레이 사용하는 방법 이번에 외주 개발 의뢰를 받았다. waveshare 사의 EPD 즉 전자잉크 디스플레이를 사용한 제품 개발이었어서 처음사용해보는 김에 정리를 해보려 한다. 일단 ESP32 나 ESP8266 이나 아두이노등 대부분의 MCU와 라즈베리파이에서 waveshare의 전자잉크 디스플레이를 사용할 수 있다. 다만 SPI 통신으로 사용해야 하는데, 귀찮기 때문에 waveshare의 전용 커넥터와 통신칩을 이용하는 것이 편하긴 하다. 본 포스팅에서는 ESP32 로의 사용을 다루고 있으며, 전용 커넥터를 이용하여 편하게 개발하는 상황을 담고있다. 사용된 부품 목록 1.54 인치의 전자잉크 디스플레이 E-INK raw display >> 해외 구매로 진행되었다. https://www.waveshare.com/product.. 2022. 9. 7.
갤럭시탭 모니터 처럼 사용하는 방법 spacedesk 노트북이나 컴퓨터를 하다보면 모니터가 부족한 상황이 있을때가 있다. 요새는 모니터가 죄다 큼직한것을 사용하고, 듀얼모니터를 사용하니깐 컴퓨터에서는 크게 불편하진 않았다. 문제는 카페에서 노트북으로 작업을 할 때, 너무 답답함이 많이 느껴진다. 컴퓨터보다 화면도 작고, 모니터를 따로 들고 다닐 수도 없으니깐 말이다... 이런 문제를 해결할 수 있는 방법을 오늘 소개해보려고 한다. 준비물은 안드로이드 계열 태블릿PC만 있으면 된다. 필자는 갤럭시탭 S8+ 로 시연할 것이고, 옛날 갤럭시탭 S3 부터 써왔으니, 대부분의 안드로이드 태블릿은 문제없이 사용가능할 것이다. 일단 어플을 설치해주어야 한다. 태블릿을 켜고 플레이스토어에서 spacedesk 를 검색해서 설치를 진행해준다. 귀찮다면 아래 링크를 타고 들어.. 2022. 8. 31.
라즈베리파이 피코 버튼 입력하는 방법 (PULL UP 회로이용) 거의 모든 MCU의 기본이 되는 버튼 입력받는 방법을 라즈베리파이 피코에서도 해보려한다. 이제부터는 빵판(브레드보드)이 있어야 하겠다. 준비물은 라즈베리파이 피코, 빵판, 점퍼케이블, 버튼 이렇게만 있으면 된다. 대부분의 MCU에는 내부적인 PULL UP 회로가 구성이 다 되어 있다. 라즈베리파이 피코도 마찬가지로 PULL UP 회로가 내장되어 있기 때문에 코딩에서 PULL UP 회로를 사용하겠다고 명령만 해주면 된다. PULL UP 회로를 뭐고, 왜 써야하는지 잘 모르겠다면 아래 글을 읽고 오면 되겠다. https://diyver.tistory.com/18 [아두이노 강좌] 예제로 배우는 아두이노 #7 DigitalInputPullup, 아두이노 내장 pullup 저항 이용하기 - 아두이노 내부 회로에.. 2022. 7. 22.
라즈베리파이 피코 내장 온도센서 사용하는 방법 라즈베리파이 피코 내부에는 자체적으로 온도센서가 내장되어 있다. 12비트 ADC 로 값을 읽어 올 수 있는데, 이번에는 그 방법을 살펴보고 실제로 온도값을 읽어오는 시간을 가져보도록 하겠다. 온도센서는 라즈베리파이 피코의 ADC 4핀에 연결되어 있다. 육안으로 보드를 살펴보면 라즈베리파이 피코 핀에는 ADC 4 핀은 보이지 않는다. ADC 4는 오로지 온도센서만을 위한 핀인 것이다. GPIO 핀을 사용해야 하니 당연히 machine 라이브러리를 포함시켜야 하고, delay 를 걸어줘야 하니, utime 라이브러리도 포함시켜야 하겠다. 아래 코드를 복붙해서 Thonny 를 이용하여 실행해보자. import machine import utime sensor_temp = machine.ADC(4) conver.. 2022. 7. 22.
라즈베리파이 피코 시리얼 통신 여러가지 사용법 이번에는 라즈베리파이 피코를 이용해서 PC와 시리얼 통신을 하는 여러가지 상황을 다뤄보려한다. (해당 글은 Thonny 프로그램을 이용하여 라즈베리파이와 통신하므로 시리얼통신에 있어서 다른 프로그램과 차이가 있을 수 있다.) 1. 키보드 입력 받기 가장 기본이 되는 키보드 입력을 받아서 작동을 하는 코드이다. user_name = input("로그인 이름을 입력하세요 : ") while user_name != "DIYver": print("등록된 이름이 없습니다. 다시 입력해주세요.") user_name = input("로그인 이름을 입력하세요 : ") print("DIYver님 안녕하세요 ~") 피코에 올려서 테스트를 해도 되고, 파이썬 자체에서 실행해도 될 정도니, 편한대로 하면 되겠다. 파이썬의 기.. 2022. 7. 21.
라즈베리파이 피코 상세 스펙을 알아보자 라즈베리파이 피코는 아두이노와 같은 마이크로 컨트롤러이다. 남성 손에 올려놓고 보자면 크기는 상당히 작은 편이다. 다른 아두이노 보드 들과 비교해보면 아두이노 나노보다는 큰 편이다. 위에서부터 아두이노 우노 / 라즈베리파이 피코 / 아두이노 나노 / 아두이노 프로 마이크로 순으로 되겠다. 어찌보면 아두이노 우노와 나노는 스펙이 같기 때문에 아두이노 나노랑 비교하자면 라즈베리파이 피코가 소형 프로젝트에서는 더 불리할 것으로 보인다. 빨리 아두이노 프로미니나 프로마이크로 처럼 소형화된 라즈베리파이 피코를 찾는다면 위처럼 소형화 된 보드가 따로 있긴하다. 라즈베리파이 RP2040 칩만 따로 해서 직접 개발한 개발보드인듯 하다. 성능은 RP2040 이랑 똑같아서 개발 방법도 같다. 크기는 위에서 확인한대로 소형.. 2022. 7. 21.
라즈베리파이 피코(Raspberry pi PICO) 개발환경 세팅하기 micropython 라즈베리파이 피코는 아두이노처럼 각종 센서를 읽고 구동기를 작동시키는 마이크로컨트롤러이다. 코딩은 micropython 과 C/C++ 로 할 수 있다고 한다. 공식 홈페이지에 방문해서 알아보자. https://www.raspberrypi.com/documentation/microcontrollers/ Raspberry Pi Documentation - Microcontrollers The official documentation for Raspberry Pi computers and microcontrollers www.raspberrypi.com 공식 홈페이지를 방문하면 위의 화면처럼 나오는데, 여기서 MicroPython 을 클릭하고 화면을 조금 내리면 UF2 file 다운받는 링크가 있다. 자신의 .. 2022. 7. 21.
라즈베리파이 피코(Raspberry pi PICO)와의 첫만남! 지금껏 대부분의 임베디드 시스템은 ATmel 계열 MCU를 사용했었다. 아두이노 우노나 메가 등이 그렇다. (ATmega328, ATmega2560 등) ATmel 계열 MCU가 좋았던 것이, 코딩을 할 수 있는 환경이 다양해서 좋았다. ATmel studio(AVR studio), 아두이노 IDE, CodeVisionAVR 위의 프로그램이 대표적인 코딩 프로그램들이고, 현재는 아두이노 IDE가 주를 이루고 있다. 다양한 라이브러리와 코딩이 쉬워서 짧은 개발기간이 무엇보다 큰 장점이라 할 수 있겠다. 다만, 코드가 무거워지기 때문에 전통적인 레지스트리값 참조를 통한 코딩보다는 작동이 느리다는 단점이 있다. 단점이라고는 하지만, 일반적인 환경에서는 그 차이조차 느끼기 힘들다. 라즈베리파이는 아두이노 개발 .. 2022. 7. 20.
아두이노 delay 없이 1초마다 작동하는 코드 아두이노를 사용함에 있어서 고수가 되어 갈 수록 delay() 사용을 지양해야 한다. 이번에는 delay() 함수 없이 1초마다 실행하는 코드를 올려본다. 아래 코드를 복붙해서 아두이노 코딩에 쓰면 되고, loop() 함수 안에 조건문 안쪽에다 1초 마다 실행시킬 명령을 넣으면 된다. unsigned long pre_timer = 0; int repeat_time = 1000; void setup() { } void loop() { if(millis() > pre_timer + repeat_time) { pre_timer = millis(); //1초마다 실행되는 명령 } } unsigned long 타입으로 타이머를 기록하므로 적어도 30일 동안 아두이노가 켜져있어도 정상 작동하게 된다. 하지만 너무 .. 2022. 7. 18.