วันเสาร์ที่ 12 ธันวาคม พ.ศ. 2558

โครงงานเรื่อง

เครื่องวัดอุณหภูมิและความชื้นแสดงในระบบระบบแลนแบบไร้สาย

      เครื่องวัดอุณหภูมิและความชื้นแสดงในระบบระบบแลนแบบไร้สายโดยใช้Ethernet Shield W5100 กับเซนเซอร์วัดอุณหภูมิและความชื้นDHT22 มีหลักการทำงานของระบบง่ายๆคือทำการเสียบบอร์ด Arduinoกับบอร์ด Ethernet Shield W5100เข้าด้วยกันตามรูปที่1 แล้วทำการการเสียบบอดw5100เข้ากับเร้าเตอร์ก่อนที่จะทำการลงโปรแกรมหาIPของบอร์ดก่อนเมื่อได้IPมาทำการลงโปรแกรมที่อ่านค่าอุณหภูมิเรามีให้นำIPที่ได้มาเขียนแก้ในโปรแกรม (ส่วนโปรแกรมเดียวเราจะมีให้ข้างล่างคับ) จากนั้นให้ทำการเสียบ เซนเซอร์วัดอุณหภูมิและความชื้นDHT22 กับบอร์ดของเราตามรูปที่2 แค่นี้ก็สามารถวัดอุณหภูมิและความชื้นแสงในระบบระบบแลนได้ นำIPที่ได้มาเข้าไปในอินเตอร์เน็ตตามรูปที่3 เราก็จะเห็นค่าของความชื้นเละอุณหภูมิตามรูป



รูปที่1 แสดงการต่อบอร์ด Arduinoกับบอร์ด Ethernet Shield W5100
  






รูปที่2แสงการต่อใช้งาน Ethernet Shield W5100 กับ เซนเซอร์วัดอุณหภูมิและความชื้นDHT22




รูปที่3นำIPที่ได้มาไปใส่ในอินเตอร์เน็ตก็จะเห็นค่าอุณหภูมิและความชื้น

โคดสำหรับหาค่า IPของบอร์ดEthernet Shield W5100

#include "SPI.h"
#include "Ethernet.h"


byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte server[] = { 173,194,126,119 }; // www.google.co.th

EthernetClient client;

void setup()
{
Serial.begin(9600);
if(Ethernet.begin(mac) == 0) { // start ethernet using mac & DHCP
Serial.println("Failed to configure Ethernet using DHCP");
while(true) // no point in carrying on, so stay in endless loop:
;
}
delay(1000); // give the Ethernet shield a second to initialize

Serial.print("This IP address: ");
IPAddress myIPAddress = Ethernet.localIP();
Serial.print(myIPAddress);
if(client.connect(server, 80)>0) {
Serial.println(" connected");
client.println("GET /search?q=arduino HTTP/1.0");
client.println();
} else {
Serial.println("connection failed");
}
}

void loop()
{
if (client.available()) {
char c = client.read();
// uncomment the next line to show all the received characters
// Serial.print(c);
}

if (!client.connected()) {
Serial.println();
Serial.println("disconnecting.");
client.stop();
for(;;)
;
}
}

อ้างอิงจากhttp://www.arduinoall.com/article/สอน-วิธี-ใช้งาน-ethernet-shield-w5100-กับ-arduino-โมดูลที่ทำให้-arduino-ต่อเน็ตได้


โคดสำหรับอ่าค่าอุณหภูมิและความชื้นแสดงในระบบแลนไร้สาย

#include <SPI.h>
#include <Ethernet.h>
#include "DHT.h"

#define DHTPIN 2     // what pin we're connected to
#define DHTTYPE DHT22   // DHT 22
DHT dht(DHTPIN, DHTTYPE);
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1,11); ส่วนที่จะต้องเอาipของเรามาใส่

// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80);

void setup() {
 // Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }

 //IPAddress myIPAddress = Ethernet.localIP();
  // start the Ethernet connection and the server:
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());
  dht.begin();
}


void loop() {
  // listen for incoming clients
  EthernetClient client = server.available();
  if (client) {
    Serial.println("new client");
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");  // the connection will be closed after completion of the response
  client.println("Refresh: 5");  // refresh the page automatically every 5 sec
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
           
            client.print("WWW.ELEC2YOU.COM");
            client.println("<br />");
            client.print("Humidity: ");
            client.print(dht.readHumidity());
            client.print(" Temperature: ");
            client.print(dht.readTemperature());
            client.println("<br />");      
         
          client.println("</html>");
          break;
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        }
        else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    client.stop();
    Serial.println("client disonnected");
  }
}
ชื่อผู้จัดทำ
            1. นาย สิทธิโชค   มูลมัย  รหัส 2561031341312
      2. นาย นัฐสิทธิ์ เลือดแดง รหัส 2561031341336
      3. นาย ณัฐพงษ์ แนบสนิท รหัส 2561031341346


ไม่มีความคิดเห็น:

แสดงความคิดเห็น