اردوينو الموقت

مساء الخير اسمي نيكيتا سيرجيفيتش ، عمري 14 عامًا ، وأريد أن أخبركم في هذا المنشور عن الجهاز (والتطبيق) الذي قمت بتطويره منذ نصف عام ، لأن الجهاز النهائي كان ملحومًا وتجميعه من قِبل والدي. على الرغم من أنك قد ترى مثل هذا الجهاز أكثر من مرة ، إلا أنه لا يزعجني.

تم إنشاء كل هذا لتشغيل وإطفاء الضوء تلقائيًا في حظيرة الدجاج ، ولكن أيضًا قابل للتطبيق لأغراض أخرى.





يمكن للجهاز المكتمل والمُجَمَّع أن يرسل إلى الدبوس الرقمي المحدد اردوينو 1 أو 0 في الفترة من وإلى الوقت المحدد ، حتى دقائق بالضبط (خارج الفترة الزمنية ، يتم توفير القيمة المقابلة للقيمة المحددة في التطبيق عند إضافة مؤقت).

يشار جميع المعلمات في التطبيق. ولكن من هنا بمزيد من التفاصيل ...

يوجد تطبيق للأندرويد يلزمك فيه الاتصال بوحدة البلوتوث وإضافة مؤقت. التطبيق سهل الاستخدام وأعتقد أنه لن تكون هناك مشكلة في ذلك.





سيكون ملف .apk في مجلد هذا المشروع.

العناصر المطلوبة:

  1. اردوينو.
  2. وحدة rtc ds1307 ؛
  3. وحدة بلوتوث HC-05 ؛
  4. عناصر التوصيل (مثل الأسلاك) ؛
  5. البرامج الثابتة لاردوينو. الرسم معقد في رأيي ومن الأفضل عدم الخوض في التفاصيل.
  6. تطبيق لالروبوت.

نحن نتعامل مع اردوينو والمكونات الإضافية.

نعم ، الفقرات 1-4:



arduino - hc-05 5v - vcc gnd - gnd TX1 - RXD RX0 - TXD arduino - ds1307 5v - 5v gnd - gnd A5 - scl A4 - sda 

لا تنسَ فصل دبوس RX0 على اردوينو عند تحميل المخطط. هل قلت رسم؟

5. ارسم إلى الاستوديو:

 #include <Wire.h> //     i2c #include <iarduino_RTC.h> //  rtc ( c,    (Timer->firmware_for_timer->iarduino_RTC)) #include <EEPROM.h> //      iarduino_RTC time(RTC_DS1307); //        int values; //    unsigned int to_minutes(unsigned int hours, unsigned int minutes)//        { return (60*hours)+minutes; } void setup() { time.begin(); //   Serial.begin(9600); //   } void loop() { if(Serial.available() > 0) // -  { values = Serial.read(); time.settime(0,-1, values); //    delay(50); values = Serial.read(); time.settime(0, values); //    delay(50); //   for (int i = 0 ; i < EEPROM.length() ; i++) { EEPROM.write(i, 0); } ////////////////////////////////// values = Serial.read(); delay(50); //    ,    while (values > 0) //    { for(int i = 0; i < 7; ++i) { EEPROM.write(EEPROM.read(EEPROM.length() - 1) * 7 + i, Serial.read()); delay(50); } EEPROM.write(EEPROM.length() - 1, EEPROM.read(EEPROM.length() - 1) + 1); values = Serial.read(); delay(50); } ///////////////////////////////////////// } //    for(int i = 0; i < EEPROM.read(EEPROM.length() - 1); ++i) { if(EEPROM.read(i * 7 + 0) == 1) //    { bool find = 0; // time.gettime(); if((to_minutes(EEPROM.read(i * 7 + 1), EEPROM.read(i * 7 + 2)) <= to_minutes(time.Hours, time.minutes)) && //     (to_minutes(EEPROM.read(i * 7 + 3), EEPROM.read(i * 7 + 4)) > to_minutes(time.Hours, time.minutes))) { pinMode(EEPROM.read(i * 7 + 5), OUTPUT); //     digitalWrite(EEPROM.read(i * 7 + 5), EEPROM.read(i * 7 + 6)); //     } else //     { //      for (int j = 0; j < EEPROM.read(EEPROM.length() - 1); ++j) { if(EEPROM.read(i * 7 + 5) == EEPROM.read(j * 7 + 5) && (i != j) && (EEPROM.read(j * 7 + 0) == 1)) { //              if((to_minutes(EEPROM.read(j * 7 + 1), EEPROM.read(j * 7 + 2)) <= to_minutes(time.Hours, time.minutes)) && (to_minutes(EEPROM.read(j * 7 + 3), EEPROM.read(j * 7 + 4)) > to_minutes(time.Hours, time.minutes))) //     { pinMode(EEPROM.read(i * 7 + 5), OUTPUT); //     digitalWrite(EEPROM.read(i * 7 + 5), EEPROM.read(j * 7 + 6)); //     find = 1; //  } } } if(find == 0) //        { pinMode(EEPROM.read(i * 7 + 5), OUTPUT); //     digitalWrite(EEPROM.read(i * 7 + 5), !EEPROM.read(i * 7 + 6)); //      } } } } } 

ولكن كل هذا بدون تطبيق سيكون باردًا بلا حراك مثل الحجر ، لذا تابع.

6.
التطبيق سهل الاستخدام وأعتقد أنه لن تكون هناك مشكلة في ذلك.
لكن من الأفضل معرفة ذلك على الفور. عند إدخال التطبيق لأول مرة ، ستحتاج إلى الاتصال بوحدة البلوتوث ، لذلك ، انقر فوق "مزامنة الجهاز"
واختر وحدتنا. مع مربع الاختيار "الاتصال تلقائيًا" ، سيحاول الهاتف نفسه الاتصال بوحدة البلوتوث عند فتح التطبيق (تم أخذ هذه الشريحة من alex gyver). "الموقتات" هي قائمة بجميع الموقتات والبحث عنها بالاسم. يؤدي النقر فوق اسم المؤقت إلى فتح الشاشة لتغيير هذا المؤقت. هنا (حيث توجد قائمة المؤقتات) في الركن الأيمن السفلي "+" من خلال النقر على شاشة إضافة المؤقت ، حيث يشار إليها:

  • اسمه
  • من وقت ما (ساعات الدقائق)
  • ما الوقت (ساعات الدقائق)
  • دبوس تسيطر عليها
  • قيمة له
  • والدولة (سوف اردوينو تشغيله أو إيقاف تشغيله في الوقت المناسب).


أرشيف المشروع
هناك تطبيق.

في هذا ، أود أن أشكرك على اهتمامك وأقول إنه إذا وجدت أي عضادات أو أخطاء - لا تتردد في الكتابة عنها ، فإننا سنصلحها.

Source: https://habr.com/ru/post/ar461561/


All Articles