여기서는 실제 센서 회로보드를 연결하고 데이터를 수집하는 과정을 보여준다. 어렵지 않으므로 쉽게 따라 할 수 있다. 아래는 ORP 센서를 마이크로 컨트롤러와 연결할 때 참고한다. 센서 인터페이스를 UART와 I2C 모드를 변경할 때 참고할 링크는맨 아래 참고 링크를 보기 바란다.

Atlas Scientific™ EZO™ 클래스 회로가 I2C 모드인지 확인한다. 라즈베리 파이와 함께 EZO™ 클래스 회로를 사용하려면 먼저 아래 명령어를 사용하여 패키지를 설치해야 한다.
$ sudo apt-get install python-smbus
$ sudo apt-get install i2c-tools
다음은 $ sudo raspi-config 명령어를 사용하여 라즈베리파이 보드의 I2C 인터페이스를 사용가능하도록 활성화(인에이블) 해야 한다. 아래 이미지를 참고하여 설정한다. 이미 설정도어 있다면 가볍게 넘어간다.
$ sudo raspi-config





아래와 같이 회로 연결을 한다. 여기서 4.7k 풀업 저항을 달지 않으면 동작하지 않는다.

제대로 연결되었는지 i2c 주소를 아래와 같이 확인한다.
Atlas Scientific 센서는 모두 다른 i2c 주소를 갖고 있으며, 아래 첨부한 i2c 주소 리스트를 참고한다.

$ sudo i2cdetect -y 1
프로그램은 연결된 각 I2C 장치에 대한 정보를 알려주고, 아래는 I2C 주소(0x63)가 사용 중임을 나타낸다.
pi@raspberrypi:~/Raspberry-Pi-sample-code $ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- 62 -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
pi@raspberrypi:~/Raspberry-Pi-sample-code $
연결이 되었다면 다음 프로그램을 실행하여 센서에 연결하고 시험을 진행한다.
$ cd ~/Raspberry-Pi-sample-code
$ sudo python i2c.py 를 실행하면 아래와 같이 실행하는 화면을 볼 수 있다. 간단한 사용법과 명령어를 아래에 나타낸다.
pi@raspberrypi:~/Raspberry-Pi-sample-code $ sudo python i2c.py
>> Atlas Scientific I2C sample code
>> Any commands entered are passed to the default target device via I2C except:
- Help
brings up this menu
- List
lists the available I2C circuits.
the --> indicates the target device that will receive individual commands
- xxx:[command]
sends the command to the device at I2C address xxx
and sets future communications to that address
Ex: "102:status" will send the command status to address 102
- all:[command]
sends the command to all devices
- Poll[,x.xx]
command continuously polls all devices
the optional argument [,x.xx] lets you set a polling time
where x.xx is greater than the minimum 1.50 second timeout.
by default it will poll every 1.50 seconds
>> Pressing ctrl-c will stop the polling
list 명령어는 현재 연결된 i2c 센서 리스트를 나타낸다. 다른 i2c 센서와 통신하기 위해서는 i2c 주소와 콜론을 입력한다. 99:
현재 orp 센서의 어드레스가 98이므로 98:l 이나 98:status 명령어로 잘 응답한다.
데이터를 얻기 위해 poll 명령어를 입력한다. poll , 뒤에는 데이터를 읽는 간격을 입력할 수 있는데 최소 1.5초이므로 poll, 1.5 로 입력 할 수 있다. 디폴트 값이기도 하다. poll, 3 입력하면 3초마다 값을 볼 수 있다. 현재는 센서를 연결하지 않고 회로보드만 테스트하는 중이라 아래와 같은 결과가 잘 나온다.
pi@raspberrypi:~/Raspberry-Pi-sample-code $
pi@raspberrypi:~/Raspberry-Pi-sample-code $ sudo python i2c.py
>> Atlas Scientific I2C sample code
>> Any commands entered are passed to the default target device via I2C except:
- Help
brings up this menu
- List
lists the available I2C circuits.
the --> indicates the target device that will receive individual commands
- xxx:[command]
sends the command to the device at I2C address xxx
and sets future communications to that address
Ex: "102:status" will send the command status to address 102
- all:[command]
sends the command to all devices
- Poll[,x.xx]
command continuously polls all devices
the optional argument [,x.xx] lets you set a polling time
where x.xx is greater than the minimum 1.50 second timeout.
by default it will poll every 1.50 seconds
>> Pressing ctrl-c will stop the polling
--> ORP 98
>> Enter command: poll, 3
-------press ctrl-c to stop the polling
Success ORP 98: -450.3
-------press ctrl-c to stop the polling
Success ORP 98: -448.6
-------press ctrl-c to stop the polling
Success ORP 98: -448.9
-------press ctrl-c to stop the polling
Success ORP 98: -447.8
-------press ctrl-c to stop the polling
Success ORP 98: -443.9
참고
HOW TO CHANGE DATA PROTOCOL OF ATLAS SENSORS
'개발자 > 라즈베리파이4' 카테고리의 다른 글
| 아쿠아포닉스 pH 센서 개요 1 (0) | 2023.02.13 |
|---|---|
| Raspberry Pi Time Lapse 사진과 영상 만들기 (0) | 2023.02.07 |
| 라즈베리파이4 node.js 최신 버전 설치 (0) | 2023.02.03 |
| 아쿠아포닉스 ORP 센서 EZO™ Carrier Board 연결 3 (0) | 2023.02.01 |
| 아쿠아포닉스 ORP 센서 개요 1 (1) | 2023.01.26 |
| 아쿠아포닉스 센서 모니터링 Atlas IoT 설치 따라하기 (0) | 2023.01.26 |
| 라즈베리파이 USB 카메라 2대 영상 출력 (0) | 2023.01.26 |
| Raspberry Pi4 Node.js 최신 버전 업데이트 (0) | 2023.01.25 |
취업, 창업의 막막함, 외주 관리, 제품 부재!
당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약,
아이디어는 있지만 구현할 기술이 없는 막막함.
우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.
이제 고민을 멈추고, 캐어랩을 만나세요!
코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.
제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!
귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.
지난 30년 여정, 캐어랩이 얻은 모든 것을 함께 나누고 싶습니다.
귀사가 성공하기까지의 긴 고난의 시간을 캐어랩과 함께 하세요.
캐어랩