Guten Tag. Mein Name ist Nikita Sergeevich, ich bin 14 Jahre alt und in diesem Beitrag möchte ich Ihnen etwas über das Gerät (und die Anwendung) erzählen, das ich vor einem halben Jahr entwickelt habe, weil das fertige Gerät von meinem Vater gelötet und zusammengebaut wurde. Sie haben ein solches Gerät vielleicht schon mehr als einmal gesehen, aber es stört mich nicht.
All dies wurde geschaffen, um das Licht im Hühnerstall automatisch ein- und auszuschalten, aber auch für andere Zwecke.


Das fertige und zusammengebaute Gerät kann in der Zeit von und zu der angegebenen Zeit bis zu genau Minuten an den angegebenen digitalen Pin Arduino 1 oder 0 senden (außerhalb des Zeitraums wird der Wert angegeben, der dem in der Anwendung beim Hinzufügen eines Timers angegebenen Wert entgegengesetzt ist).
Alle Parameter sind in der Anwendung angegeben. Aber von hier aus genauer ...
Es gibt eine Anwendung für Android, in der Sie eine Verbindung zum Bluetooth-Modul herstellen und einen Timer hinzufügen müssen. Die Anwendung ist intuitiv und ich denke, es wird keine Probleme damit geben.


Die APK-Datei befindet sich im Ordner dieses Projekts.
Erforderliche Gegenstände:
- Arduino;
- RTC-Modul ds1307;
- Bluetooth-Modul HC-05;
- Verbindungselemente (z. B. Drähte);
- Firmware für Arduino; Die Skizze ist meiner Meinung nach kompliziert und es ist besser, nicht auf Details einzugehen.
- Anwendung für Android;
Wir beschäftigen uns mit Arduino und Plug-Ins.
Ja, Absätze 1-4:

arduino - hc-05 5v - vcc gnd - gnd TX1 - RXD RX0 - TXD arduino - ds1307 5v - 5v gnd - gnd A5 - scl A4 - sda
Vergessen Sie nicht, den RX0-Pin am Arduino zu trennen, wenn Sie die Skizze laden. Hast du Skizze gesagt?
5. Skizze ins Studio:
#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)); // } } } } }
Aber all dies ohne Anwendung wird kalt und bewegungslos wie ein Stein sein, also mach weiter.
6.
Die Anwendung ist intuitiv und ich denke, es wird keine Probleme damit geben.
Aber es ist besser, es sofort herauszufinden. Wenn Sie die Anwendung zum ersten Mal aufrufen, müssen Sie eine Verbindung zum Bluetooth-Modul herstellen. Klicken Sie dazu auf "Gerät synchronisieren".
und wählen Sie unser Modul. Mit dem Kontrollkästchen "Automatisch verbinden" versucht das Telefon selbst, beim Öffnen der Anwendung eine Verbindung zum Bluetooth-Modul herzustellen (dieser Chip wurde von Alex Gyver übernommen). "Timer" ist eine Liste aller Timer und deren Suche nach Namen. Durch Klicken auf den Namen des Timers wird der Bildschirm zum Ändern dieses Timers geöffnet. Hier (wo sich die Liste der Timer befindet) befindet sich in der unteren rechten Ecke "+", indem Sie darauf klicken, woraufhin der Bildschirm Timer hinzufügen geöffnet wird, wo er angezeigt wird:
- sein Name ist,
- ab welcher Zeit (Stunden Minuten)
- welche Zeit (Stunden Minuten)
- gesteuerter Stift
- Wert für ihn
- und Zustand (wird Arduino es zum richtigen Zeitpunkt ein- oder ausschalten).
Projektarchiv;Es gibt eine Anwendung.
In diesem Zusammenhang möchte ich mich bei Ihnen für Ihre Aufmerksamkeit bedanken und sagen, dass wir das Problem beheben können, wenn Sie Pfosten oder Fehler finden. Schreiben Sie einfach darüber.