콘텐츠로 바로가기

now0930 일지

이런저런 생각

  • 홈
  • 비공개
  • 강좌
  • 잔여 작업 조회
  • 위치

sensehat i2c led2472g

I2C에 연결된 LED Matrix 밝기 제어

sensehat 모듈에 LED matrix가 i2c로 설치, 연결되어 있다. LED2472G가 각 연결된 LED를 제어하는데, AVR이 i2c로 라즈베리 파이와 LED2472G 를 중계한다. LED를 제어한다고 LED2472G datasheet를 찾으면 별 도움이 안된다. AVR로 led를 어떻게 제어하는지 잘 공개되지 않은 듯 하다. 아무리 찾아도 c로 작성한 코드를 찾을 수 없다. i2c 0x46에 0~191까지 밝기를 전송하면 led 밝기를 제어할 수 있다. 아래 game of life python 코드를 보면 대충 어떻게 돌아가는지 알 수 있다.

shell로 i2cset으로 한 개씩 램프를 껐다. 0x46번은 LED matrix 노드 번이고, 0 ~ 191까지 led 램프 위치를 말하는 듯 하다. 뒤에 255, 0은 밝기다. 컬러 코드를 넣는 방법이 있는데, 아직 잘 모르겠다.

pi@raspberrypi:~/rasp/sense_temperature $ i2cset 1 0x46 1 255
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will write to device file /dev/i2c-1, chip address 0x46,
data address 0x01, data 0xff, mode byte.
Continue? [Y/n] y
pi@raspberrypi:~/rasp/sense_temperature $ i2cset 1 0x46 1 0
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will write to device file /dev/i2c-1, chip address 0x46,
data address 0x01, data 0x00, mode byte.
Continue? [Y/n] y
pi@raspberrypi:~/rasp/sense_temperature $ i2cdetect 1
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c-1.
I will probe address range 0x08-0x77.
Continue? [Y/n] y
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- 1c -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- 46 -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- 5c -- -- 5f 
60: -- -- -- -- -- -- -- -- -- -- 6a -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                   

shell로 0부터 191까지 해보면 led가 꺼지지 않는데 루프를 만들어 돌리면 한 번에 꺼진다. 구매 5일만에 led를 껐다.

고수는 frame buffer를 만들어서 하는 것 같은데, 아직 잘 모르겠다. 정말 필요한지도 모르겠다.

참조 사이트

  • game of life
  • sensehat unchained
  • C language demonstration code
  • Writing a Basic Framebuffer Driver
  • underground-software/sensehat

이 글 공유하기:

  • Tweet
발행일 2022-02-11글쓴이 이대원
카테고리 생활코딩 태그 c, i2c, kernel, led2472g, linux

댓글 남기기응답 취소

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.

글 내비게이션

이전 글

sensehat i2c hts221

다음 글

sensehat i2c led2472g(2)

2025 5월
일 월 화 수 목 금 토
 123
45678910
11121314151617
18192021222324
25262728293031
4월    

최신 글

  • common mode, differential mode 2025-05-11
  • signal conditioner, 신호 처리기 2025-05-10
  • strain gage 2025-05-09
  • 칼만 필터 2025-05-01
  • positioner(I/P) 2025-04-26

카테고리

  • 산업계측제어기술사
  • 삶 자국
    • 책과 영화
    • 투자
  • 생활코딩
    • LEGO
    • ROS
    • tensorflow
  • 전기기사
  • 피아노 악보

메타

  • 로그인
  • 엔트리 피드
  • 댓글 피드
  • WordPress.org

페이지

  • 소개
  • 잔여 작업 조회
    • 작업 추가
    • 작업의 사진 조회
    • 작업 수정 페이지
  • 사진
    • GPS 입력된 사진
    • 사진 조회
  • 위치
    • 하기 휴가 방문지
    • 해외 출장

태그

android bash c docker driver FSM gps java kernel LEGO linux mysql network program opcua open62541 plc programmers python raspberry reinforcementLearning ros state space system program tensorflow transfer function 경제 미국 민수 삼국지 세계사 실기 에너지 역사 유전자 일본 임베디드 리눅스 전기기사 조선 중국 채윤 코딩 테스트 통계 한국사 한국어

팔로우하세요

  • Facebook
now0930 일지
WordPress로 제작.