C (Programmiersprache) – die besten Beiträge

Arduino: millis() als delay() in If-Klause benutzen?

Hi! Ich suche schon lange nach einer Lösung wie ich millis() als delay() benutzen kann. Ich habe einen Bodenfeuchtesensor und ein Relais, das an eine Pumpe angeschlossen wird. Ich möchte, dass das Relais für 10 Sekunden angeht, wenn der Bodenfeuchtesensor einen Wert über 600 ausspuckt. Bisher lautet die If-Klause so:

(siehe unten)

Möchte das aber gerne mit millis() machen. Habe schon viel studiert und probiert, aber keine Lösung gefunden. Nachgelesen habe ich auch. Das Prinzip von millis habe ich verstanden, nur nicht, wie das in einem If-Satz funktioniert.

Vielen Dank für Eure Hilfe!

#include "DHT.h"
#define DHTPIN 12
#define DHTTYPE DHT22

//VENT DELAY//
long schedule_freq = 3200000L;
long schedule_duration = 300000L;


long schedule_timestamp = 0L;
long schedule_timestamp_off = 0L;


bool schedule = false;
//VENT DELAY//


//PUMP//

//PUMP//


const int heatPin = 7;
const int ventPin = 4;
const int pumpPin = 12;


int moist_value = analogRead(A0);

DHT dht(DHTPIN, DHTTYPE);




void setup() {
  dht.begin();
  pinMode(heatPin, OUTPUT);
  pinMode(ventPin, OUTPUT);
}


void loop() {
  float t = dht.readTemperature();
  float h = dht.readHumidity();


  if (t <= 16.0) {
      digitalWrite(heatPin, HIGH);
  }


  if (t >= 25.0) {
    digitalWrite(heatPin, LOW);
  }


  if(moist_value >= 600) {
    digitalWrite(pumpPin, HIGH);
    delay(10000);)
    digialWrite(pumpPin, LOW;
    
    }
    
      if (schedule_timestamp < millis()) {
      schedule_timestamp = millis() + schedule_freq;
        schedule_timestamp_off = millis() + schedule_duration;
        schedule = true;
        //Vent On
        digitalWrite(ventPin, HIGH);
      }
    
    
      if (schedule_timestamp_off < millis() && schedule ) {
      schedule = false;
      //Vent Off
      digitalWrite(ventPin, LOW);
    
    
      }
    
    
    }
Computer, Technik, programmieren, Arduino, Technologie, C (Programmiersprache), If clauses, Arduino Uno, Arduino IDE

C++ Programmcode nicht ausführbar "willkommen"?

Guten Abend zusammen,

ich habe mir heute das, Kindle eBook C++ Programmieren für Einsteiger geholt, da mich programmieren schon seit langer Zeit sehr interessiert, ich bisher aber zeitlich nicht dazu kam, mich da einzulesen.

Nun zu der Frage: Ich habe all das, was das Buch mir gesagt hat, durchgeführt:

  1. Einen Text-Editor zum Codes schreiben heruntergeladen: Geany (Schreibe jedoch über den normalen, bereits auf Windows 10 vorhandenen Texteditor).
  2. Einen Compiler für die Erstellung der Programme heruntergeladen: MinGW.

Anschließend kam auch schon die erste Aufgabe. Ich sollte mit einem Kommandozeileninterpreter (cmd / Eingabeaufforderung) die Version des MinGW abfragen. Dies musste ich erst in den erweiterten Systemeinstellungen einstellen, indem ich die Umgebungsvariablen anpasse (in PATH den Dateipfad meines MinGW\Bin-Ordner hinzufügen). Das hat auch funktioniert und ich konnte durch die Eingabeaufforderung die Version meines Compilers abfragen.

Nun geht es los, das erste Programm schreiben: Eine einfache Ausgabe auf dem Bildschirm. Ziel ist es, eine kurze Textnachricht auszugeben.

Nun sind die Schritte wie folgt beschrieben:

  1. Texteditor öffnen
  2. Programmcode eingeben
#include <iostream>

int main()
{
  std::cout << "Willkommen zum C++ Kurs!";
}

Nun soll ich die Datei unter dem Namen willkommen.cpp abspeichern, in meinem Fall auf dem Desktop.

Danach geht es um die Ausführung des Programms: Ich muss das Programm mithilfe des Kommandozeileninterpreters (cmd) kompilieren.

  1. cmd öffnen.
  2. Verzeichnis ändern, in dem Fall auf meinen Desktop

Befehl:

g++ -o willkommen willkommen.cpp

(Ich frage mich, warum ich doppelt willkommen eingeben muss, auch wenn meine Datei nur ein willkommen hat? Ich habe es mit nur einem willkommen probiert und es wurde mir ein Fehler angezeigt!)

Wenn ich das so eingebe, kommt eine oder zwei kurze Sekunden ein Ladevorgang und es passiert weiter nichts. Eigentlich steht in dem Buch geschrieben, dass unter meiner Eingabe in der cmd ein "Willkommen im C++ Kurs " erscheinen sollte. Dies ist leider nicht der Fall.

Also an jeden, der sich mein Problem angeschaut hat: Vielen Dank!

Ich habe auf YouTube und anderen Plattformen nach einer Lösung geschaut, jedoch nichts mit der gleichen Ähnlichkeit gefunden.

Computer, Buch, Technik, IT, programmieren, Informatik, Technologie, C (Programmiersprache)

Meistgelesene Beiträge zum Thema C (Programmiersprache)