본문 바로가기

전체 글377

아두이노 무작정 따라하기.강좌.강의(2) 앞장의 강좌 아두이노 무작정 따라하기.강좌.강의(1) 에서, 아두이노 무작정 따라하기.강좌.강의※ 참고. 이 블로그에서 최종적으로 만드려는 것은 바퀴가 2개 달린 작은 자동차이다. 앞에는 초음파센서가 달려있어서 전방에 장애물이 있으면 자동으로 멈출 것이고, 핸드폰의 블루트수 통신을 이용해서 좌,우,..newbie-developer.tistory.com컴퓨터를 이용해서 LED를 On/Off 하는 기능을 구경해보았다. 그런데 #위 그림에서는 작은 LED를 연결했지만, 만약 집에 있는 형광등으로 연결되는 전선을 저렇게 연결했다면, 아두이노를 이용해서 컴퓨터로 형광등의 전원을 On/Off 할 수 있는 것이다. #위 그림에서는 작은 LED가 연결되어있지만, 만약 전기를 가하면 돌아가는 모터를 연결했다면? 그리고 .. 2020. 4. 13.
아두이노 무작정 따라하기.강좌.강의 ※ 참고. 이 블로그에서 최종적으로 만드려는 것은 바퀴가 2개 달린 작은 자동차이다.앞에는 초음파센서가 달려있어서 전방에 장애물이 있으면 자동으로 멈출 것이고,핸드폰의 블루투스 통신을 이용해서 좌,우,앞,뒤로 이동이 가능한 자동차이다.완성된 자동차의 모습은 아래와 같다. 아두이노와 관련된 좋은 설명자료. 인터넷강의. PPT 등이 여기저기 널려있기 때문에이론적이고 구구절절한 내용은 생략한다. 아두이노를 이용해서 할 수 있는것들이 굉장히 많이 있는데,다음과 같은 것을 할 수 있다. 다음은 컴퓨터로 글자 'a'를 적고 Enter키를 누르면 LED가 켜지고, 글자 'f'를 적고 Enter키를 누르면 LED가 꺼지는 기능을 아두이노로 구현한 것이다. 영상에 화면이 잘 안보이겠지만 'a'라고 적고, 'f'라고 적고.. 2020. 4. 13.
Atmega128 MCU에 대하여 MCU란 무엇일까?? MCU는 몰라도 일반적으로 CPU가 무엇인지는 알고 있을 것이다. CPU는 컴퓨터의 두뇌역할을 하는 장치로, 사람들이 만든 SW를 실제로 수행하는 장치이다. 그런데 우리가 컴퓨터를 사용할 때 각종 파일들을 저장할 공간이 필요한데, 대부분 하드디스크 라는 곳에 파일들을 저장하게 된다.(최근에는 SSD라는 장치에 저장하기도 한다.) 또한 우리가 프로그램을 실행하기 위해서는 하드디스크에 저장된 파일들이 RAM이라고 하는 메모리에 위치해야한다. 그래야 비로서 CPU가 램으로 이동된 SW를 실행하게 된다. 이 처럼, CPU는 SW를 수행하는 역할만 할 뿐이다. CPU가 정상동작을 하려면 메모리,하드디스크 등의 별도의 하드웨어가 더 필요하다. 다시 MCU로 돌아와서, MCU는 Micro Con.. 2020. 4. 8.
정적검증과 미즈라씨 Misra-C 정적검증은 소스 코드 그 자체를 툴이 검사해서 혹시 문제를 일으킬 소지가 있는 것을 알려주는 작업이라 하였다. 정적검증을 이야기하면서 항상 나오는 것이 바로 Misra-C (미즈라씨) 이다. 정적검증툴이 소스코드를 검사할 때, 문제가 있는지 없는지를 판단하는 기준이 있어야 될 것이다. 그런 기준은 툴마다 조금씩 다르고 아주 다양한 기준이 있다. 그런 기준들중에서 국제적으로 표준처럼 쓰이는 Rule이 바로 Misra-C 이다. 미즈라씨가 제공하는 Rule 이 실제로 무엇인지 정리된 문서는 돈주고 사서 봐야한다. 정적검증 오류로 예를 들었던 초기값이 없는 지역변수 선언 이라던지.. 포인터를 잘못사용했다던지.. 그런 에러를 유발할 수 있을 법한 상황들을 100~170개 정도 나열 해놓은것이 미즈라 씨이다. 참.. 2019. 7. 6.
정적검증 ( 학교에서 하던 sw랑 회사에서 쓰는 sw는 뭐가 다를까?) 나는 오래전부터 궁금했다. 학교에서 과제로 하는 SW(코딩)과 회사에서 쓰는 코딩은 어떤 차이가 있을까? 일단 회사에서 만드는 SW는 돈 받고 파는 제품이니까 안전한 SW를 만들어야 될 거 같은데..특히 자동차는 사람 생명과 연관되어있으니 더욱 더 안전하게 만들어야 할 것 같은데 SW를 안전하게 만든다는게 어떤 개념인지 전혀 감이 안 왔다. 아직도 모르는 것 투성이지만.. 일단 회사에서 만드는 SW는 학교에서 과제로 하던 SW와 다른점이.. 평가/검증 조직이 따로 있다는 점. 그리고 평가/검증을 받는다는 점이다. 다양한 평가/검증 방법, 프로세스, 툴, 기법이 있다. 컴퓨터공학과를 전공했지만 ‘SW 테스팅’ 이라는 개념 자체를 아예 몰랐다. (지금도 사실 잘 모른다.) 심지어 국제 SW 테스팅 자격증. .. 2019. 7. 5.
컴퓨터 SW . 그리고 2진수에 대하여 컴퓨터에 대해서 이야기 하려면 2진수 이야기를 안 할 수가 없다. 임베디드가 아니라 일반 컴퓨터 SW를 하더라도 우리는 2진수를 무조건 알아야 한다. 유명한 사실이지만 컴퓨터는 모든 정보, 숫자를 0과 1로 표현하고 구분한다. 1은 전기스위치가 ON 된 것, 0은 전기 스위치가 Off 된 것이다. 그렇다면 2진수는 대체 어떻게 사용하는 것일까? 일반적으로 우리가 사용하는 10진수에 대해서 알아보자. 예를 들어 10진수 3254가 있다고 생각해보자. 10³ = 1000 10²=100 10¹ = 10 1 3 2 5 4 10진수 3254의 (3은 10의 3제곱 = 1000) 에 3을 곱해서 3000 (2는 10의 2제곱 = 100 ) 에 2를 곱해서 200 ( 5는 10의 1제곱 = 10 ) 에 5를 곱해서 .. 2019. 7. 4.
임베디드가 뭘까? MCU가 뭘까 ?? 임베디드 임베디드 단어는 아주 옛날부터 많이 들어봤었다. 그런데 정확한 정의를 모르겠다. 임베디드가 뭘까? 임베디드 SW는 컴퓨터(PC) SW랑 뭐가 다른걸까?? 일단 이해를 돕기 위해 가장 간단히 설명하면 임베디드 = 컴퓨터다. 편의상 구분짓기 위해서 임베디드 라고 칭하는 거지 임베디드도 사실 그냥 컴퓨터다. 근데 키보드,마우스,모니터가 없는 컴퓨터다. ( 대신 간단한 버튼 몇개와 LCD화면, LED 램프 등이 달려있다.) 임베디드SW랑 컴퓨터SW는 뭐가 다를까? 본질적으로 똑같다. 임베디드 개발자가 개발하는 SW가 사실은 PC에도 이미 깔려서 돌아가고 있다. (윈도우와 같은 OS, 그리고 각종 HW 드라이버들 ) 윈도우 OS는 컴퓨터를 사면 자동으로 깔려있고.. 키보드도 마우스도 컴퓨터를 켜면 알아서.. 2019. 7. 3.
공부한 내용 정리해두는 낙서장 공부를 열심히 해놓아도 시간이 조금만 지나도 금방 까먹다는걸 요즘 많이 느낀다. 그래서 배운것들을 주절주절 적어두기 위해서 블로그를 만들었다. 아주 정확한 내용이 아니라 아~대충 그런식으로 굴러가는거구나 . 하고 흐름을 이해할 수 있도록 글을 쓸 생각이다. 내가 임베디드 개발을 직업으로 삼게 될 줄은 회사에 입사하는 날까지도 몰랐다. 대학생들 요즘에는 심지어 초등학생들도 배운다는 아두이노 조차 써본적이 없고, 빵판에 LED 달아서 켜고 끄는것 조차 해본적이 없었다. 아두이노는 물론 Atmega128, 라즈베리파이 등등 대학생들도 많이 쓰는 MCU 이름도 들어본적이 없었고 당연히 써 본적도 없었다. 임베디드는 내 인생과 전혀 연관이 없는 분야였다. 그러다가 회사에 취업해서 어쩌다보니 각종 액츄에이터를 제어.. 2019. 7. 3.