Software 24

[1] Colab Python 시작하기 별거 없는데 모든게 다 있다.

구글 코랩https://colab.research.google.com Google Colab colab.research.google.com왜 Python 인가문법이 쉽다. 개발을 몰라도 시작을 쉽게 할 수 있다. 사용할 수 있는 영역이 넓다. 이걸로 AI 관련 데이터까지도 뽑아 낼수 있다고 한다. 변수 설명--> 변수의 개념을 설명해주고 실제로 어떻게 코딩을 시작하는지 알려 줄 있었다. 더하기 --> 여기에 input 을 사용해주면 더욱 좋은 내용이 완성된다. 빼기나누기크기 비교반복문계산기 만들기AI 사용해서 계산기 복잡하게 만들기 ?여러 문법들 보다 학생들 특강에서는 AI 생성을 통해서 어떻게 질문을 하고 코드가 완성이 되는지 보여주면 학생들의 반응을 볼 수 가 있었다. 예제 코드 만들기 GUICOLA..

Automotive Vehicle System: SOME/IP Protocol

최근 자동차 부품들이 SW기반으로 확장성과 변경이 용이하도록 설계가 되어 가고 있다. 마치 핸드폰처럼 하드웨어 변경이 아니라 SW 업그레이드를 통해서 기능의 향상을 하도록 되어 가고 있다. 자동차는 안전부품들과 라이프타임이 10년이라서 새로운 기능을 추가하기 쉽지 않은 구조이다. 그래도 점점 업그레이드를 할 수 있는 구조로 변해가는 추세이다. 왜냐면 SW가 주요처리를 하기 때문이다. 그래서 CAN 통신으로 전체 차량을 제어하는게 한계가 된 부분들이 있기에 각각의 ECU들이 Ethernet으로 연결이 되고 이후에 각ECU들이 새로운 기능을 사용이 자유롭게 이루어 지도록 SOME IP라는 프로토콜을 요구하고 있다. 그래서 간단히 정리를 해본다. SOME IP: Scalable Service Oriented ..

R3 UNO + WiFi (ATmega328 + ESP 8266) CH340 셋팅

알리에서 부품들을 대략적인 생각으로 구입을 했더니 정확하게 사용하는 방법을 몰라서 삽질을 하게 되더라. 보드에 WiFi는 있어야 나중에 MQTT 나 무선으로 명령을 보낼 수 있을 것 같아서 싼가격에 구입을 했는데 Dip switch로 조절 한다는 것을 몰라서 한동안 사용을 하지 못하고 있어다. Dip switch를 사용하고 싶은 목적에 맞게 ON을 해주고 하면 되더라. 하나씩 배워가면서 하고 있지만 계획을 만들고 시작해야겠다. 산으로 갈 수도 있겠다. 1. CH340 usb 드라이버는 필수 설치. 검색하면 중국사이트가 나온다. 2. Dip Switch를 3, 4번 ON 해주고, UNO WiFi 보드선택을 하고 프로그램 업로드 해본다. 3. 이후에는 ESP8266 용 보드 설치해주고 새롭게 프로그램 올려보..

Arduino 부품 테스트

발란스 로봇을 위한 부품들이 와서 하나씩 테스트를 해보는 중이다. 문제해결: 알리에서 구입한 아두이노는 usb 드라이버를 설치해 줘야한다. 드라이버 설치 이후에도 인식이 안되면 usb케이블도 바꿔 보고 아두이노 자체를 바꿔서 확인을 해봐야한다. 인식이 안되는 보드랑 usb도 있을 수 있다. UNO 보드는 코드 업로드 에러 발생하고 나노 보드USB 인식 안되는 현상은 해결이 안되서 새로 나노보드를 하나 구해서 테스트 중이다. 아두이노는 라이브러리 코드가 잘 되어 있어서 손쉽게 접근을 할 수 있었다. 조금만 더 정리해서 조립 및 움직임을 완성해야 겠다. 1. LED 점등 완료 with RTOS lib. 2. 초음파, 자이로, 서브모터 동작 확인 완료 다음 단계: 각 센서들을 동시에 처리하기 위해서 task처..

Microcontroller Memory Architecture 스펙 (아두이노 나노)

알리에서 저렴한 아두이노를 샀더니 USB인식이 되는 것도 있고 안되는 것도 있네... 일단 동작이 되는 아두이노 나노가 있어서 이걸로 테스트를 시작했다. 시작은 나노의 스펙부터 확인하면서 칩을 선택을 할때 메모리를 어떻게 고려야 해야하나 고민을 하게 되었네 프로그램을 할 수 있는 Flash memory 가 32KB 이고 SRAM 이런게 2.5KB 이다.

Arduino 개발 준비

우연히 옆자리에 러시아친구가 개인프로젝트로 로봇청소기를 만들고 있는걸 봤다. 3D프린터로 외형을 뽑고 모터를 돌리고 제어를 하고 있는 모습을 보니까 갑자기 나는 무엇을 할 수 있을까? 생각이 들었다. 그래서 어릴적부터 한번쯤 만들어보고 싶었던 자동차를 만들어 보기로 마음 먹었다. 일단 검색을 해보니 알리에 부품이랑 완제품까지 모든게 다 팔고 있었다. 왠지 완제품을 사서 하다가 포기하면 돈만 날린다는 생각에 빵판부터해서 아두이노를 이용해서 간단히 해볼 수 있는 것을 장바구니에 담기 시작했다. 그렇게 담아서 구매를 누르니까 완제품 가격이랑 비슷하게 나오더라. 그래도 대학다닐때는 아무것도 몰라서 시작도 못했는데 요즘은 정보가 넘쳐나기에 삽질을 어느정도 하면 만들수 있을 것 같은 자신감이 생기더라. 두바퀴로 균..

Dangling Pointer_ChatGPT code review

댕글링 포인터는 포인터가 값이 존재하지 않는 메모리주소를 가르키고 있다는 것이다. 댕글링 포인터가 발생이 되면 시스템에서 심각한 문제가 발생이 된다. Segment fault 라는 크래쉬가 발생이 된다고 보면 된다. A dangling pointer is a pointer that pointers to some non-existing memory location which means a deallocated memory block. A dangling pointer occurs at the time of the object destruction when the object is deleted or de-allocated from memory without modifying the value of the ..