산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

Arduino - 직렬을 통해 웹에 온도 보내기

구성품 및 소모품

Arduino UNO
× 1
Arduino용 PHPoC WiFi 쉴드 2
× 1
Adafruit DS18B20 온도 센서
× 1
점퍼 와이어
× 1

이 프로젝트 정보

Serial.println(온도)을 사용하여 웹을 통해 온도를 보낼 수 있습니다. 내장된 웹 직렬 플로터를 사용하여 웹 프로그래밍 없이 웹에서 온도를 시각화할 수 있습니다.

초보자인 경우 Arduino - Wifi 및 Arduino - DS18B20 온도 센서 자습서에서 Wi-Fi 및 센서에 대해 배울 수 있습니다.

데모

.

작동 원리

<울>
  • Arduino는 센서에서 온도 값을 읽고 직렬을 통해 전송
  • 휴대전화 또는 PC의 브라우저에서 웹 직렬 플로터에 액세스
  • 온도가 자동으로 웹으로 전달됩니다.
  • 웹은 웹에서 온도를 시각화합니다.
  • 기본적으로 웹 직렬 플로터는 Arduino IDE의 직렬 플로터와 동일하게 작동합니다. X축 제목, Y축 제목, 온도 범위 및 표시된 데이터 샘플 수를 추가하도록 사용자 정의해야 합니다. 이는 설정 페이지를 통해 수행할 수 있습니다.
  • 단계별 지침

    1. 배선

    <울>
  • Arduino에 PHPoC Wifi Shield 2 또는 PHPoC Shield 2 스택
  • Schematic 부분의 이미지와 같은 배선
  • 2. Arduino 코드 컴파일 및 업로드

    "Arduino 코드 - 짧은 샘플링 기간"의 코드 참조

    3. 웹 직렬 플로터 사용자 지정

    <울>
  • PHoC WiFi Shield의 IP 주소를 입력하여 웹 직렬 플로터에 액세스
  • <울>
  • 사용자 정의 페이지로 연결되는 "설정" 링크 클릭
  • <울>
  • 위와 같이 매개변수를 사용자 정의하고 저장
  • 4. 결과

    <울>
  • 결과를 보려면 연결 버튼을 클릭하세요.
  • 장기간에 걸친 온도 모니터링

    온도가 작은 간격(예:초)으로 샘플링되는 경우 그래프를 볼 때까지 기다릴 수 있으므로 온도 값을 Serial에 인쇄하기만 하면 됩니다.

    매일 또는 매시간 온도를 모니터링하려는 경우 어떻게 됩니까? 모든 그래프를 보고 싶습니다.

    솔루션 :마지막 샘플링 온도를 아두이노에 저장하고 자주 출력합니다.

    예를 들어, 우리는 100시간 동안 그래프에 온도 표시를 보고 싶습니다. 단위는 시간입니다. 매시간 센서에서 데이터를 읽어서 서클 큐에 저장해야 합니다(큐 길이는 100). 1초마다 100개의 샘플 데이터를 모두 인쇄합니다. 따라서 100시간을 기다리지 않고 지난 100시간 동안의 온도 그래프를 볼 수 있습니다.

    "Arduino 코드 - 긴 샘플링 기간"에서 코드를 볼 수 있습니다.

    초보자를 위한 최고의 Arduino 스타터 키트

    초보자를 위한 최고의 Arduino 키트 보기

    <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    <울>
  • Arduino 코드 - 짧은 샘플링 기간
  • Arduino 코드 - 긴 샘플링 기간(매일, 매시간...)
  • Arduino 코드 - 짧은 샘플링 기간Arduino
    #include #include #include #define SAMPLE_INTERVAL 1000 // in ms// 데이터 와이어는 ArduinoOneWire의 포트 8에 연결됩니다. oneWire(8);DallasTemperature sensor(&oneWire); unsigned long lastSampleTime; void setup() { Serial.begin(9600); 동안(! 직렬); sensor.begin(); Phpoc.begin(); lastSampleTime =millis();}void 루프() { if((millis() - lastSampleTime)> SAMPLE_INTERVAL) { sensor.requestTemperatures(); 부동 온도 =sensor.getTempCByIndex(0); Serial.println(임시); lastSampleTime =밀리(); }}
    Arduino 코드 - 긴 샘플링 기간(매일, 매시간...)Arduino
    #include #include #include #define UPDATE_INTERVAL 1000 // in ms#define SAMPLE_INTERVAL 60*60*1000 // 1시간// 데이터 와이어가 연결됨 ArduinoOneWire의 포트 8로 oneWire(8);달라스 온도 센서(&oneWire);unsigned long lastSampleTime;unsigned long lastUpdateTime;float temps[100];int index;void setup() { Serial.begin(9600); 동안(! 직렬); sensor.begin(); Phpoc.begin(); lastSampleTime =밀리(); 마지막 업데이트 시간 =밀리(); 인덱스 =0;} 무효 루프() { if((millis() - lastSampleTime)> SAMPLE_INTERVAL) { sensor.requestTemperatures(); 부동 온도 =sensor.getTempCByIndex(0); 임시 직원[인덱스] =임시 직원; 인덱스 =(인덱스 + 1) % 100; lastSampleTime =밀리(); } if((millis() - lastUpdateTime)> UPDATE_INTERVAL) { for(int i =0; i <100; i++) { Serial.println(temps[(인덱스 - i + 100)%100]); } 마지막 업데이트 시간 =밀리(); }}

    회로도

    1. Arduino에 PHPoC Wifi Shield 2 또는 PHPoC Shield 2 스택
    2. 아래 그림과 같은 배선

    제조공정

    1. 웹에서 습도/온도 가져오기
    2. Raspberry Pi의 간편한 온도 및 습도
    3. 웹 운영 DMX 컨트롤러
    4. Arduino를 통한 Atmel AT89 시리즈 프로그래밍
    5. 온도 및 습도 데이터 로거
    6. 비접촉식 온도 모니터링 게이트
    7. Arduino - 웹 패턴 잠금 해제
    8. 학교를 위한 SMART 온도 모니터링
    9. 온도 조절 숯 훈제기
    10. Arduino - 스텝 모터 컨트롤러를 사용하여 웹을 통해 그리기