07-08-2018, 08:17
(Ten post był ostatnio modyfikowany: 07-08-2018, 08:25 przez kamilk1092.)
Witam,
Jestem amatorem jeśli chodzi o programowanie, i bardzo prosiłbym was o pomoc
Może zacznę od tego o co mi chodzi.
Potrzebuje napisać szkic który podczas podania stanu wysokiego silnik zrobi kilka obrotów po czym się zatrzyma przy czym stan wysoki cały czas jest podawany.
A następnie jeśli stan zmieni się na niski zrobi tyle samo obrotów w 2 stronę.
i program się wyłączy w oczekiwaniu na zmiane stanu wtedy zareaguje
Ma to być podnoszenie osłony wiatraka, jak wiatrak się włączy osłona się podnosi jak wyłączy to się zamyka.
Czy ktoś z was ma dużo cierpliwości i chciałby pomoc ?
O ile jestem w stanie napisać prostsza cześć to nie mam pojęcia za bardzo jak zrobić aby pętla wykonywała się tylko raz w zależności od stanu wiatraka oraz reagowała tylko wtedy jeśli stan się zmieni oraz najtrudniejsze jeśli zabraknie prądu i system się zresetuje ma pamiętać ostatni stan jaki był i jesli się zmienił to otworzyć lub zamknąć osłonę a jeśli jest ten sam to nie robić nic( nie chce aby np silnik podnosił już podniesiona osłonę)
Jeszcze raz podkreślę ze bardzo słabo się znam na programowaniu pewnie sporo namieszałem ktoś da mi wskazówkę ?
Jestem amatorem jeśli chodzi o programowanie, i bardzo prosiłbym was o pomoc
Może zacznę od tego o co mi chodzi.
Potrzebuje napisać szkic który podczas podania stanu wysokiego silnik zrobi kilka obrotów po czym się zatrzyma przy czym stan wysoki cały czas jest podawany.
A następnie jeśli stan zmieni się na niski zrobi tyle samo obrotów w 2 stronę.
i program się wyłączy w oczekiwaniu na zmiane stanu wtedy zareaguje
Ma to być podnoszenie osłony wiatraka, jak wiatrak się włączy osłona się podnosi jak wyłączy to się zamyka.
Czy ktoś z was ma dużo cierpliwości i chciałby pomoc ?
O ile jestem w stanie napisać prostsza cześć to nie mam pojęcia za bardzo jak zrobić aby pętla wykonywała się tylko raz w zależności od stanu wiatraka oraz reagowała tylko wtedy jeśli stan się zmieni oraz najtrudniejsze jeśli zabraknie prądu i system się zresetuje ma pamiętać ostatni stan jaki był i jesli się zmienił to otworzyć lub zamknąć osłonę a jeśli jest ten sam to nie robić nic( nie chce aby np silnik podnosił już podniesiona osłonę)
Jeszcze raz podkreślę ze bardzo słabo się znam na programowaniu pewnie sporo namieszałem ktoś da mi wskazówkę ?
Kod:
#include <CheapStepper.h>
#include <EEPROM.h>
int przeslona = 3;
int napiecie = 4;
int niskie = 5;
uint8_t EEPROMaddress = 130 ;
CheapStepper stepper (8, 9, 10, 11);
void setup()
{
pinMode(przeslona, INPUT);
pinMode(napiecie, OUTPUT);
Serial.begin(9600);
Serial.println("Ready to start moving!");
stepper.setRpm(12);
}
void loop()
{
przeslona = EEPROM.read(EEPROMaddress); // odczyt zapisu z EEPROM
digitalWrite( napiecie, HIGH); // wyjscie na pinie 5v dla testu
digitalWrite( niskie, LOW); // wyjscie na pinie 0v dla testu
if (digitalRead(przeslona))
{
przeslona = napiecie;
EEPROM.write(EEPROMaddress, przeslona) ;
}
else if(digitalRead(przeslona))
{
przeslona = niskie;
EEPROM.write(EEPROMaddress, przeslona) ;
}
if (digitalRead(przeslona) != LOW)
{
stepper.moveDegreesCW (180);
delay(1000);
}
else
{
stepper.moveDegreesCCW (180);
delay(1000);
}
}