전체 글 290

FND, CATHOD or ANODE ( 뭐를 써야대?)

FND 는 LED 의 묶음과도 같다. 그래서 LED 제어를 Anode 로 할 것인가? 아니면 Cathode 로 할 것인가 결정해야한다 장단점이있지만 2가지 종류에 대해서 이해하자 CC Type ( Common Cathod) FND 를 는 7개의 LED 의 조합을 사용한다 여기서 Cathode 를 GND 로 묶으면 Anode 는 각 채널이 제어하여 LED 를 켤 수 있다. 이때 장점은 '1' 은 켜지고 '0' 은 꺼지고 아주 간단한 제어 논리를 세울 수 있지만 Drive 쪽에서 전류를 공급해야하기때문에 출력기의 전류량을 고민해야한다. 대표적인 공통 캐소드 타입으로 각 LED 가 Drive 전압/전류를 공급해줘야 한다. 전용드라이버IC 는 이방식을 선호하는데 이유는 출력 전류 조절을 통해 밝기 제어가 되기 ..

카테고리 없음 2021.08.02

[Step6] SmartwallClock, I2C 핸들링하기

참고 사이트 : https://raspberry-projects.com/pi/programming-in-python/i2c-programming-in-python/using-the-i2c-interface-2 https://pypi.org/project/smbus2/ raspi-config 명령어를 입력하여 i2c 인터페이스 Enable 한다. 아래 명령어를 통해 i2c device 가 활성화 되었는지 확인 ls /dev/*i2c* i2c -1 포트가 활성화 되었음을 확인할 수 있습니다. i2c detect 를 통한 장치 연결 및 address 확인 apt-get install i2c-tools i2c tools 이 설치되어있지않다면 설치 i2cdetect -y 1 아까 검색했던 i2c 1 번에 연결된 ..

해킨토스, 윈도우 시간이 틀어질 때 방법

1. 윈도우 설정->시간 및 언어->날짜 및 시간->자동으로 시간 설정 해제 2. 윈+R "regedit"입력하고 엔터 3. 레지스트리 창의 상단바 : 컴퓨터\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation 3-1. 오른쪽 빈공간 우클릭-> 새로만들기-> DWORD 32bit값 선택 3-2. 만든값을 우클릭-> 이름 바꾸기 "RealTimeIsUniversal" 입력 3-3. 만든값을 우클릭-> 수정 후

Hakintoshi 2021.07.25

HID over I2C

참고 사이트 : https://docs.microsoft.com/ko-kr/windows-hardware/drivers/hid/hid-over-i2c-guide Microsoft는 장치가 I²C(Inter-Integrated Circuit) 버스를 통해 통신할 수 있도록 하는 새로운 HID 미니포트 드라이버를 만들었습니다. 새로운 HID 미니포트 솔루션은 USB 및 Bluetooth를 넘어 HID 프로토콜을 확장하여 I²C 장치를 지원합니다. I²C는 간단하지만 효율적인 프로토콜이며 전화 및 임베디드 플랫폼에서 10년 이상 사용되어 왔습니다. 이 프로토콜은 HIDI2C.sys라는 기본 제공 KMDF 드라이버에 의해 Windows 8에서 지원됩니다. 인박스 드라이버에서 HID를 통한 I²C 지원이 결합되어..

HID 2021.07.23

리눅스 커널 소스 ( Linux Kernel Source )

참고 사이트 : http://wiki.kldp.org/Translations/html/The_Linux_Kernel-KLDP/ 1. Kernel : 리눅스 커널 동작을 제어하는 기본 기능 2. mm : 리눅스 커널의 메모리 관리 (물리메모리, 가상메모리) 3. fs : 가상 파일 시스템 , 서브 디렉토리 아래에 각종 파일 시스템이 존재 : vfat / ext2 같은 서브디렉토리가 있다. 4. net : 각종 네트워크 프로토콜에 관한 코드 5. ipc : System V IPC ( 공유메모리, 세마포어, 메시지) : IPC 란 : Inter-Process Communication, 프로세스 간 통신 6. init : 리눅스 커널을 부팅할 때 호출되는 각종 초기화 처리의 본체 : 커널이 어떻게 동작하는지 보..

Unix & Linux/Kernel 2021.07.21

라즈베리파이 크로스컴파일

참고사이트 : https://wikidocs.net/3243 1. 툴체인 설치 git clone https://github.com/raspberrypi/tools ~/tools 2. $ PATH 환경 변수를 업데이트 echo PATH=\$PATH:~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin >> ~/.bashrc source ~/.bashrc 3. 소스 받기 git clone --depth=1 https://github.com/raspberrypi/linux 4. 소스 빌드 sudo apt install git bc bison flex libssl-dev make 5. 소스 및 장치 트리 파일을 빌드하려면 다음 명령 cd lin..

Unix & Linux/Kernel 2021.07.19

NUCLEO-F411RE, 소개

ST 사은품으로 받은 Nucleo F411 EVK 보드입니다. 앞으로 무엇으로 활용해볼지 고민중입니다. ( 21.07.15) 박스에 설명된 내용 유첨합니다. 앞으로 개발시 필요할 수 있는 정보가 있을 수 있습니다. Github Open Project 으로 소스코드 공개합니다. ( 현재 21.07.15 기준으로는 초기화 소스만있음 ) https://github.com/leehands-society/evk_stm32f411_nucleo.git 1. 주기적인 Polling Interrupt Clock Source 는 Internal Clock 사용 : 즉 Clock Source 는 84 Mhz , Prescaler : 8400 --> 10kHz Counter Period : 10000 --> 1Hz ( 1s )

<Step5> 유용한 Tooling 설치하기 ( Samba )

1. 윈도우에서 소스코딩하기위한 삼바 설치 apt-get install samba 일단 기본적으로 패키지 설치가 안되어있기때문에 삼바를 설치한다. smbpasswd -a pi 설치가 끝나면 사용중인 계정 (Pi) 의 삼바 접근 암호를 설정합니다. vim /etc/samba/smb.conf 다음으로는 삼바로 공유할 폴더를 지정해줍니다. pi 의 홈폴더를 공유하도록 합니다. 삼바로 접속할 라즈베리파이제로 이름을 바꿔줍니다. ( 2개 작업 필요) vim /etc/hosts vim /etc/hostname 위 설정이 다 끝났으면 삼바 서버를 재시작합니다. sudo /etc/init.d/smbd restart ----------------------------------------------------------..