본문 바로가기

분류 전체보기210

Make IT! Arduino -#06 코딩하기 이번것도 조립에 비해 코딩은 별다른 어려움은 없다. 지금까지 잘못된 초음파 센서 코딩도 정확하게 되어 있다. 그리고 5번 코딩과 거의 유사 하기 때문에 약간만 수정하면 되기 때문에 큰 어려움은 없다. 약간의 설명을 하면 전진 하다가 초음파 센서로 앞에 장애물이 발생하면 후진하고 위회전 하고 전진하는 개념이다. 코딩을 보면 쉽게 알수 있을것 같다. 이것도 코딩에 대한 오류는 발견하지 못했다. #define RMOTOR1 9 #define RMOTOR2 10 #define LMOTOR1 5 #define LMOTOR2 6 #define speed HIGH #define epin 3 //초음파 에코 #define tpin 2 //초음파 트리거 void setup() { pinMode(RMOTOR1 , OUTP.. 2020. 8. 4.
코딩 이야기 #2 사실 나는 알고리즘을 만들지 않는다. 그러고 보면 코딩도 하지 않는다. 예전에 연구원에 있을때, 수학적인 모델이나 알고리즘만 제공해 주면 나는 단지 코딩만 했다. 쉽게 말해서 내가 만든 알고리즘은 아니다. 개발자가 아무리 뛰어 나더라도 그 전공자 만큼은 아니다. 예를 들어 핵분열 모델을 코딩한다고 하자. 핵분열에 대한 물리적인 모델이나 그 이론에 대해서 공부해야 한다. MIT나 하버더, 서울대 에서 수십년 그곳에서 공부한 박사님들하고 나는 이론적인 배경 자체가 다르다. 아무리 열심히 한다고 해도 내가 그 알고리즘을 이해 조차 하기 힘들다. 다음은 코딩도 하지 않는다는 말의 이유다. 나도 20때는 열심히 코딩을 했다. 그리고 내가 만든코딩과 유명한 사람과 비교도 했다. 내가 열심히 열심히 하면 할 수록 느.. 2020. 8. 3.
Make IT! Arduino -#05 코딩하기 저번에 조이스틱에 대한 코딩을 했기 때문에 모터에 대한 코딩을 하면 된다. 조이스틱의 기을기에 대한 속도 변화가 없는 코딩이기 때문에, 모턴 쉴드, DC 모터를 다루어본 경험이 있다면 그다지 어렵지 않을것으로 보인다. 그리고 자동차의 전진,후진은 코딩에 의해 결정될수도 있고, 모터에 연결한 선의 연결방법에 의해서 결정될수도 있기 떄문에 생각을 해서 잘 연결 할 수도 있고, 다 하고 코딩으로 조절해도 될것 같다. #define RMOTOR1 9 #define RMOTOR2 10 #define LMOTOR1 5 #define LMOTOR2 6 #define speed 250 void setup() { pinMode(RMOTOR1 , OUTPUT); pinMode(RMOTOR2 , OUTPUT); pinMod.. 2020. 8. 2.
코딩 이야기 #1 코딩을 할때 무엇 부터 하시나요 ? 변수선언 ? 함수선언 ? 인클루드 ? 사람마다 다양하겠죠. 물론 다양합니다. 구글이나 IBM이나 자기 회사것이 표준이고 좋다고 우기는 상황에서, 스스로가 방법을 정의하고 본인 나름데로 원칙을 정하는게 정답일수도 있죠. 저같은 경우 가끔 코딩을 배우로 오는 사람에게 4가지만 가르칩니다. 그리고 다른것은 처다보지도 말라고 하죠. 예를 들어 swich 같은게 대표적입니다. 물론 while도 사용하지 말라고 하고요. if나 for로 충분히 대체 가능하기 때문에 처음하는 사람들이 굳이 공부 할 필요가 없다고 이야기 하죠. ... 어째던 저는 변수, 함수, 조건, 반복 이렇게 4가지만 가르칩니다. 이것만 이해해도 충분히 코딩이 가능하다고 이야기 합니다. 그 언어가 C가 되던, 파.. 2020. 7. 22.
Make IT! Arduino -#05 조립하기 2부 Make IT! Arduino -#05 조립하기 2부 #05 축구로봇만들기 축구로봇 만들기는 조이스틱으로 모터를 조정해서 움지이는 교재이다. 그런데 조이스틱 상자의 설계상의 문제로 상자의 두껑을 조립하고 조정하면 뚜껑에 의해서 조이스틱의 범위가 제한 된다. 그리고 조이스틱 상자의 두껑을 제거하면 조이스틱 상자의 사각벽에서 또 범위가 제한 된다. 조이스틱 상자를 크게 만드는 방법과 차라리 조이스틱 바닥판만 만들고 상자를 그냥 없는것이 더 좋아 보인다. 이게 의도한 것이라면 소프트웨어의 수정이 필요한것 같은데 의도하지 않았다면 하드웨어적인 설계 오류로 판단된다. void setup() { Serial.begin(115200); } void loop() { int Jox = map(analogRead(A0),.. 2020. 7. 20.
Make IT! Arduino -#05,06 조립하기 #05 축구로봇만들기 #06 청소로봇만들기 두가지 주제가 비슷하고 로봇만들기 라는 공통점도 있고, 같은 문제점을 가지고 있는것을 생각해 볼때 조립에 관해서 같이 하는게 좋을것 같다. 두개다 로봇이라고 하지만 사실은 자동차에 가깝다. 하나는 조이스틱 조정 자동차, 하나는 초음파 센스를 이용한 자율주행 자동차 이다. 가지고 있는 문제점들은 보안하고 개선해야 될것 같다. 1. 두개의 개별 교재물품 속에는 모터 드라이버가 없다. 1.1 추가로 제공된 여분의 부속품에 모터 드라이버가 있기는 한데, 어째던 하나는 조립을 하지 못한다. 2. 여전히 공차의 문제점이 존재 한다. 조립하기가 3번 만큼은 아니지만 어럅다. 2.1 1,2번 처럼 공차 여유도를 크게 해야 한다. 3. 고정이라는 문제점이 존재한다. 3.1 1,.. 2020. 7. 18.
Make IT! Arduino -#04 보안 저금통 만들기 Make IT! Arduino -#04 보안 저금통 만들기 3번에 고생해서 그런지 4번은 하드웨어적으로 거의 껌이다. 정말 쉽게 조립했다. 그래도 여전히 공차에 문제가 좀 있다. 줄이나 칼로 잘라버리고 조립했다. 1,2번 교제와 비교하면 1,2번 처럼 공차를 조금 크게 하면 될것 같다. 1,2번 교제가 딱 좋은것 같다. 공차를 제외 하면 하드웨어적인 오류는 없다. 그런데 이번 단계를 소프트웨어적인 오류가 좀 보인다. 1. 디지털핀을 출력으로 하기 위해서는 핀모드를 아웃풋으로 해야 한다. 1.1 교제에서는 이부분이 없다 명백한 오류다. 2. 키패드를 사용하기 위해서 keypad 라이브러리를 설치하라고 되어 있다. 2.1 설치에 대한 상세한 설명은 제외 하고도 정확히 어떤 라이브러리를 설치하라는 이야기가 없.. 2020. 7. 14.
Make IT! Arduino -#03 자동포탑 만들기 일단 시작하기전에 미리 이야기 하면, 처음에도 이야기 했지만 본인은 어느 누구보다도 조립을 못한다고 생각한다. 하드웨어 장난감 제작에는 소질이 없다고 생각한다. 본인이 똥손임을 감안해서 보면 좋을것 같다. 1,2번에 비해 조립난이도가 상당하다. 조립하는데 8시간은 투자한것 같다. 그것도 DC모터 고장으로 다시 분해하는 사건도 발생했지만, 항상 그렇지만 조립하기 전에 개별 부품 테스트가 먼저다. 사실 귀찮아서 잘 하지 않지만 그것 만큼 중요한것도 없다. 괜히 시간 낭비 하는것이다. 하드웨어적인 문제점을 이야기하면, 항상 그렇지만 이것도 문제점으로 받아 드릴수도 있고 아닐수도 있다. 본인이 생각하는 문제점이다. 1. 다른 모형에 비해 공차 간격이 너무 좁다. 조립하기가 어렵다. 1.1 다이소에서 파는 줄까지.. 2020. 7. 12.
Make IT! Arduino -#02 방문 경고등 만들기 Make IT! Arduino -#02 방문 경고등 만들기 2번째 주제는 초음파 센서를 이용한 경고등이다. 거리에 따라 부저를 통한 소리와 RGB LED 출력으로 색깔을 표현한다. 1번 예제보다 더 쉬운 조립이다. 굳이 목공풀을 사용하지 않아도 될 정도로 결합도 잘 된다. 1번에서 발생했는 인쇄 문재점도 없었다. 그런데 문제점이라고 판단되는것은 책자에 있는 소프트웨어 부분이다. 코딩에서 다소 오류라고 판단되는 부분이 있다. 정확히 만든사람의 의도가 없어서 어떻게 하면 되겠다는 이야기는 할 수가 없다. 그래서 내가 만들면 이렇게 만들겠다는것은 배제하고 오류부분만 이야기 하고자 한다. 1.1번 예제와 마찬가지로 거리에 대한 표현이다. 거리계산 공식이 잘못 되었다. 2. LED 출력핀의 핀모드 이다. 아날로그.. 2020. 7. 5.