Skocz do zawartości

Arduino + silnik krokowy 28BYJ-48 pytania do szkicu


kamilzkamil

Pomocna odpowiedź

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 ?

Jeszcze raz podkreślę ze bardzo słabo się znam na programowaniu pewnie sporo namieszałem ktoś da mi wskazówkę ?

#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);
 }
}
 
Link do komentarza
Share on other sites

kamilzkamil, witam na forum!

Jeśli dobrze rozumiem Twój problem to chcesz po prostu reagować na zbocze sygnału. Możesz to obsłużyć "ręcznie" pisząc odpowiedni program, który będzie sprawdzał aktualny i poprzedni stan wejścia. Możesz też wykorzystać do tego przerwania, które mają wbudowany mechanizm wyzwalania zboczem. Więcej o przerwaniach na Arduino znajdziesz w tym artykule: Kurs Arduino II – #4 – przerwania, kontaktron, czujnik PIR

Link do komentarza
Share on other sites

Bardzo się ciesze ze widzę odpowiedz 🙂

ktoś mi gdzieś coś mówił o "zboczu" mam wątpliwości abym to napisał ponieważ poziom mojego programowania jest na poziomie raczej początkującego a innego doświadczenia ani wiedzy nie mam, mimo wszystko chciałbym spróbować to a nie bawić sie w dodatkowe gadżety, chociaż czuje ze tak sie to skończy a i tak będę potrzebować pomocy aby napisać skecz tak aby działało razem z kontaktorem

Czy możesz dać mi jakieś wskazówki odnośnie tego jak to napisać w 1 skeczu ? tylko błagam nie posługuj się fachowym słownictwem 🙂

Link do komentarza
Share on other sites

Skoro masz kłopty z programowaniem, to może warto się ich pozbyć? Po to są tu (i w wielu innych miejscach) kursy, by właśnie tacy jak Ty mogli samodzielnie rozwiazywać podobne problemy. Jak mamy nie posługiwać się terminami z zakresu informatyki skoro piszemy o programie? Przy okazji: znajdż w Słowniku Języka Polskiego znaczenie wyrazu "skecz". Zaskakujące, prawda? To może nie przynoś sobie więcej wstydu używaniem wyrazów, których znaczenia nie znasz.

No a wracając do Twojego urządzenia. Projektując takie rzeczy od razu wychodzi czy umiesz myśleć logicznie czy napalasz się jak dzieciak na lizaka. Aby dostać jakąś pomoc musisz wytłumaczyć wszystkim co dokładnie chcesz zrobić. Tak, ogólnie wiemy, że ma to by przysłona do jakiegoś wiatraka, ale:

1. Po co Ci EEPROM?

2. Co ma się stać, gdy w czasie ruchu silnika w którąś stronę wejście sterujące zmieni swój stan na przeciwny? Czy silnik ma dojechać do końca drogi i zacząć wracać, czy ma od razu ruszyć z pworotem?

3. Co się stanie, gdy w czasie ruchu zostanie odółączone zasilanie procesora, albo załączone gdy przysłona jest w pozycji pośredniej? Silnik robiąc swoje standardowe N obrotów zerwie jakieś liniki, cięgła itp?

4. Czy przewidujesz jakieś informowanie procesora o położeniu przysłony? Choćby tylko za pomocą wyłączników krańcowych, np. "Całkowicie otwarte" i "Całkowiecie zamknięte"? To by umożłiwiło jakąś orientację programu w aktulanym położeniu - przepraszam za trudny wyraz - obiektu sterowanegoi zabezpieczało przed kręceniem poza granicami dopuszczalnego ruchu.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

czytam ile mogę ale zrozumienie dosyć skomplikowanych rzeczy nie zawsze jest możliwe w innym przypadku nie chodziło by się do szkol na studia nie byli by potrzebni nauczyciele.

pomijam kwestie talentu i jego braku w tym zakresie jeśli chodzi o mnie to opcja numer 2 niestety.

co do pytań

1)EEPROM miał być na wypadek gdyby zabrakło zasilania i miał zapamiętać ostatni stan aby nie otwierać tego co już było otwierane i nie zamykać tego co zamknięte.

dlaczego ? bo tylko takie rozwiązanie znalazłem w sieci, chyba ze ktoś ma lepszy pomysł

2)o tym nie pomyślałem myślę ze szansa na taki przypadek jest kosmicznie mała, każda z wymienionych przez Ciebie opcji mi się podoba.

3) w pozycji pośredniej jeśli silnik zrobiłby wszystkie obroty na nowo to mogą się zerwać

4) nie bądź az taki złośliwy 🙂 chodziło mi tylko o to aby nie zasypywać nowicjusza który ma do czynienia od czasu do czasu z diodami i prostymi szkicami 😉  pojęciami z 2 roku studiów informatycznych, czujniki wolałem omijać i skopić się na samym programie, o ile to możliwe

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.