본문 바로가기

분류 전체보기213

소프트웨어로 구현하는 오락실 연사버턴- #1 아두이노나 라즈베리 피코 등등 여러가지로 오락실 조이스틱을 만든다는 이야기는 들어 봤을것 같다. 지금은 라즈베리파이 피코를 이용한 조이스틱 만들기 이다. 전체적인 소스코드는 아래의 링크의 소스를 참고 했다. https://github.com/FeralAI/GP2040 GitHub - FeralAI/GP2040: Gamepad firmware for Raspberry Pi Pico and other RP2040 microcontrollers supporting Nintendo Switch, XI Gamepad firmware for Raspberry Pi Pico and other RP2040 microcontrollers supporting Nintendo Switch, XInput and DirectI.. 2022. 4. 3.
아이피타임 공유기를 확장기로 사용하기 본인은 아이피타임 공유를 20년 정도 사용하다가 이제 다른 공유기를 사용한다. 변경이유는 소비자 응대에 대한 불만 때문이다. 그래서 아이피타임 공유기는 많이 있고 최근에 구매한 ASUS공유기를 연결하는 방법이다. 기존에는 아이피 타임 공유기 + 아이타임 확장기를 사용했다. - 아이피타임 확장기가 오래 사용하니 맛이 간것이 문제 이다. 그래서 2,3일에 한번 재부팅해야 했다. - AS로 문의해도 답도 주지 않고 컴맹 취급하는게 불만 이다. - 이쪽 업계에서 30년 이상 일을 해서 컴맹은 아니라고 했지만, 컴맹 취급이다. 현재 ASUS 공유기 + 아이피타임 공유기(확장기로 변경) 1. 리셋, 인터넷연결 끊은 컴퓨터에 WAN제외한 나머지 1개 선에 연결 - reset시 admin/admin - 꼭 reset이.. 2022. 3. 6.
오락실게임 세로 설정 라즈베리와 N2의 세로게임설정에 관한 이야기 이다. 사전 지식이나 다른정보가 필요합니다. 무엇 보다 다음번 세팅을 위한 개인적인 자료 입니다. 라즈베리나 N2에서 세로게임을 설정하기 위해서는 confg 파일과 overlay 파일이 필요 합니다 overlay에도 cfg파일과 png가 입니다. 여기서 나오는 3개의 파일을 만드는 방법은 다른 자료를 참고 하시 바랍니다.. 일단 여기 3개의 파일이 만들어 졌다고 가정하면 3개의 파일은 라즈베리와 N2에서 공유해서 사용 할 수 있습니다. 설정의 변경은 없습니다. 다만 서로의 위치경로가 달라서 다른 위치에 저장해야 합니다. 그리고 아래 설정 파일은 1920x1080의 FHD의 설정값 입니다. 해상도가 다른경우 달라 질수가 있습니다. /opt/retropie/con.. 2022. 2. 10.
라즈베리파이 피코 -#8 아래 코드는 브링크 예제를 기반으로 본인이 간단하게 만들어 본것이다. 크게 어려운것은 없을것이다. 파이썬도 객체지향 언어라 객체에 대해서 약간 생소하면 어려울수도 있지만, 파이썬 부터 시작한 사람이라면 크게 어려울것은 없다. 그리고 print 문장을 시리얼 통신을 하고 있지만, 크게 어렵지는 않다. 단지 아두이노 시리얼 모니터는 보다는 테라텀이나 putty 를 사용하기를 권한다. import board import digitalio import time print("Hello, World!") led = digitalio.DigitalInOut(board.LED) led0 = digitalio.DigitalInOut(board.GP0) led1 = digitalio.DigitalInOut(board.GP.. 2022. 1. 23.
라즈베리파이 피코 -#7 이제 간단하게 예제를 올려보자. 예제를 올리기전에 먼저 공부해야 할것은 피코 핀맵이다. 이정도만 공부하면 그 다음은 아두이노 우노정도의 지식만 있으면 충분하다. ​ https://learn.adafruit.com/welcome-to-circuitpython Welcome to CircuitPython! You may have seen CircuitPython mentioned on the Adafruit site or on Discord. What is it? Why would you use it? Once you have a CircuitPython board, what do you do next? This guide has you covered from the moment you plug in you.. 2022. 1. 23.
라즈베리파이 피코 -#6 최근에 공부하다가 마이크로 파이썬 보다 더 쉬운것을 하나 발견했다. 지금까지 나온것 중에 제일 쉬운것 같다는 느낌이다. 그리고 본인도 잘 모르기 떄문에 일부 오류가 있다는것을 알기 바란다. ​ https://circuitpython.org/ ​ CircuitPython 이라는것 이다. ​ 작동방법은 기존과 약간 다르다. 일단 아래사이트에서 펌웨어를 받아 올려야 한다. https://circuitpython.org/board/raspberry_pi_pico/ 펌웨어의 확장자는 .UF2 파일이다. 기존의 펌웨어를 올리는 방법과 동일 하다. boot 버턴을 누른 상태에서 연결하고 연결된 드라이버에 복사하면 된다. 마치 USB 디스크처럼 연결된 폴더에 카피 하면 된다. ​ 그리고 조금 있으면 자동으로 재연결후 .. 2022. 1. 23.
아두이노 통신 UNO TO UNO -#6 이전에 시리얼 통신으로 데이터를 받았다. 사실 주고 받는 통신은 아니다. 일반적으로 보내는 통신이다. 쉽게 말해서 제어에 가깝다고 보면 된다. 주고 받는 통신은 이것 보다 더 난이도가 높다. 우리도 생활에서 일반적으로 시키는게 더 쉽다. 그만큼 대화의 소통은 더 어려운것과 비슷하다. ... 잡담은 그만하고 앞으로 할 것은 I2C와 SPI 통신을 할 것이다. 시작하기전에 3개의 통신 모두의 연결을 보자. 공통점과 다른점만 파악해도 모두 이해 했다고 보면 된다. 물론 각각의 통신에서 다시 설명하겠지만, 오늘은 연결만 보고 가자. 그리고 잘못된점은 본인이 TinkerCad 초보라서 I2C LCD를 찾지 못해서 대충 그렸다. 이것만 제외하고 보면 된다. 이것도 I2C LCD와 그냥 LCD의 차이를 모른다면 그냥.. 2021. 12. 4.
아두이노 통신 번외편 -#4 3번까지 이해 했다면 거의 모두 이해 했다. 여기서 의문이 들어야 한다. 정의하지 않는다고 했다. 소프트웨어 시리얼, 하드웨어 시리얼.. 두개를 정의 하지 않고 사용자가 그냥 호출하는것만으로 결정되어 진다. 정의하지 않는다고 했지, 하드웨어 시리얼, 소프트웨어 시리얼 통신이라고 하지는 않았다. 그렇다. 여기서는 아무것도 정의하지 않았다. 쉽게 말해서 모든 통신을 넣을수가 있다는것이다. 지금 이야기가 정확히 이해가 안 될수도 있지만, 앞으로 I2C와 SPI를 통해서 코드를 보면서 이해 하도록 하자. 이전내용에 대한 전체 코드다. #include #include SoftwareSerial sSerial= SoftwareSerial(2, 3); //HardwareSerial& sSerial = Serial2;.. 2021. 11. 20.
아두이노 통신 번외편 -#3 이제 번외편 마지막이다. 이전에 인자만 다르고 동일한 함수를 두개 만들어서 사용했다. 아두이노 메가 처럼 하드웨어시리얼도 많고 소프트웨어 시리얼도 가능하다면 유용한 코드가 될것이다. 그래도 동일한, 유사한 함수가 두개라는것은 좀 그렇다. 그래서 최종적으로 진화하는 템플릿으로 진화 하는것이다. 변수의 타입, 객체의 형태를 정의하지 않는것이다. 정의하지 않는 형태가 바로 템플릿이다. template void read_serial(Info& _info, T& ss) { memset(&_info, 0x00, sizeof(Info)); if (ss.available()) { char c; char *p; p = (char*)&_info; while( (p - ((char*)&_info)) < sizeof(Info.. 2021. 11. 20.