일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 다이나믹셀
- 로보티즈
- 엠블록
- Ollo
- 아두이노
- 업로드모드
- 코딩봇
- Robotis
- 절벽아래은둔자
- 크롬드라이버
- c#
- 효용감
- 아두이노코딩봇
- MBLOCK
- chromedriver
- Dynamixel
- mysql4
- testautomation
- ChatGPT
- 테스트 자동화
- automation
- 올로
- CM-50
- TP4056
- NocoDB
- 테스트자동화
- arduino
- 무명의개발자
- QA
- hutc
- Today
- Total
목록전체 글 (30)
Hermit Under the Cliff

이것은 코스트코에서 구입한 야외등 입니다. 조도센서와 모션센서를 이용하여 밤에 움직임이 있을 때 불을 켜 주는 역할을 하게 됩니다. 전원은 AA 건전지 세 개가 사용이 됩니다. 문제는 이걸 달아놓았더니 들어가는 건전지 값이 만만치 않습니다. AA 건전지를 다른 전지로 바꾼 뒤 충전이 가능하게 하면 나름 괜찮을 것 같은 생각이 듭니다. 우선 아두이노 코딩봇을 만드느라 18650 배터리를 비롯하여 멀티미터, 인두기, TP4056 모듈 등 여러가지를 질렀으니, 가능할것 같아 확인을 해봅니다. 이 제품은 야외에서 사용되는 것까지 고려가 되어 방수처리가 되어있어서 건전지 넣는 부분 외의 부분을 뜯으면(아주 힘겹게 뜯어야 합니다) 방수는 물건너가게 됩니다. 모든 배터리 및 충전 모듈을 AA 건전지 3개가 들어갈만한..

코딩봇의 하드웨어와 소프트웨어 모두 어느정도 완료가 되어 이를 이용하여 따님께 코딩 공부를 시키기위해 우선 간단한 코드를 엠블록 프로그램을 통해 작성해 주었습니다. 이런식으로 머리를 좌우로 돌리면서 좌우방향의 거리를 측정하는 프로그램인데 distance1, distance2를 엠블록의 변수로 선언하여 값을 저장해 주려고 합니다. 하지만 이런 간단한 프로그램을 업로드를 하려고 하니 에러가 발생합니다. 자동으로 생성된 코드를 보면 아래와 같이 distance1, distance2에 값을 할당해 주는 부분은 제대로 적용이 되었습니다만, distance1, distance2의 값을 선언해 주는 부분이 자동으로 생성이 되지 않습니다. 엠블록을 가지고 여러가지를 하다보면 느끼는거지만 잘 나가다가 꼭 뭔가 하나를 빼..

따님을 위해서 시작했다가 본격 아빠가 즐기게된 프로젝트 아두이노 코딩봇 만들기의 거의 마지막 단계입니다. 각종 부품들과 회전하는 머리에 대한 구조를 고민하다가 저의 경우는 아래와 같이 구성을 하였습니다. 배터리의 크기가 너무 커서 배치하기가 조금 어려웠는데 18650 배터리 대신 사이즈가 작은 리튬 폴리머를 사용하는게 더 나을 것도 같지만 이미 글루건으로 붙여버려서 이대로 놔두기로 했습니다. 선들도 길이 생각 안하고 그냥 이어버려서 엄청 지저분해 보이는데 이게 또 수제의 느낌이 나기도 하고 해서 그냥 내버려둡니다. 우선, 충전 가능한 코딩봇을 만들고 싶었기 때문에 18650 배터리와 TP4056 모듈을 이용하여 배터리를 충전할 수 있도록 하였습니다. 이제 코딩봇을 USB-C 타입으로 충전이 가능합니다. ..

이제 간단하게 달아줄 수 있는 모듈들은 거의 다 달아준 것 같습니다만 실제 로봇 처럼 머리를 움직여 주면 따님이 더 좋아할 것 같습니다. 로봇의 머리에다가 초음파 센서를 옮겨 달아서 고개를 좌우로 돌리면서 좌우의 거리를 측정할 수 있도록 만들어 줄까 합니다. 머리를 움직여 주기 위해서는 모터가 필요합니다. 아두이노 스타터킷에 들어있는 모터 중 SG90이라는 서보모터를 사용해 봅니다. 서보 모터는 0~180도 까지의 지정된 각도로 모터의 움직임을 제어해 줄 수 있습니다. 사용되는 선은 세개로 Vcc, GND와 Signal 선입니다. 각각 5V, GND와 9번 핀에 연결을 해 준 뒤 간단하게 동작확인을 해 줍니다. #include "Servo.h" Servo microServo; int servo = 9; ..

코딩봇을 자작해 나가면서 점점 이 프로젝트의 목적이 따님을 위한 코딩봇 제작이 아니라 저의 재미를 위한 프로젝트가 되어가고 있습니다. 초심을 되찾고자, 따님의 관심을 끌 만한 것을 추가하기로 합니다. mBlock의 블록 중에는 아래와 같이 NxN Dot Matrix의 모양을 설정해 주는 기능이 있습니다. 컴퓨터에서 찍은 도트로 된 그림들이 로봇에 표시가 되면 따님이 좋아할 것 같으니 한번 장착을 해보도록 합니다. 그런데 문제가 있습니다. 아래와 같이 8x8 짜리 Dot Led 모듈에는 핀도 행/열의 수와 같이 8개씩 총 16개의 핀이 있습니다. 아두이노에 바로 연결하기에는 핀이 모자랍니다. 이런 비슷한 경험을 대학교때 뭔가 배웠던 것 같은데 졸업한지 오래되어 기억이 나지 않아 검색을 해 봅니다. 쉬프트 ..

제가 C#을 처음 접한 것은 10여년전 쯤 이직과 함께 새로운 업무를 맡게 되면서 입니다. 그 전까지는 C# 코드들을 슬쩍 보면서 이거 완전 자바랑 비슷한데? 정도의 생각만을 가지고 있었죠. 10여년간의 시간동안 C#과 함께 하면서 (가끔 파이썬이나 코틀린, 러스트, 고 등으로 외도를 잠깐씩 하긴 했지만) 이제는 파이썬 같은 스크립트 언어로 작성을 할 것 까지 C#으로 커버를 할 때도 있을만큼 C#을 좋아합니다. 물론 제가 밥을 벌어먹고 사는 업무가 Windows 환경에서의 테스트 Tool 개발이다 보니 Windows의 UI를 가장 쉽고 빠르게 작성을 할 수 있는 언어가 C#이라서 더욱 좋아하는 점이 없진 않지만, Windows UI를 제외하고 나서라도 C#은 훌륭한 개발언어입니다. (물론 그 중 Vis..

mBlock의 업로드 모드로 사용을 하다보니 중간 중간 로봇의 속도를 조절해서 가지고 놀고 싶다는 따님의 요구가 있었습니다. 그래서 푸쉬 버튼을 달아 누를 때 마다 속도를 저속 - 중속 - 고속으로 변경해 주는 기능을 넣기로 했습니다. 현재의 구조에서 버튼이 눌려진 이벤트를 처리하기에는 인터럽트를 사용하는 것이 제일 편하고 쉬울 것 같아서 이 부분을 알아보았습니다. 인터럽트는 특정한 인터럽트 신호가 들어오면 기존에 실행하던 코드들의 동작을 정지하고 인터럽트로 정의된 코드를 실행 후 다시 기존 실행하던 코드로 돌아오는 행동을 말합니다. 쉽게 예를 들자면 회사에서 쇼핑몰에서 열심히 지름 목록을 추가하고 있다가 부장님이 자리로 가까이 오시는 듯 하면 (인터럽트 신호) 쇼핑몰 창을 빠르게 내리고 (기존 코드 동..

이번에는 위와 같이 초음파 센서를 추가하여 장애물과의 거리를 측정할 수 있게 만들어 보려고 합니다. 초음파센서는 위 사진에서 보시는 것과 같이 두 개의 눈 같은게 있는데 (아래쪽에 있는겁니다.) 하나는 Trig 다른 하나는 Echo이며 Trig에서 보낸 초음파 신호가 Echo에 도달할 때 까지의 시간을 측정하여 장애물과의 거리를 알아 낼 수 있습니다. 초음파의 이동속도는 초당 340m 이므로 거리는 시간 x 속도의 공식으로 구할 수가 있습니다. 이를 아두이노 코드로 작성을 하면 아래와 같습니다. int ultraSonic_trig = 7; int ultraSonic_echo = 6; int distance; void setup() { pinMode(ultraSonic_trig, OUTPUT); pinMo..