[RPI-PICO] 라즈베리파이 피코로 쥬크박스 만드는 C/C++ 코드 해설

Posted on

아래와 같은 하드웨어 구성으로 만들었습니다. 라즈베리파이 피코 RP2040 1대Waveshare expander quad 1대Waveshare Pico-Audio Rev.1 (PCM5102A 채택 기종)Waveshare Pico-LCD-1.44 (ST7735S 채택 기종)SPI microSD 카드 모듈 (level shifter 없는 기종)USB-A male micro-USD male 케이블 2개 라즈베리파이 피코는 RP2040을 채택한 라즈베리파이 재단 제품이구요.Waveshare expander quad는 모두 합해 4개의 모듈을 달아쓰게 되어 있는 확장보드입니다.Waveshare Pico-Audio rev.1은 TI의 PCM5102A를 채택한 …

[RPI-PICO] Level shifter

Posted on

Level shifter는 전자회로에서 나가고 오는 전압 레벨을 핀마다 조정하는 장치를 뜻합니다. 연결된 회로마다 작동하는 전압이 다르다면 level shifter 설비를 해서 조정하게 됩니다. 제일 흔한 로직 레벨은 1.8V, 3.3V, 5V이구요. 보통 회로가 3.3V로 작동한다고 하면 서로 다른 전압을 3.3V로 조정한다는 의미가 됩니다. 다른 전압 입력이나 출력을 한다면요. 단방향과 양방향 level shifter가 존재하구요. 양방향은 또 여러 유형으로 …

[플러터] just_audio 패키지로 효과음 지연 시간없이 재생하는 방법 해설

Posted on

타국어로 썼던 글을 직접 번역하기가 귀찮아서 이번글은 그록한테 번역을 맡겼습니다. 번역 품질이 좋네요. 오타가 몇군데 있을 수도 있으니 주의하시길요. just_audio (https://pub.dev/packages/just_audio)는 Android, iOS, macOS, 웹, Linux, Windows용 기능이 풍부한 오디오 플레이어입니다. 가장 뛰어난 기능은 재생 모드를 재설정하는 데 매우 낮은 지연 시간을 가진다는 점으로, 길고 복잡한 연결 해제, 해체, 재설정 과정 없이 다음 오디오를 준비하는 …

디자인 패턴을 잘 기억하는 한 방법

Posted on

흔히 이공계통은 외어서 한다고 하기도 합니다. 이 말들이 옳은 부분도 있겠지만 대부분의 경우 이런 조건에 빠지지 않게 잘 받아들이십니다. 제가 이 말을 하는 이유는 이러한 이해가 갖는 추천되는 마인드가 아니면, 공부하는 방법을 저해하기도 해서네요. 대부분의 기술자분들은 긍정적인 마인드로 업무에 임하셔야 해서 한 문제에 대해 심도있게 사유하시니 공부법에 대한 다른 이해를 잘 안하십니다. 보통은 문제가 없는데, …

SOLID 설계의 원칙 5 – 의존 역전 원칙

Posted on

의존 역전 원칙(dependency inversion principle)은 이렇다. 분석철학자는 아래 그림처럼 심리철학에 의존 관계가 있다. 이 경우 분석철학자의 관심사는 심리철학 뿐아니라, 예술철학과 언어철학에도 의존적인데, 이 경우 의존적인 것을 표현하려면 아래처럼 하면 된다. 이 경우 분석철학자가 하는 철학 분야를 넘나들때 구체적인 철학 분야들(심리철학, 예술철학, 언어철학 등등)이 아닌 추상화된 상위 범주인 분석철학에 의존하게 해서 구체적인 다른 철학 분야로 변경되도 …

SOLID 설계의 원칙 4 – 인터페이스 분리 원칙

Posted on

인터페이스 분리 원칙(Interface Segregation Principle)은 인터페이스를 분리할때 지켜야 할 원칙을 말한다. 앞서 단일 책임의 원칙을 준수하기 위해 클래스를 쪼개서 독립된 클래스로 만들고 속성과 메소드를 분배해서 두었다. 이 경우에 만능 개발자 클래스는 사라지고 각각으로 쪼갠 클래스만 존재하게 되었다. 이 경우에 인터페이스를 써서 분리하면 이점이 있는 경우가 있게 된다. 만능 개발자 클래스는 그대로 두고, 각각의 쪼갠 클래스를 …

SOLID 설계의 원칙 3 – 리스코프 치환 원칙

Posted on

리스코프 치환 원칙(Liskcov Substitution Principle)은 클래스 상속의 구조가 지켜야 하는 원칙을 말한다. 보통 상속을 말할때, inheritance라는 단어의 의미에 주목하면 부모클래스, 자식클래스로 분류할 수 있다. 이로부터 상속의 구조를 구성하면 아래와 같이 된다. 일종의 가족의 계보도와 같은 계층이 그려지는데, 이를 객체지향 문법으로 구현하면 아래처럼 된다. 부모 돌쇠 = new 아들(); 그러나 부모라는 타입이 아들을 의미할 수 있는가? …

SOLID 설계의 원칙 2 – 개방 폐쇄 원칙

Posted on

개방 폐쇄 원칙(OCP – Open Closed Principle)은 클래스 자신의 확장에는 열려 있고, 주변의 변화에 대해서는 닫혀있어야 한다는 원칙이다. 종교인이 종교활동을 하는 예를 들어보자. 기독교인은 예배를 드린다. 반면 카톨릭 신자는 미사를 드린다. 그리고 불교 신자는 108배를 한다. 기독교인은 찬송을 부르고 카톨릭 신자는 복음성가를 부르고 불교 신자는 불경을 외운다. 즉 종교인의 활동은 종교가 변하면 행동에도 변화가 생긴다. …

1 2 3 21