โครงงานเรื่อง
เครื่องวัดอุณหภูมิและความชื้นแสดงในระบบระบบแลนแบบไร้สาย
เครื่องวัดอุณหภูมิและความชื้นแสดงในระบบระบบแลนแบบไร้สายโดยใช้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
ไม่มีความคิดเห็น:
แสดงความคิดเห็น