Foydalanish misoli
Arduino-ga ulangan DHT11 sensoridan Android qurilmasida (telefon, smartfon, planshet) havo namligi va harorat ma'lumotlarini olish misolini ko'rib chiqamiz. Arduino DHT11 datchigidan har 10 soniyada ma'lumotlarni oladi va uni HC05 moduli orqali Android qurilmasiga yuboradi.
Bizga quyidagi tafsilotlar kerak:
arduino taxtasi
prototip taxta
dHT11 sensori
bluetooth moduli HC05
ulash simlari
Android telefoni yoki planshet
Rasmda ko'rsatilgan sxemani yig'amiz:
Biz olamiz:
Keling, eskizni Arduino platasiga yuklaymiz (quyida ko'rib chiqing) - DHT11 datchigidan namlik va harorat ma'lumotlarini olish va ma'lumotlarni Android qurilmaga HC05 moduli orqali ketma-ket portga (apparat) yuborish.
15-amaliy mashg’ulot. Ethernet modulini Internet buyumlari tarmog‘ida qo‘llashni o‘rganish.
Ishdan maqsad: Ethernet modulini Internet buyumlari tarmog‘ida qo‘llashni o‘rganish.
Ethernet modul va Arduino asoslari
Ethernet modul sizga Arduinoni Internetga ulash imkoniyatini beradi. Ushbu shield Arduino imkoniyatlarini kengaytiradi va sizga Internet bor dunyoning istalgan nuqtasidan ma'lumotlarni yuborish va qabul qilish imkonini beradi.
Masalan, siz o'zingizning robotingizni veb-saytdan masofadan turib boshqarishingiz yoki twitteringizga yangi xabar kelganida biron bir signalni amalga oshirishingiz mumkin. Ethernet modul sizga cheksiz ko'p yangi imkoniyatlarni taklif etadi.
Ethernet modulni o'rnatish
Hammasi juda oddiy tarzda o'rnatiladi. Boshqa har qanday modul singari, Ethernet modul Arduino ulagichlarining tepasiga o‘rnatiladi.
E'tibor bering, ba'zi modullar Arduinoning oldingi versiyalari bilan mos kelmasligi mumkin. Shuning uchun Arduino Rev 3 platasidan foydalanish tavsiya etiladi.
Ethernet moduli xususiyatlari
Ethernet moduli W5100 chipiga asoslangan bo'lib, u ichki 16K lik buferga ega. Ulanish tezligi 10 / 100Mb ga etadi. Lekin menga ishoning, bu eng tezkor aloqa emas.
Modul Arduino IDE qobig'iga birlashtirilgan Arduino Ethernet kutubxonasidan foydalanib ishlaydi.
Ethernet modulida micro SD-kartani o'rnatish uchun slot mavjud, uning yordamida siz katta hajmdagi ma'lumotlarni saqlashingiz va veb-saytlarni to'g'ridan-to'g'ri Arduinodan yuklab olishingiz mumkin. Shuni unutmangki, bu holda siz qo'shimcha kutubxonadan foydalanishingiz kerak.
Bundan tashqari, siz Arduinoni Ethernet ulanishi yordamida quvvatlantirishingiz mumkin. Buning uchun Power over Ethernet (PoE) modulidan foydalaning. Ethernet moduliga o'rnatiladigan joyi ham mavjud.
Ethernet modul xususiyatlarining qisqacha ro'yxati:
Arduino platasi ishlash uchun talab qilinadi;
Ishlash quvvati - 5 V (Arduino platasi tomonidan boshqariladi)
Ethernet tekshirgichi: 16Kb bufer bilan W5100;
Ulanish tezligi: 10/100 Mb;
Arduinoga SPI porti orqali ulanadi.
Birinchi qadamlar
Arduinoni USB kabelidan foydalanib shaxsiy kompyuterga ulang va Ethernet modulni routeringizga (yoki to'g'ridan-to'g'ri Internet kabelingizga) ulang.
Shundan so'ng, Arduino IDE-ni oching. Arduino IDE-ning 1.0-dan keyingi versiyalarida o'rnatilgan DHCP-quvvatlash mavjud va IP-manzilni qo'lda sozlashning hojati yo'q.
Sizning platangizga qaysi IP-manzil tayinlanganligini aniqlash uchun DhcpAddressPrinter skerchini oching. Siz uni menyudan quyidagicha topishingiz mumkin:
Fayl -> Misollar -> Ethernet -> DhcpAddressPrinter
Ochgandan so'ng, ehtimol mac addressini o'zgartirishingiz kerak bo'ladi. Ethernet modulining yangi rasmiy versiyalarida manzil modulga yopishtirilgan stikerda ko'rsatilgan. Agar stiker bo'lmasa, siz shunchaki yangi alohida mac addressini yaratishingiz mumkin. Agar siz bir vaqtning o'zida bir nechta modulni ishlatsangiz, ularning har biri uchun mac addresslari alohida bo'lishi kerak.
Mac addressni o'rnatganingizdan so'ng, siz sketchni Arduino platasiga yuklab, doimiy monitorni ochishingiz mumkin. Natijada ishlatilgan IP-manzil ko'rsatilishi kerak.
Server
HTML-sahifa yoki funktsiyani yuklash uchun veb-server sifatida Arduino Ethernet modulidan foydalanishingiz mumkin. Mijoz tomonidan yuborilgan so'rovlarni veb-brauzer orqali kuzatishingiz (tahlil qilishingiz) mumkin. Quyidagi ikkita misol HTML-sahifalarga va URL satrlarini tahlil qilish uchun bizning "pishiriq" dan qanday foydalanishni ko'rsatib beradi.
Yodda tutish kerak: Arduino platangizning IP-manzilini kiritishingiz kerak, shunda quyidagi misollar to'g'ri ishlaydi.
Tugma bosilganda quyidagi kod ishga tushadi:
/*Ethernet moduldan foydalangan holda veb-serverga misol
Simlar sxemasi
*Ethernet moduli 10, 11, 12, 13 pinlariga ulangan
* tugma D2 va 5V pinlariga ulanadi
* 10 kΩ li rezistor D2 pini va yerga ulangan*/
#include
#include
byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDA, 0x02 };
IPAddress ip(191,11,1,1);
EthernetServer server(80);
int buttonPress = 1;
void setup()
{pinMode(2, INPUT);
Ethernet.begin(mac, ip);
server.begin();}
void loop()
{buttonPress = digitalRead(2);
EthernetClient client = server.available();
if (client) {
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {char c = client.read();
if (c == '\n' && currentLineIsBlank) {client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
if (buttonPress == 1) {client.println("LIGHT!");}
else if (buttonPress == 0){client.println("DARK!");}
break;}
if (c == '\n') {currentLineIsBlank = true;}
else if (c != '\r') {currentLineIsBlank = false;} } }
delay(1);
client.stop();} }
Sketchning ishlashi uchun tugmachani D2 va 5V pinlariga ulang. Yer va D2 pinlariga 10 kΩ qarshilik ulang. Shundan so'ng brauzeringizda Arduinoning IP-manzilini kiriting. Qora fonli sahifa yuklanishi kerak. Tugmani bosib ushlab turing, so'ngra brauzer sahifasini qayta yuklang. Shundan so'ng, sahifa oq fon bilan yuklanishi kerak.
Arduinoga yuborilgan URLga qarab quyidagi kod LEDni yoqadi:
/ *
Veb-server namunasi
Brauzerda turli xil URL manzillarini kiritishda LEDni yoqish va o'chirishga imkon beradi
Yoqish uchun:
http: // YOUR_IP_ADDRESS / $ 1
O'chirish uchun:
http: // YOUR_IP_ADDRESS / $ 2
Simlar sxemasi:
* Ethernet moduli 10, 11, 12, 13 pinlariga ulanadi
* LEDning bir oyog‘ini D2 piniga, ikkinchi oyog‘ini esa yerga 220 Om qarshilik bilan ulang.
* /
#include
#include
boolean incoming = 0;
byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDA, 0x02 };
IPAddress ip(191,11,1,1);
EthernetServer server(80);
void setup() {pinMode(2, OUTPUT);
Ethernet.begin(mac, ip);
server.begin();
Serial.begin(9600); }
void loop() {EthernetClient client = server.available();
if (client) {boolean currentLineIsBlank = true;
while (client.connected()) {if (client.available()) {
char c = client.read();
if(incoming && c == ' '){incoming = 0; }
if(c == '$'){ incoming = 1; }
if(incoming == 1){Serial.println(c);
if(c == '1'){Serial.println("ON");
digitalWrite(2, HIGH); }
if(c == '2'){ Serial.println("OFF");
digitalWrite(2, LOW); } }
if (c == '\n') {currentLineIsBlank = true;}
else if (c != '\r') {currentLineIsBlank = false;}}}
delay(1);
client.stop();
}
Yuqoridagi misolning to'g'ri ishlashi uchun LEDning musbat oyog'ini D2 piniga, manfiy oyog‘ini esa 220 Om rezistor orqali yerga ulang.
LEDni yoqish uchun brauzer satriga kiring:
http: // [YOUR_IP_ADDRESS] / $ 1
LED-ni o'chirish uchun brauzer satriga kiring:
http: // [YOUR_IP_ADDRESS] / $ 2
Eslatma: [YOUR_IP_ADDRESS] qatorini IP-manzilingiz bilan almashtirishingiz kerak.
Do'stlaringiz bilan baham: |