Hulp bij garagedeur openen
1 bericht
• Pagina 1 van 1
Hulp bij garagedeur openen
Mijn print van de garage deuropener is defect (30 jaar oud)
Dus ben ik maar begonnen met een nieuwe te maken met een Arduino UNO
Graag zou ik mijn oude afstandbediening weer willen gebruiken (1 Knops)
Nu loop ik tegen een probleem aan die ik niet onder de knie krijg, en wel het volgende:
Als ik het systeem op start dan moet de deur naar beneden gaan zodat deze in een beginstand komt te staan.
Nu zou het zo moeten zijn dat de deur (deurupPin) omhoog moet gaan als "doorisdownPin" high is en de "transmitterPin" is high en moet stopen als "doorisupPin" high word.
En als nu dus de deur naar beneden (deurdownPin) moet "deurisupPin" is high en de "transmitterPin" is high en weer moet stopen als "doorisdownPin" high word, maar er is ook nog een knelbeveiliging (safetytubePin) als deze high word moet de deur direct omhoog gaan.
Dit zijn voor mij te veel parameters die ik niet logisch kan afhandelen in mijn script.
Ik hoop dat jullie mij hiermee kunnen helpen.
Dus ben ik maar begonnen met een nieuwe te maken met een Arduino UNO
Graag zou ik mijn oude afstandbediening weer willen gebruiken (1 Knops)
Nu loop ik tegen een probleem aan die ik niet onder de knie krijg, en wel het volgende:
Als ik het systeem op start dan moet de deur naar beneden gaan zodat deze in een beginstand komt te staan.
Nu zou het zo moeten zijn dat de deur (deurupPin) omhoog moet gaan als "doorisdownPin" high is en de "transmitterPin" is high en moet stopen als "doorisupPin" high word.
En als nu dus de deur naar beneden (deurdownPin) moet "deurisupPin" is high en de "transmitterPin" is high en weer moet stopen als "doorisdownPin" high word, maar er is ook nog een knelbeveiliging (safetytubePin) als deze high word moet de deur direct omhoog gaan.
Dit zijn voor mij te veel parameters die ik niet logisch kan afhandelen in mijn script.
Ik hoop dat jullie mij hiermee kunnen helpen.
- Code: Alles selecteren
#include "Timer.h"
#include "Bounce2.h"
const int doorisdownPin = D2; // Active if door is down.
const int doorisupPin = D3; // Active if door is up.
const int safetytubePin = D4; // Active if safetytube is pusht.
const int doorupPin = D5; // Door goes up.
const int doordownPin = D6; // Door goes down.
const int lightPin = D7; // Output for light.
const int buttonPin = D8; // Input for button.
const int transmitterPin = D9; // Input for transmitter.
int doorisdownPinState = 0;
int doorisupPinState = 0;
int safetytubePinState = 0;
int buttonPinState = 0;
int transmitterPinState = 0;
int pushed = 0;
Timer t;
Bounce debouncer = Bounce();
//*******************************************************************************
void setup() {
Serial.begin (115200);
pinMode(doorisdownPin, INPUT);
pinMode(doorisupPin, INPUT);
pinMode(safetytubePin, INPUT);
pinMode(buttonPin, INPUT_PULLUP);
pinMode(transmitterPin, INPUT_PULLUP);
pinMode(doorupPin, OUTPUT);
pinMode(doordownPin, OUTPUT);
pinMode(lightPin, OUTPUT);
debouncer.attach(buttonPin); // Pin to debounce.
debouncer.attach(transmitterPin); // Pin to debounce.
debouncer.attach(safetytubePin); // Pin to debounce.
debouncer.interval(50); // Debounce interval time in ms
//doordown; // If powerup then doordown.
Serial.println("Programm start");
}
//*******************************************************************************
void loop() {
debouncer.update(); // Update the Bounce instance
int value = debouncer.read(); // Get the updated value
transmitterPinState = digitalRead(transmitterPin); // Read the push button value
if(transmitterPinState == HIGH && doorisupPinState == HIGH){
pushed = 1-pushed;
delay(100);
}
if(pushed == HIGH){
Serial.println("Door goes DOWN");
//digitalWrite(doordownPin, HIGH);
doordown;
}
}
//********************************************************************************
void doorup()
{ Serial.println(" doorup");
// digitalWrite(doorupPin, HIGH); // Door goes UP.
// ;
// light; // Light ON.
// if (doorisupPin == HIGH); // Door is UP.
// {
// digitalWrite(doorupPin, LOW); // Poweroff "door up".
// Serial.println("Door is UP");
// }
}
//*******************************************************************************
void doordown()
{Serial.println("doordown");
// digitalWrite(doordownPin, HIGH); // Door goes DOWN.
//
// if (safetytubePin == HIGH); // Safetytube is active.
// Serial.println("Safetytube is active");
// {
// digitalWrite(doordownPin, LOW); // Poweroff "door down".
// digitalWrite(doorupPin, HIGH); // Poweron " door up".
// }
// digitalRead(doorisdownPin == HIGH); // Door is DOWN.
// {
// digitalWrite(doordownPin, LOW); // Poweroff "door down".
// Serial.println("Door is DOWN");
// }
}
////*******************************************************************************
//void light()
//{
//t.pulse(lightPin, 12 * 10 * 1000, HIGH); // Light ON for 2 minutes
//t.update(); // Reset timer
// }
//
////*******************************************************************************
////Program end
////*******************************************************************************
Ik ben niet de slimste maar doe wel mijn best.
Andreas
Andreas
Advertisement
1 bericht
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 1 gast