Kann mir jemand bei dem Upload helfen?

Hallo,

Ich will einen Code komplimieren und es funktioniert nicht.

Arduino: 1.8.13 (Windows 10), Board: "Arduino Nano, ATmega328P (Old Bootloader)"

C:\Users\Admin\Documents\Arduino\libraries\arduino-self-balancing-robot-master\PID_v1.cpp:45:6: error: prototype for 'void PID::Compute()' does not match any in class 'PID'

 void PID::Compute()

   ^~~

In file included from C:\Users\Admin\Documents\Arduino\libraries\arduino-self-balancing-robot-master\PID_v1.cpp:14:0:

C:\Users\Admin\Documents\Arduino\libraries\Arduino-PID-Library-master/PID_v1.h:29:10: error: candidate is: bool PID::Compute()

   bool Compute();            // * performs the PID calculation. it should be

     ^~~~~~~

C:\Users\Admin\Documents\Arduino\libraries\arduino-self-balancing-robot-master\PID_v1.cpp: In member function 'void PID::SetOutputLimits(double, double)':

C:\Users\Admin\Documents\Arduino\libraries\arduino-self-balancing-robot-master\PID_v1.cpp:132:8: error: 'ITerm' was not declared in this scope

   if(ITerm > outMax) ITerm= outMax;

    ^~~~~

C:\Users\Admin\Documents\Arduino\libraries\arduino-self-balancing-robot-master\PID_v1.cpp: In member function 'void PID::Initialize()':

C:\Users\Admin\Documents\Arduino\libraries\arduino-self-balancing-robot-master\PID_v1.cpp:158:4: error: 'ITerm' was not declared in this scope

  ITerm = *myOutput;

  ^~~~~

Mehrere Bibliotheken wurden für "PID_v1.h" gefunden

 Benutzt: C:\Users\Admin\Documents\Arduino\libraries\Arduino-PID-Library-master

 Nicht benutzt: C:\Users\Admin\Documents\Arduino\libraries\arduino-self-balancing-robot-master

exit status 1

Fehler beim Kompilieren für das Board Arduino Nano.

Dieser Bericht wäre detaillierter, wenn die Option

"Ausführliche Ausgabe während der Kompilierung"

in Datei -> Voreinstellungen aktiviert wäre.

Kann mir jemand helfen??!

Danke

Upload, Arduino
Transistor mit Arduino verwenden, 12v schalten?

Hallo allerseits,

ich bin grade dabei für meine Rift s eine Kühllösung zu bauen, da mir relativ warm wird wenn ich spiele ich habe vor 2 Lüfter zu nutzen die auf 12v laufen, jedoch kann der Arduino natürlich nur 5v ausgeben deshalb stehe ich vor der Qual der Wahl welchen Transistor oder Mosfet ich nutzen sollte jetzt hab ich hier mal paar Daten:

Für die Lüfter:

Nennspannung: DC 12V

Nennstrom: 0,08A

Leistungsaufnahme: 1W

Wie gesagt von den Lüftern würden zwei parallel geschaltet werden..

Also müsste der Transistor mit 0,16A und 2W bei 12v Klarkommen können und mit 5v geschaltet werden können ohne dabei zu große Hitze(wird verlötet und kommt mit PLA(kunstoff) in Kontakt) zu entwickeln, bestenfalls ohne Kühlkörper. Der arduino nano kann bis zu 20mA schalten welche Wiederstände ich dann bräuchte könntet ihr auch gerne mit antworten.

Der Transistor würde dann als schalter verwendet werden und mithilfe von PWM die Lüftergeschwindigkeit Regulieren dabei müsste der Transistor bis zu 980Hz abkönnen..

Falls ich nötige Informationen vergessen habe sind hier die links zu den Dokumentationen (Mit den drei Transistoren die evt in frage kämen):

Arduino nano: https://store.arduino.cc/arduino-nano-every-with-headers

Lüfter: https://www.amazon.de/Brushless-L%C3%A4rmarmer-K%C3%BChlk%C3%BChler-Ventilator-Extruder/dp/B07JQ89YC7/ref=sr_1_5?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&dchild=1

PN2907A: https://cdn-shop.adafruit.com/product-files/3598/PN2907A-D.PDF

IRLB8721PbF: https://cdn-shop.adafruit.com/datasheets/irlb8721pbf.pdf

TIP120: https://cdn-shop.adafruit.com/datasheets/TIP120.pdf

Danke für die Antworten im voraus!

Ich werde fragen in den Kommentaren versuchen so früh wie möglich beantworten.

Technik, Elektronik, Arduino
Wie schaffe ich es, dass ich eine LED durch Knopfdruck blinken lassen kann und durch den Knopf die LED dann wieder ausschalten kann?

Hi, ich will mit einer LED ein Auge nachstellen. Um genauer zu werden, man soll per Knopfdruck die LED anschalten, diese soll dann 5 Sekunden an sein, dann für 1 Sekunde aus und dann wieder für 5 Sekunden an, und so weiter... Wenn man dann aber den Taster wieder betätigt, soll die LED ausgehen und die LED soll dann einfach aus bleiben.

Ich habe bereits ein Sketch geschrieben, in dem die LED blinkt und wenn man den Knopf drückt, die LED wieder ausgeht. Soweit so gut, aber ich hab leider keine Ahnung, wie ich es hinbekomme, dass die LED nicht einfach nur blinkt, sondern halt für 5s blinkt, dann für 1s und so weiter, und nicht einfach nur in einem Intervall von 1 Sekunde... Habt ihr eine Idee, was ich im Sketch falsch gemacht habe, oder eine IDee wie man das Problem lösen kann?

Sketch:

int ledState = LOW; 

uint8_t TasterValue = 0;

uint8_t BlinkValue = 0;

uint8_t status = 0;

unsigned long previousMillis = 0;     

const byte TasterPin = 12; 

const long interval = 1000;        // Blinkintervall in Millisekunden

void setup() {

 pinMode(13, OUTPUT); 

 pinMode (TasterPin, INPUT_PULLUP); 

}

void loop() {

 unsigned long currentMillis = millis();

 if (BlinkValue == HIGH) {          

  if (currentMillis - previousMillis >= interval) {

   previousMillis = currentMillis;

   if (ledState == LOW)

    ledState = HIGH;

   else

    ledState = LOW;

   digitalWrite(13, ledState);

  }

 }

 else

  digitalWrite(13, LOW);       

 

 TasterValue = digitalRead (TasterPin); 

 if (status != TasterValue) {   

  if (TasterValue) {            

   BlinkValue = !BlinkValue;    

  }

  status = TasterValue;     

  delay (200);

 }

}

Ich hoffe das dies einigermaßen übersichtlich ist und nur nochmal zum Verständnis. Mit diesem Sketch kann ich per Knopfdruck die LED aktivieren und diese blinkt dann im Intervall von 1s. Ich will aber das Gleiche, nur dass die LED nicht einfach nur im Intervall von 1s blinkt sondern dass die LED 5s an ist, dann 1s aus und dann wieder 5s an..., aber man soll das ganze per Knopfdruck komplett wieder ausschalten können.

~ArduinoGeek

Computer, Technik, Elektronik, programmieren, Arduino, LED, Sketch, Technologie, Arduino Uno, Arduino IDE
Feuchtigkeitssensor wie sinnvoller anwenden in automatischer Gießanlage (Arduino)?

Hi,

Ich habe mir vor einem Jahr eine automatische Gießanlage mit einem Arduino gebaut. Die macht ihre Arbeit hervorragend. Gießt ein bis zwei Mal am Tag die Blumenkästen. Wassertank reicht etwa 14 Tage, ist der leer schaltet sich die Pumpe nicht an. Alles prima.

Jedoch war die eigentliche Absicht, erst die Feuchtigkeit zu messen und danach zu entscheiden ob gegossen werden muss oder nicht. Platine ist schon ne Weile angepasst und der Sketch geschrieben.

Mein Problem ist aber, dass ich mir den Messvorgang selber, einfacher vorgestellt hätte. Ich habe innerhalb nur eines Blumenkastens extreme Unterschiede in der Feuchtigkeit. Der Sensor ist so programmiert das der Wert einen Bereich von 0 bis 100 hat. Nun ist der Wert selber so unterschiedlich innerhalb weniger Zentimeter das zwischen etwa 40 und 80 alles möglich ist.

Ich hab kein Plan wie ich ansatzweise einen Mittelwert erreiche oder ob ich es ganz anders angehen muss. Ich habe eigentlich auch keinen Bock in jedem Kasten 2 Sensoren einzustellen und dann den Mittelwert zu errechnen.

Erst mal wäre das ein enormer Kabelsalat und dann wäre das immer noch ungenau weil der Wert innerhalb keiner Bereiche stark von einander abweicht.

Ich überlege schon seit Wochen wie es doch möglich wäre, eine sinnvolle Messung vorzunehmen.

Bild zum Beitrag
Erde, Giessen, Arduino, Blumenkasten, Feuchtigkeit, messen, Sensor

Meistgelesene Beiträge zum Thema Arduino