본문 바로가기

전체 글

[카이로스2기] STM32 기초 : 실무에서 쓰는 마이크로 컨트롤러 배우기 3D 모델링을 뒤로하고, 다시 배선과 코딩의 시간이 돌아왔다!특히 이번에 배우는 STM32는 어린 친구들부터 접하는 아두이노와 다르게 현업에서 많이 사용하는 마이크로 컨트롤러라고 하여 기대가 컸다.😻결론적으로 찍먹해본 STM32는 확실히 어렵지만 강력한 친구임을 느낄 수 있었다.카이로스 2기에서 다룬 STM32 후기를 아래와 같이 간단히 소개한다!👾 1. STM & Cube IDE2. 기본 동작(LED 켜기/모터 연동)3. Serial 통신4. Clock & Timer 5. PWM 제어 1. STM & Cube IDESTM32는 ARM Cortex-M 기반의 마이크로 컨트롤러로, 아래 사진처럼 아두이노와 비교하면 훨씬 많은 핀을 가지고 있다.아두이노와의 차이는 각 항목마다 조금씩 더 적어보려고 했으니.. 더보기
[카이로스2기] Fusion360 기초 : 2D 스케치부터 3D 모델링까지 도면 자체를 본 적도 거의 없는 비전공자인 나에게 3D 모델링은 정말 공대생들만 할 수 있는 미지의 영역이었다.카이로스 2기 교육을 통해 Fusion360(퓨전360) 툴을 배우고, 3D 모델링을 진행해볼 수 있었다!시작은 미약하지만 그래도 서보모터, 로봇암, 그래퍼까지 만들어본 후기! 시작하겠습니당🙌 1) 2D 설계먼저 '스케치'를 통해 2D 도면을 그리는 연습을 했다. 이 면을 기준으로 '돌출'을 통해 3D로 만들 수 있기 때문에, 이 단계에서 정확한 스케치를 하는 것이 중요하다.단축키 'd'를 통해서 치수를 기입할 수 있어 각 선 간 거리나 원의 지름/반지름, 선 간 각도 등을 고정해줄 수 있다. 특히 '구속'이라는 개념에 익숙해져야 하는데, 구속은 객체들 간 흐트러짐이 없도록 서로 잡아두는 것이.. 더보기
[카이로스2기] 딥러닝 기초 흐름 이해하기 : 고양이 사진을 인식해보자! 아두이노를 잠시 뒤로하고, AI 로봇을 만들기 위한 딥러닝 기초 교육을 받았다.이번 게시물에서는 어렵지만 정말 흥미로웠던 딥러닝 교육 후기를 작성해보고자 한다.😸 딥러닝을 이해함에 있어서 제일 중요한 것은 메인 흐름을 잡는 것이라고 생각한다.결국 같은 흐름 내에서 어떤 모델을 만들거나 쓸 것인지, 하이퍼 파라미터를 어떻게 조정할 것인지, 이런 부분들을 사람이 바꾸게 되는 것이니, 이 흐름만 이해해도 딥러닝에 부딪쳐보기에는 충분한 것 같다! 지금부터 설명할 내용은 크게 아래와 같다.▶데이터 불러오기 > 살펴보기 > 정규화 > 모델 생성 > 모델 컴파일 > 학습 > 평가 > 예측(▶ load data > data inspection > normalization/scaling > model create > .. 더보기
[카이로스2기] 아두이노로 쉽게 하는 미니 프로젝트!(RC카, 로봇암, 밸런싱로봇) 카이로스2기 아두이노 수업에서는 과정 중 다양한 미니 프로젝트 실습을 진행하고 있다.☺미니 프로젝트는 제공받은 기본 아두이노 키트를 기반으로 해서 배운 것들을 적용해볼 수 있고, 특정 목표를 가지고 하니 시행착오를 거치며 더욱 많은 것을 배울 수 있었다.이번 게시물에서는 우리 반에서 만든 세가지 종류의 미니 프로젝트를 사진과 영상과 함께 소개하려고 한다!RC카🚗 > 라인 트레이싱로봇암🤖 > 관절별 각도 움직이기밸런싱로봇🚲 > 두 바퀴 균형잡기RC카🚗1) RC카 조립하기먼저 아두이노 키트와 보드를 사용하여 RC카를 조립하였다. 맨 아래층에 DC모터 두대와 모터를 조종하기 위한 모터 컨트롤러, DC 모터의 회전을 측정하기 위한 엔코더 등이 들어간다. 모터는 아두이노에서 나오는 기본 5V로는 전력이 부.. 더보기
[카이로스2기] 비전공자가 처음 만나는 아두이노! 기초부터 OLED까지 카이로스 2기를 시작하며 제일 기대했던 부분은, 당연히 하드웨어를 처음 만지는 수업이었다!비전공에 소프트웨어만 다뤄본 나로서는 회로에 대해서는 빵판이라는 단어로 처음 들었을 정도로 무지했으나, 다행히 수업을 따라가면서 금세 적응할 수 있었다. 특히 주언어가 파이썬이지만 C++을 배운 적도 있었고, 아두이노에서 사용하는 C++은 포인터를 사용하지 않는 간단한 내용이라, 강사님께서 다뤄주시는 내용만으로도 잘 따라갈 수 있었다.😊 감격의 첫 LED 점등 😺LED의 경우는 필요한 전력이 많지 않아서 저항을 사용하지 않으면 터져버릴수 있다고 한다! 저항은 몇 옴인지에 따라 줄무늬가 다르게 되어있어 이를 읽는 법도 배웠다. 저항과 LED가 꽂혀있는 것은 흔히 빵판이라고 부르는 것인데, 특이점은 +와 -는 세로 .. 더보기
8. DFS로 푼 그래프 문제 (백준 4963 파이썬) 정말 그래프 문제는 아마도 푸는 방법이 다양한 것 같은데 일단 DFS로 풀었다. 반복되는 걸 느끼는 순간 재귀 못놓아.. 그래서 이번에도 필연적으로 또 Recursion Error만났죠.. 하지만 생각해보니 BFS도 재귀하면 되는걸.. 다음에는 시도해보는걸로.. https://www.acmicpc.net/problem/4963 4963번: 섬의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도 www.acmicpc.net 문제 정사각형으로 이루어져 있는 섬과 바다 지도가 주어진다. 섬의 개수를 세는 프로그램을 작성하시오. 한 정사각형과 가로, 세로 또.. 더보기
7. 그래프에 대하여 (백준 7562 파이썬) 접근법은 잡은 것 같지만.. 여전히 어려운 그래프..문제들.. 저 표들만 보면 일단 눈물이 나고..^^ 그래도 재귀 Recursion Error 난거 말고는(그게 문제지만) 얼추 맞았어서 함께 올려본다.. 실버도 이렇게 어려운데 골드는 어케 풀죠?ㅎㅎ 도전할 생각도 안드는중.. 실버는 한다면 될 것 같은 느낌이라도 나는데 약간 골드는 도전하고 싶지가 않다..ㅎ https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net 문제 체스판 위에 한 나이트가 놓여져 .. 더보기
6. 기본정렬에 대하여- 버블정렬, 선택 정렬, 삽입 정렬(백준 2750 파이썬) 기본 오브 기본 정렬 문제도 풀어보았다. 내가 기억하는 애들은 기본적인 버블정렬, 선택정렬, 삽입정렬 그리고 대망의 퀵정렬이다. 아마도 앞의 정렬들은 직접 구현하기보다 파이썬의 sorted()나 .sort()를 써서 해결할 것 같고, 실제 구현을 하게 될 애는 시간복잡도 nlogn에 빛나는 퀵정렬이 아닐까 한다. 백준에 정렬 기본 문제는 2750(브론즈1)과 2751(실버5)가 있는데, 차이는 주어지는 수의 크기 차이로, 실버 문제는 일반 정렬로는 시간초과가 나오지 않을까 예상이 간다. 그래서 오늘은 2750번은 버블정렬, 선택정렬, 삽입정렬 3가지로 풀어보고, 다음 게시글에서 2751번은 퀵정렬을 구현하는 시간을 가져보겠다. https://www.acmicpc.net/problem/2750 2750번:.. 더보기