Hallo iedereen, ik zal proberen het verhaal niet te lang te maken.. Goed, ik wilde een kippendeur maken die open en dicht kan via een ESP8266 met Arduino. Dus wat heb ik gekocht/gebruikt een ESP8266 met Arduino code erop een 4 board relay die op 5V werkt, een simpele 12V motor die dus geschakeld word door het relay board. 2 magneet "sensors" geplaatst boven en onder zodat ik weet wanneer het deurtje boven of beneden is.
Je hebt schijnbaar ingebouwde PULLUP resistors maar werd afgeraden die te gebruiken. Dus ik had weerstandjes ertussen gezet zoals ergens omschreven op een site.
Probleem: Ik geef de opdracht om het deurtje open te maken en deze gaat soms goed open tot de sensor is bereikt maar vaak stopt die gewoon ineens?
// check of de motor aan is en dus uit moet..
if (digitalRead(RelayMDown) == LOW) {
// motor laat deur zakken, check of deze beneden is.
if (digitalRead(doorDownSensorPin) == LOW) {
Serial.println("Sensor bereikt, motor uit!");
Ik krijg dan dus ook te zien sensor bereikt.. Maar dit is dus niet waar. Toen per ongeluk de ESP opgeblazen. Heb nu een Wemos gekocht want die heeft een losse antenne voor wifi (beter bereik) en maar besloten om de interne weerstand te gebruiken (via massa dus)
pinMode(doorUpSensorPin, INPUT_PULLUP);
pinMode(doorDownSensorPin, INPUT_PULLUP);
pinMode(ManualButtonPin, INPUT_PULLUP);
Probleem nog steeds aanwezig, 1 keer gaat het goed of 2 keer.. en dan stopt die weer halverwege met dat de sensor bereikt is. Vervolgens alles eraf gesloopt en 2 microswitches geplaatst met een hefboompje een schroef in het deurtje gedraaid die dus de microswitch indrukt. Ook andere bedrading gebruikt.
Weer hetzelfde probleem! Ik snap echt niet waarom doorDownSensorPin naar LOW gaat terwijl de microswitch niet word ingedrukt.. Dus nog voor de zekerheid met de interne weerstanden is het probleem aanwezig maar ook als ik zelf aparte plaats (meen 10k)
Zie bijlage voor fotos.
Ik snap er echt niks meer van..
Edit, bedenk me nu wel dat ik ManualButtonPin niet gebruik nu.. die staat dus wel in de code alsin:
const int ManualButtonPin = 13; // D7 manual switch
pinMode(ManualButtonPin, INPUT_PULLUP);
Die zit dus niet aangesloten, maar lijkt mij niet het probleem toch?