우리는 최상의 1 와이어 DS18B20 센서 커넥터를 제공합니다., Nanoflex 포함, DisplayPort, USB, 태양, 사타, HDMI, Ata Ide, SAS & 더 많은. 모든 케이블은 최고 산업 표준으로 제조됩니다. 박스 빌드에 센서 회로 어셈블리를 사용하면 설계 및 마케팅에 집중할 수 있습니다., 비용 절감, 그리고 조립 라인의 이점을 거두십시오, QA 프로세스, 및 제조 전문 지식.
DS18B20 센서는 다음을 사용하여 통신합니다. “1-철사” 규약, 이는 마이크로컨트롤러와의 모든 통신에 단일 데이터 라인을 사용한다는 의미입니다., 여러 센서를 동일한 라인에 연결하고 고유한 64비트 직렬 코드로 식별할 수 있습니다.; 이 단일 데이터 라인은 저항기를 사용하여 높게 당겨지고 센서는 특정 시간 슬롯 동안 라인을 낮게 당겨 정보 비트를 전송함으로써 데이터를 전송합니다..
DS18B20 온도 센서: DS18B20 방수 프로브는 수중 사용을 위해 설계되었습니다, 물이나 수분에 손상되지 않고 습하거나 습한 환경에서 작동 할 수 있습니다..
온도 센서 공급 전압: 3.0v ~ 5.25V;
작동 온도 범위:-55 ℃ +125 ℃ (-67 ℉ +257 ℉);
9 비트에서 12 비트 섭씨 온도 측정을 제공합니다;
어댑터 모듈에는 풀업 저항이 장착되어 있습니다, 외부 저항이없는 Raspberry Pi의 GPIO에 직접 연결됩니다.;
이 어댑터 모듈 키트를 사용하여 방수 온도 센서를 프로젝트에 연결하는 것을 단순화하십시오..
1. 1 와이어 프로토콜에 대한 핵심 사항:
단일 데이터 라인:
센서와 마이크로 컨트롤러 간의 통신에는 하나의 와이어 만 필요합니다..
반중 소통:
데이터는 양방향으로 보낼 수 있습니다, 그러나 한 번에 한 방향 만.
기생충 전력:
DS18B20은 통신 중에 데이터 라인에서 직접 전원을 공급할 수 있습니다., 경우에 따라 별도의 전원 공급 장치의 필요성 제거.
고유 한 장치 주소:
각 DS18B20 센서에는 마이크로 컨트롤러가 버스에서 개별 센서를 식별하고 해결할 수있는 고유 한 64 비트 직렬 코드가 있습니다..
DS18B20과의 통신 단계:
1.1 펄스 재설정:
마이크로 컨트롤러는 특정 기간 동안 데이터 라인을 낮추어 통신을 시작합니다. (펄스 재설정).
1.2 존재 맥박:
DS18B20이 버스에있는 경우, 짧은 맥박으로 반응합니다, 그 존재를 나타냅니다.
1.3 ROM 명령:
마이크로 컨트롤러는 ROM 명령을 보내 특정 센서의 고유 한 64 비트 코드를 읽습니다. (“일치 ROM”) 또는 버스의 모든 센서를 처리합니다 (“배”).
1.4 기능 명령:
원하는 작업에 따라 (독서 온도처럼), 마이크로 컨트롤러는 특정 기능 명령을 센서로 보냅니다..
1.5 데이터 전송:
데이터는 비트 단위로 전송됩니다, 센서가 데이터 라인을 낮추어 ‘0’ 그리고‘1’을 보내기 위해 라인을 높이게합니다..
2. DS18B20의 1 와이어 커뮤니케이션 프로토콜에 대한 자세한 설명
DS18B20 센서가 널리 사용되는 이유는 주로 고유 한 통신 프로토콜 때문입니다. – 1-와이어 통신 프로토콜. 이 프로토콜은 하드웨어 연결에 대한 요구 사항을 단순화하고 데이터를 전송하는 효율적인 방법을 제공합니다.. 이 장에서는 1 라인 통신 프로토콜의 작업 메커니즘 및 데이터 교환 프로세스를 깊이 분석하여 후속 프로그래밍 관행을위한 탄탄한 기반을 마련합니다..
2.1 1 와이어 통신 프로토콜의 기본
2.1.1 1 와이어 통신 프로토콜의 기능:
DS18B20 1 와이어 통신 프로토콜도 호출됩니다 “단일 버스” 기술. 다음과 같은 기능이 있습니다: – 단일 버스 통신: 양방향 데이터 전송에는 하나의 데이터 라인 만 사용됩니다., 기존의 멀티 와이어 센서 통신 방법에 비해 배선의 복잡성을 크게 줄입니다.. – 다단계 연결: 하나의 데이터 버스에서 여러 장치를 연결하는 것이 지원됩니다, 장치 식별 코드를 통해 식별하고 통신합니다. – 낮은 전력 소비: 의사 소통 중, 커뮤니케이션에 참여하지 않을 때 장치는 저전력 대기 상태에있을 수 있습니다.. – 높은 정밀도: 데이터 전송 시간이 짧습니다, 외부 간섭을 줄이고 데이터 정확도를 향상시킬 수 있습니다.
2.1.2 1 와이어 통신의 데이터 형식 및 타이밍 분석
1 와이어 통신 프로토콜의 데이터 형식은 특정 타이밍 규칙을 따릅니다.. 초기화 타이밍이 포함됩니다, 타이밍을 작성하고 타이밍을 읽으십시오:
초기화 타이밍: 호스트는 먼저 존재 감지 타이밍을 시작합니다 (존재 맥박) 일정 시간 동안 버스를 내려 놓아, 그런 다음 센서는 응답으로 PRESENTE PULSE를 보냅니다..
쓰기 타이밍: 호스트가 쓰기 타이밍을 보낼 때, 먼저 버스를 내려갑니다 1-15 마이크로초, 그런 다음 버스를 출시합니다, 그리고 센서는 버스를 끌어 당깁니다 60-120 반응하기 위해 마이크로 초.
타이밍을 읽으십시오: 호스트는 센서에게 버스를 끌어 내고 방출하여 데이터를 보내도록 알립니다., 센서는 일정 지연 후 버스의 데이터 비트를 출력합니다..
2.2 데이터 통신의 소프트웨어 구현
2.2.1 1 라인 통신의 초기화 및 재설정
소프트웨어 수준에서, 1 와이어 커뮤니케이션의 초기화 및 재설정은 커뮤니케이션의 첫 번째 단계입니다.. 다음은이 프로세스를 구현하기위한 의사 코드입니다.:
// Onewire 커뮤니케이션 초기화 기능
void onewire_init() {
// 버스를 입력 모드로 설정하고 풀업 저항을 활성화하십시오.
세트 핀 패션(DS18B20_PIN, input_pullup);
// 버스가 유휴 상태가되기를 기다리십시오
지연 마이크로 초(1);
// 재설정 펄스를 보내십시오
onewire_reset();
}
// Onewire Communication Reset 기능
void onewire_reset() {
// 버스를 당기십시오
세트 핀 패션(DS18B20_PIN, output_low);
지연 마이크로 초(480);
// 버스를 석방하십시오
세트 핀 패션(DS18B20_PIN, input_pullup);
지연 마이크로 초(70);
// 맥박의 존재를 기다리십시오
만약에 (!WaitforOneWirepresence())
// 펄스가 감지되지 않았습니다, 센서가 연결되지 않았거나 초기화가 실패했을 수 있습니다.
손질();
지연 마이크로 초(410);
}
// 맥박의 존재를 기다리고 있습니다
bool waitforonewirepresence() {
reack readpin(DS18B20_PIN) == 0; // 낮은 레벨이 신호 존재라고 가정합니다
}
2.2.2 데이터 읽기 및 쓰기 작업
데이터 읽기 및 쓰기 작업은 센서 커뮤니케이션의 핵심 부분입니다.. 다음 코드는 바이트를 1 와이어 버스에 쓰는 방법을 보여줍니다.:
// 바이트를 1 와이어 버스에 쓰십시오
void onewire_writebyte(바이트 데이터) {
~을 위한 (int i = 0; 나 < 8; i ++) {
onewire_writebit(데이터 & 0x01);
데이터 >>= 1;
}
}
// 1 와이어 버스에 조금 쓰십시오
void onewire_writebit(비트 데이터) {
세트 핀 패션(DS18B20_PIN, output_low);
만약에 (데이터) {
// 글을 쓸 때 버스를 석방하십시오 1
세트 핀 패션(DS18B20_PIN, input_pullup);
지연 마이크로 초(1);
} 또 다른 {
// 글을 쓸 때 버스를 계속 낮추십시오 0
지연 마이크로 초(60);
}
세트 핀 패션(DS18B20_PIN, input_pullup);
지연 마이크로 초(1);
}
다음은 바이트를 읽는 기능입니다:
// 원선 버스에서 바이트를 읽으십시오
바이트 onewire_readbyte() {
바이트 데이터 = 0;
~을 위한 (int i = 0; 나 < 8; i ++) {
데이터 >>= 1;
만약에 (onewire_readbit())
데이터 |= 0x80;
}
반환 데이터;
}
// 원선 버스에서 조금 읽으십시오
비트 onewire_readbit() {
세트 핀 패션(DS18B20_PIN, output_low);
세트 핀 패션(DS18B20_PIN, input_pullup);
지연 마이크로 초(3);
bool result = readpin(DS18B20_PIN);
지연 마이크로 초(57);
반환 결과;
}
2.2.3 Onewire 커뮤니케이션의 검증 메커니즘
Onewire Communication 프로토콜은 데이터 교환 프로세스에서 간단한 검증 메커니즘을 사용합니다., 일반적으로 데이터의 정확성을 확인하기 위해 서면 데이터를 다시 읽음으로써. 다음은 서면 데이터를 확인하기위한 샘플 코드입니다.:
바이트 데이터 = 0x55; // 데이터가 전송 될 것으로 가정합니다
onewire_writebyte(데이터); // Onewire 버스에 데이터를 작성하십시오
바이트 readdata = onewire_readbyte(); // Onewire 버스에서 데이터를 다시 읽으십시오
만약에 (readData != 데이터) {
손질(); // 읽기 백 데이터가 서면 데이터와 일치하지 않는 경우, 오류를 처리하십시오
English
Afrikaans
العربية
বাংলা
bosanski jezik
Български
Català
粤语
中文(简体)
中文(漢字)
Hrvatski
Čeština
Nederlands
Eesti keel
Suomi
Français
Deutsch
Ελληνικά
हिन्दी; हिंदी
Magyar
Bahasa Indonesia
Italiano
日本語
한국어
Latviešu valoda
Lietuvių kalba
македонски јазик
Bahasa Melayu
Norsk
پارسی
Polski
Português
Română
Русский
Cрпски језик
Slovenčina
Slovenščina
Español
Svenska
ภาษาไทย
Türkçe
Українська
اردو
Tiếng Việt





