본문 바로가기

전체 글92

ESP WROOM32로 OLED 제어하기 (128x64 OLED) ESP WROOM32로 OLED를 제어해보고자한다. 내가 사용한 OLED는 아래와 같다. https://www.devicemart.co.kr/goods/view?no=1384209 128x64 OLED 디스플레이 블루 [DO1286496BY] 아두이노 호환 OLED display / 백라이트 없이 작동 / 대각선 화면 크기 : 0.96' / 픽셀 수 : 128 x 64 / 작동 전압 : 3.3 ~ 5V DC / 인터페이스 : I2C www.devicemart.co.kr 1. 라이브러리 설치 먼저 OLED를 제어하기 위해서 필요한 라이브러리를 설치해야한다. 라이브러리를 추가해주기 위해 라이브러리 관리에 들어간다. ssd1306을 검색하고 adafruit에서 만든 것을 선택한다. 대충 최신 버전을 설치해준다.. 2021. 9. 24.
ESP WROOM 32 아두이노IDE에서 사용하는 법 아두이노 IDE에서 환경설정에 들어간다. (Mac: Arduino > Preference, Win: File > Preference) 추가적인 보드 매니저 URLs에 https://dl.espressif.com/dl/package_esp32_index.json을 입력해준다. 그 후 툴 > 보드 > 보드 매니저에 들어간다. esp32를 검색하면 한 가지 항목이 나타난다. 위에 추가적인 보드 매니저 URLs를 입력하지 않으면 이게 뜨지 않는다. 나타난 항목을 설치해준다. 이제 툴에 가면 보드가 ESP32 > ESP32 Dev Module이 나타난다. 이를 선택해주면 위 사진과 같이 관련된 다양한 내용이 나타난다. 이 상태에서 작업을 해주면 된다. 2021. 9. 15.
라즈베리파이4 시작하기 - OS다운부터 부팅까지 초기 설정 ● 라즈베리파이4 초기 설정하는 순서 ● 1. SD카드에 OS다운받기 2. 라즈베리파이 부팅하기 필요준비물: SDcard, SDcard리더(option), 컴퓨터(노트북) 라즈베리파이, 마우스, 키보드, 모니터, HDMI선, 랜선(option) 1. SD card에 OS다운 받기 1-1. Imager 다운로드 https://www.raspberrypi.org/software/ 에서 Raspberry Pi OS – Raspberry Pi The Raspberry Pi is a tiny and affordable computer that you can use to learn programming through fun, practical projects. Join the global Raspberry Pi c.. 2021. 9. 14.
[c++] 이중 벡터 초기화 선언하고 사용하기 벡터를 선언하고 초기화해서 바로 사용할 때 vector v(number,value); ㅤ 이렇게 쓰면 number개 개수의 공간만큼에 value값을 넣고 초기화를 하는 것이다. 예를 들면 vector v(4,100)이면 v에는 {100,100,100,100}이 들어간채로 초기화된다. 그렇다면 이중 벡터는 어떻게 초기화 할 수 있을까 생각을 해봤다. (사실 헷갈려서 정리함) ㅤ vector vv(number,value); ㅤ 를 하려면 n은 똑같이 만들고싶은 vector 개수만큼 적으면 되고 v에는 vector의 값을 넣어줘야한다. 근데 int값은 vector와 다르니까 vector의 초기화된 형태를 넣어주면 된다. 위에서 말한 것 처럼 vector의 초기화를 하면 된다. 예를 들면 ㅤ vector vv(.. 2021. 9. 12.
아두이노 12v 워터펌프 모스펫 회로도 연결법과 소스코드 쿨링 팬과 똑같습니다. 왼쪽 상단이 12V 워터 펌프, 그 밑이 모스펫, 맨 밑에는 12V 전원이 연결된 아두이노입니다. 1~4번 부분에 대해 설명하겠습니다. 1: 모스펫에 V+, V- 라고 적혀있는 부분이 있습니다. 그 부분에 연결하려는 모터(워터 펌프)의 + / - 부분에 맞게 연결합니다. 2: 모스펫에 VIN, GND라고 나란히 적혀있는 부분은 12V의 전원과 GND와 연결되어야합니다. 3. SIG, VCC, GND라고 적혀있는 부분입니다. 이 부분에서 VCC와 GND에는 연결이 없어도 됩니다. SIG는 아두이노로부터 신호를 받습니다. 이를 통해 모스펫이 12V 워터 펌프를 제어할 수 있습니다. 아래는 소스코드 입니다. 모터라서 그냥 쿨링팬과 소스코드가 같습니다. int fan = 4; void s.. 2021. 9. 1.
아두이노 12v 쿨링팬 모스펫 회로도 연결법과 소스코드 왼쪽 상단이 12V 쿨링팬, 그 밑이 모스펫, 맨 밑에는 12V 전원이 연결된 아두이노입니다. 1~4번 부분에 대해 설명하겠습니다. 1: 모스펫에 V+, V- 라고 적혀있는 부분이 있습니다. 그 부분에 연결하려는 모터(쿨링팬)의 + / - 부분에 맞게 연결합니다. 2: 모스펫에 VIN, GND라고 나란히 적혀있는 부분은 12V의 전원과 GND와 연결되어야합니다. 3. SIG, VCC, GND라고 적혀있는 부분입니다. 이 부분에서 VCC와 GND에는 연결이 없어도 됩니다. SIG는 아두이노로부터 신호를 받습니다. 이를 통해 모스펫이 12V 쿨링팬을 제어할 수 있습니다. 아래는 소스코드 입니다. int fan = 4; void setup() { pinMode(fan, OUTPUT); } void loop().. 2021. 9. 1.
알고리즘(코테) 스터디 [포도농사] 파일 공유 및 사용법 목차 1. 파일 공유 2. 구글 드라이브 이용 스터디 세팅 법 지난 게시글에서 알고리즘(코테) 공부법을 소개해 드렸습니다. 이번에는 지난 게시글에서 소개해드린 포도농사 스터디법에 사용된 양식을 공유하고자 합니다. 아래는 엑셀 파일입니다. 이 파일을 가지고 혼자 공부하셔도 좋지만!! 스터디를 하시는 경우 공유가 필요합니다. 이 때 구글 드라이브 공유 문서를 이용합니다!! 1. 구글 드라이브 들어가기 2. 새로 만들기 > 스프레드 시트 > 빈 스프레드 시트 3. 파일 > 열기 > 업로드 새로 생성된 빈 스프레드 시트에서 파일 > 열기를 누르면 파일열기 창이 뜨는데 거기에서 업로드 탭을 누른 후 다운받은 포도농사 엑셀파일 (알고리즘 공부 엑셀파일) 을 선택합니다. 그러면 다음과 같이 업로드가 됩니다!! 4. .. 2021. 8. 26.
알고리즘 공부, 코테 스터디 하는 법 공유!! - 알고리즘 문제 풀이 순서, 공부 방법 (1) - 비전공자/문제풀이 처음: https://waytocse.tistory.com/114 - 알고리즘 문제 풀이 순서, 공부 방법 (2) - 전공자/문제풀이 초보: https://waytocse.tistory.com/115 아래에서 다루는 것은 위에 다루는 내용도 일부 포함되어있고 다른점은 3번!입니다 :) 목차 1. 알고리즘 공부 사이트 2. 알고리즘 공부 시작 하는 법 3. 코테 공부 / 스터디 하는 법 공유 1. 알고리즘 공부 사이트 보통 알고리즘을 공부할 때 백준(https://www.acmicpc.net/), 프로그래머스(https://programmers.co.kr/)를 많이 이용합니다. 삼성 역량테스트에 관심있는 분들은 SW Expert Acad.. 2021. 8. 26.
[에러해결] 깃헙 토큰 받고 push하는 법 정리 - remote: Password authentication is temporarily disabled as part of a brownout. Please use a personal access token instead. 깃허브에 커밋하고 푸쉬하려했더니 remote: Password authentication is temporarily disabled as part of a brownout. Please use a personal access token instead. remote: Please see https://github.blog/2020-07-30-token-authentication-requirements-for-api-and-git-operations/ for more information. fatal: unable to access 'https://github.com/ellynhan/algorithm.git/': The requested URL returned error: 403 위와 같은 에러 메세지가 떴.. 2021. 7. 1.
2021 삼성전자 대학생 인턴 합격.. 지난번에 면접 후기 게시글 썼었는데.. 아마 그 글을 본 사람은 알겠지만 나는 엄청 낙담해있었다. 실제로 면접보고와서 집 카페트 위에 대자로 누워서 엉엉 울었을 정도로 돌이켜볼수록, 생각해볼수록 망했던 면접이었다 그래서 사실 오늘, 아니 어제! 실험 발표때문에 종강하기 전이었는데 발표하기전에 메일이 온 것을 보고, 어차피 불합격일 것 같으니 멘탈이 흔들리지 않도록 발표가 끝날때까지 확인하지 않았었다. 종강을 한 후 확인해보았다. 결과 확인 버튼을 누르기 전에 안좋은 결과가 나올 게 뻔하지만 덤덤하게 받아들이자 하면서 마인드컨트롤을 다시 한 번 했었다. 그런데 웬걸, "죄송합니다"같은 안타까운 문장이 있을 줄 알았는데 "축하드립니다"가 먼저 보였다. 이전에 SW역량테스트 합격 결과를 다시 본건가 싶어서 몇.. 2021. 6. 22.
0-1 knapsack problem 가방에 최대 무게가 있고 그 무게 안에 물건을 넣는데 물건의 가치가 최대로 넣는 경우를 구하는 문제. Brute force로 문제를 풀면 모든 가능한 부분집합의 경우를 비교해보면 되므로 2의 n번을 비교해보게 된다. 예를 들어 보석1, 2, 3, 4 가 있고 각각의 무게와 가치가 있을 때 0부터 최대 가방무게 n까지 열의 속성으로 두고 0부터 최대 보석 가지수를 4개까지 행이 속성으로 두어서 보석 가지 수⑊가방 무게 0 1 2 .. n 0 0 0 0 0 1 0 2 0 3 0 4 0 이런 식으로 테이블이 만들어진다 생각하고 이해해보면 쉽다. 처음에 이 문제를 이해하려고 했을 때 많이 애를 먹었던 부분이 왜 보석을 여러개를 안넣고 1개만 넣는거지??였다. 예를들어 보석1의 무게가 1이면 가방 무게가 2이므로.. 2021. 6. 9.
다익스트라 알고리즘 Dijkstra's algorithm 일정 시간 복잡도 다익스트라 알고리즘은 시작 정점이 정해져있다. 정점을 선택해가며 진행하고 각 정점까지 총 가중치를 합한 값을 저장하고 비교해 나간다. 앞서 살펴본 프림 알고리즘의 일정 시간 복잡도와 유사하다. T(n) = 2(n-1)(n-1)로 모든 정점을 방문하기 위해서는 시작 정점을 제외하고 n-1개의 정점을 방문해야한다. 그러므로 repeat n-1번을 해준다 (가장 바깥쪽 반복문) 이 repeat내부에서는 각 정점까지 현재 진행상태에서의 최단거리를 비교하고 (n-1번) 이동할 정점을 고른 후에는 다시 각 정점까지의 거리를 업데이트한다 (n-1번) 그렇기 때문에 (n-1 + n-1)(n-1) = 2(n-1)(n-1)이 되는 것이다. 의사 코드를 보면 다음과 같다. void dijkstra(int n, const n.. 2021. 6. 9.