كتاب الالكترونيات والاتصالات لغير المختصين
المؤلف / مارتن بلونوس
الكتاب مهم جدااا لكل عشاق الكهرباء والالكترونيات
char tag1[10] = {'X','X','X','X','X','X','X','X','X','X'}; //char tag1[10] = {'3','6','0','0','6','6','0','0','5','C'}; void setup() { Serial.begin(9600); Serial1.begin(9600); tagDetected = false; } void loop() { if (Serial1.available() > 0) { delay(250); if (Serial1.peek() != 2) { tagDetected = false; } else { tagDetected = true; Serial.print("Your tag says it is: "); Serial.flush(); printTag(ourTag); } } else { tagDetected = false; } if (tagDetected) { if (isValidTag(ourTag)) { Serial.println("Come on in and have some freshly baked cookies!!!\n"); Serial.flush(); } else { Serial.println("No idea who you are but I have released the hounds!!!\n"); Serial.flush(); } } } void flushSerial1Buffer() { while (Serial1.available() > 0) { Serial.read(); } } void fetchTagData(char tempTag[]) { Serial1.read(); { tempTag[counter] = Serial1.read(); } Serial1.read(); Serial1.read(); Serial1.read(); Serial1.read(); if (Serial1.read() != 3) { { tempTag[counter] = '0'; } } else { flushSerial1Buffer(); } } boolean isValidTag(char tempTag[]) { boolean result; return result; } boolean compareTags(char tagA[], char tagB[]) { boolean result = true; { if (tagA[counter] != tagB[counter]) { result = false; break; } } return result; } ///////////////// // printTag // ///////////////// void printTag(char tag[]) { { Serial.print(tag[counter]); } Serial.println(""); }
if (someVariable > 50) { // do something here }
البرنامج سيقوم بفحص المتغيرات المشروطة , اذا كان كذلك فسيقوم بتنفيذه
إذا كان البيان بين قوسين هو الصحيح، يتم تشغيل البيانات داخل الأقواس. إن لم يكن،
يتخطى البرنامج خلال التعليمات البرمجية.
حسب المثال
if (x > 120) digitalWrite(LEDpin, HIGH); if (x > 120) digitalWrite(LEDpin, HIGH); if (x > 120){ digitalWrite(LEDpin, HIGH); } if (x > 120){ digitalWrite(LEDpin1, HIGH); digitalWrite(LEDpin2, HIGH);
البيانات التي يجري تقييمها داخل الأقواس تتطلب استخدام عامل واحد أو أكثر:
عوامل المقارنة
1- x == y (x is equal to y)
2- x != y (x is not equal to y)
3- x < y (x is less than y)
4- x > y (x is greater than y)
5- x <= y (x is less than or equal to y)
6- x >= y (x is greater than or equal to y)
في الحالة الاولى x مساوي في القيمة مع y. في الحالة الثانية x لا يساوي y ,
اما في الحالة الثالثة x اصغر من y , الحالة الرابعة x اكبر
قيمة من y . الحالة الخامسة x اصغر اويساوي قيمة y .
الحالة الخامسة x اكبر قيمة او يساوي y.
حذار من غير قصد باستخدام علامة المساواة واحدة if (x = 10) وانما يستخدم (if (x == 10 لكون عند استعمال علامة مساواةالاخطاء الشائعة
#include<SoftwareSerial.h> SoftwareSerial client(2,3); //RX, TX String webpage=""; int i=0,k=0; String readString; int x=0; boolean No_IP=false; String IP=""; char temp1='0';
void setup() { Serial.begin(9600); client.begin(9600); wifi_init(); Serial.println("System Ready.."); }
void wifi_init() { connect_wifi("AT",100); connect_wifi("AT+CWMODE=3",100); connect_wifi("AT+CWQAP",100); connect_wifi("AT+RST",5000); ...... ..... ..... .....
void connect_wifi(String cmd, int t){int temp=0,i=0;while(1) {...... .....Serial.println(cmd);..... .....
void sendwebdata(String webPage) { int ii=0; while(1) { unsigned int l=webPage.length(); Serial.print("AT+CIPSEND=0,"); client.print("AT+CIPSEND=0,"); ...... ..... ..... .....
void Send() { webpage = "<h1>Welcome to Circuit Digest</h1><body bgcolor=f0f0f0>"; sendwebdata(webpage); webpage=name; webpage+=dat; ...... ..... ..... .....
void loop() { k=0; Serial.println("Please Refresh your Page"); while(k<1000) .... ..... .... .....