본문 바로가기

728x90
반응형
SMALL

분류 전체보기

(153)
[RPI/Python] 라즈베리파이 PSD 센서 사용 하기 ― ADS1115로 아날로그 값 읽기 라즈베리파이를 사용하여 PSD센서값을 받아보겠습니다. 라즈베리파이는 라즈베리파이3 B를 사용하였고, PSD센서는 Sharp사의 것을 사용하였습니다. 또한, PSD의 센서값은 아날로그값인데, 라즈베리파이는 아두이노와 다르게 ADC(Analog-to-Digital Converter)가 내장되어 있지 않아 따로 ADC를 달아야 합니다. 그래서 저는 4채널 16bit ADC 모듈 ADS1115를 사용하였습니다. 이제 각 부품의 datasheet를 참고하여, 핀을 연결합니다. ADS1115 라즈베리파이 3 B PSD(2Y0A21) Pin 연결 Python 라이브러리 설치 Adafruit ADS1x15 Python library를 설치합니다. sudo apt-get update sudo apt-get install..
[RPI/Python] 이미지 전체화면 보기, 바꾸기 라즈베리파이로 python으로 로봇을 움직이면서 표정을 디스플레이 해볼려고 했는데요. 이미지를 전체화면으로 띄우고, 몇 초 뒤에 다른 이미지로 넘어가게 해보았습니다. 어떻게할까 고민후, 기본 이미지 뷰어로 이미지를 띄우고 파이썬 키보드 제어 라이브러리 pyautogui을 이용하여 전체화면 : F11키 다음 이미지 보기: 화살표 Up버튼 으로 해결하였습니다. 기본 이미지 뷰어가 아닌 Tkinter GUI를 만들어 사용한 아래 예제는 아래 포스팅 하였습니다. [코드/Python] - [RPI/Python] Tkinter(GUI)로 이미지 전체화면 보기, 바꾸기 ― 애니메이션 이미지 파일 보기, GUI 쓰레드 사용하기 이미지 보기 xdg-open {파일경로} 터미널에서 위의 커맨드를 통해 이미지 파일을 볼 수..
리눅스/우분투/라즈베리파이 XV image Viewer 설치 리눅스에 XV image Viewer를 설치할건데요. 단순히 sudo apt-get install xv 로 설치되지 않습니다. build가 필요합니다. 차근차근 따라해주세요. 아래 커맨드를 차례대로 입력해주세요. sudo bash cd /tmp wget ftp://ftp.trilon.com/pub/xv/xv-3.10a.tar.gz wget http://www.ulich.org/hints/resources/xv-3.10a-jumbo20050501-1.diff.gz wget http://www.ulich.org/hints/resources/xv-3.10a-jumbo-patches-20050501.tar.gz tar xvzf xv-3.10a.tar.gz tar xvzf xv-3.10a-jumbo-patches..
[RPI/Python] 라즈베리파이(or 리눅스) TTS 음성 출력 TTS: TextToSpeech, 즉 텍스트를 음성으로 출력해보겠습니다. TTS 오픈소스는 다양하지만, 한글을 읽고 싶기 때문에 한국어를 지원해주는 eSpeak를 사용해보겠습니다. 라즈베리파이 오디오 설정 오디오 단자에 스피커를 꽂고, 아무 소리나 재생했더니 소리가 나지 않았습니다. 알고보니 출력단자를 HDMI로 잡고 있었던 것. 디스플레이를 위해 사용한 HDMI는 소리가 나지 않으므로 출력 단자를 바꾸어 줍니다. sudo raspi-config 위처럼 입력하여 설정화면 진입 후, System Options > Audio 그럼 위의 그림 처럼 HDMI1로 선택되어 있는 것을 Headphones로 바꾸어 줍니다. 소리가 잘 나오는 것을 확인 할 수 있습니다! eSpeak 설치 sudo apt-get ins..
[안드로이드 Kotlin] Room Database, Repository, ViewModel을 Koin으로 의존성 주입(DI) Koin DI(Dependecy Injection, 의존성 주입)는 구성요소들의 의존관계가 소스 내부가 아닌 외부에서 설정되도록 하는 디자인 패턴입니다. public class PetOwner{ private AnimalType animal; public PetOwner() { this.animal = new Dog(); } } 위와 같은 예제 코드 처럼 PetOwner()클래스는 Dog()클래스에 의존적인 상황이 되겠죠. 따라서 하나의 클래스만 변경하여도 의존한 다른 모듈까지 변경되는 상황이 됩니다. DI 디자인 패턴을 사용하면 객체의 생성과 사용을 분리시켜 재사용이 유연해집니다. Koin은 다른 의존성프레임워크인 Dagger2와 달리 러닝커브가 높지 않습니다. 기존 Repository는 singlet..
[안드로이드] 키보드 숨기기 버튼을 누르면 키보드를 숨길 수있도록 아래 메서드를 버튼 클릭 받는 부분에 추가 해 줍니다. /** * Hiding keyboard after every button press */ private void hideKeyboard() { InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE); //Find the currently focused view, so we can grab the correct window token from it. View view = getCurrentFocus(); //If no view currently has focus, create a new one, just..
[dynamixel] 다이나믹셀 Error 종류 정의되지 않은 Instruction이 전송된 경우, 또는 reg_write명령없이 action명령이 전달된 경우 1로 설정됨 Overload Error 설정된 Torque로 현재의 하중을 제어할 수 없을 때 1로 설정됨 Checksum Error 전송된 Instruction Packet의 Checksum이 맞지 않을 때 1로 설정됨 Range Error 사용범위를 벗어난 명령일 경우 1로 설정됨 Overheating Error 다이나믹셀 내부 온도가 Control Table에 설정된 동작온도 범위를 벗어났을 때 1로 설정 Angle Limit Error Goal Position이 CW Angle Limit ~ CCW Angle Limit 범위 밖의 값으로 Writing 되었을때 1로 설정됨 Input V..
[RPI/Python] ModuleNotFoundError 해결하기 라즈베리파이3에서 Python을 사용하다가 'ModuleNotFoundError'가 나왔습니다. ModuleNotFoundError: No module named 'module_name' 이에 생각해볼것이 3가지 입니다. (본인은 마지막에서 해결되었음.) 1. Dependecy가 설치되어 있지 않음 >>> from pypot.creatures import PoppyTorso Traceback (most recent call last): File "", line 1, in from pypot.creatures import PoppyTorso ModuleNotFoundError: No module named 'pypot' pypot 이름의 module이 없다고 하니 설치해주어야 합니다. 콘솔에서 다음과 같이..

728x90
반응형
LIST