Teraz jest sobota, 15 marca 2025, 00:45

Strefa czasowa: UTC + 1




Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
 Tytuł: Arduino i zegar kolejowy.
PostNapisane: piątek, 17 lipca 2015, 16:19 
Offline
Moderator
Avatar użytkownika

Dołączył(a): niedziela, 21 marca 2010, 18:35
Posty: 2347
Wiek: 61
Lokalizacja: Poznań - Jeżyce
Ostatniemi czasy udało mi sie pozyskac, ze starej hali fabrycznej, zegar "peronowy" wyprodukowany z 1962 roku zegar mierzący 50 cm średnicy.
Jest to tak zwany zegar wtórny i do pracy potrzebuje zegara matki. Ponieważ zapałałem chęcią uruchomienia ustrojstwa rozpocząłem poszukiwania internetu.
znalazłem taki wątek na "http://majsterkowo.pl/sterownik-zegarow-wtornych-pkp/ Majsterkowie".
Sterownik silnika krokowego miałem, zasilacz jakiś się znalazł. modułu czasu rzeczywistego nie miałem, więc postanowiłem przepisać kod z w/w strony i użyć zegara wewnetrznego Atmegi.
no i wisi sobie teraz dumnie w korytarzu i cyka co minutę. :)


Załączniki:
20150717_132930.jpg
20150717_132930.jpg [ 2.11 MiB | Przeglądane 4555 razy ]
20150717_132945.jpg
20150717_132945.jpg [ 1.75 MiB | Przeglądane 4555 razy ]

_________________
Bartek
NEVER STOP EXPLORING!
Góra
 Zobacz profil Wyślij e-mail  
 
 Tytuł: Re: Arduino i zegar kolejowy.
PostNapisane: piątek, 17 lipca 2015, 16:25 
Przecież to "trzaska" co minutę, jak Byś kałasza przeładowywał :lol: Ale projekt fajowy Obrazek


Góra
  
 
 Tytuł: Re: Arduino i zegar kolejowy.
PostNapisane: sobota, 18 lipca 2015, 04:30 
Offline
Moderator
Avatar użytkownika

Dołączył(a): środa, 31 marca 2010, 08:00
Posty: 3701
Wiek: 75
Lokalizacja: Pabianice
No i widać, która godzina, bez zastanawiania się ile to jest np. 17 dzielone przez 43 ;)

_________________
Pozdrawiam
karol


Góra
 Zobacz profil Wyślij e-mail  
 
 Tytuł: Re: Arduino i zegar kolejowy.
PostNapisane: piątek, 24 lipca 2015, 17:33 
Offline
Moderator
Avatar użytkownika

Dołączył(a): niedziela, 21 marca 2010, 18:35
Posty: 2347
Wiek: 61
Lokalizacja: Poznań - Jeżyce
Wkleje kod, może sie komuś przyda. jako sterownik wykorzystałem sterownik silnika na L298, bo taki miałem pod ręką. Jest oczywiście zdecydowanie za mocny, ale taki miałem.

/*

Projekt dla Arduino, z wykorzystaniem
do pomiaru czasu wewnętrznego zegara Atmegi
Jest to adaptacja kodu ze strony:
http://majsterkowo.pl/sterownik-zegarow-wtornych-pkp/

*/





int clockSET = 6; // przycisk popychania zegara - Arduino pin 6

int clockDIR = 7; // Pierwszy Pin na driverze silnika - Arduino pin 7

int clockPWM = 8; // Drugi Pin na drajwerze silnika - Arduino pin 8

int clockPOL = 0; // sygnalizacja zmiana polaryzacji cewki zegara

boolean zwloka = true; // zwłoka aby minuta nie przeskakiwała kilka razy

long previousMillis = 0; // will store last time LED was updated

long interval = 60000; // jedna minuta (milliseconds)

void setup()

{

pinMode(clockPWM, OUTPUT);

pinMode(clockDIR, OUTPUT);

pinMode(clockSET, INPUT);

clockPOL = 0;

digitalWrite(clockPWM, LOW);

digitalWrite(clockDIR, LOW);

zwloka = false;

}



void loop()

{

unsigned long currentMillis = millis();



if(zwloka == false) {

if(currentMillis - previousMillis > interval) {

previousMillis = currentMillis;

if (clockPOL == 0)

{

clockPOL = 1;

digitalWrite(clockPWM, HIGH);

digitalWrite(clockDIR, LOW);

delay(500);

digitalWrite(clockPWM, LOW);

digitalWrite(clockDIR, LOW);

}

else

{

clockPOL = 0;

digitalWrite(clockPWM, LOW);

digitalWrite(clockDIR, HIGH);

delay(500);

digitalWrite(clockPWM, LOW);

digitalWrite(clockDIR, LOW);

}

zwloka = !zwloka;
}

} else {

delay(10000); // czekamy 10 sekund po każdej minucie aby uniknąć dodatkowych przesunięć wskazówki minutowej

zwloka = !zwloka;
}


// Ręczne popychanie zegara

int clockRST = digitalRead(clockSET);

if (clockRST == HIGH) // pętla wykonuje się gdy jest naciśnięty przycisk Pin 6

{

if (clockPOL == 0)

{

digitalWrite(clockPWM, LOW);

digitalWrite(clockDIR, HIGH);

delay(500);

digitalWrite(clockPWM, LOW);

digitalWrite(clockDIR, LOW);

clockPOL = 1;

}

else

{

digitalWrite(clockPWM, HIGH);

digitalWrite(clockDIR, LOW);

delay(500);

digitalWrite(clockPWM, LOW);

digitalWrite(clockDIR, LOW);

clockPOL = 0;

}

}

}

_________________
Bartek
NEVER STOP EXPLORING!


Góra
 Zobacz profil Wyślij e-mail  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron

129,998,861 Wyświetlone Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Przyjazne użytkownikom polskie wsparcie phpBB3 - phpBB3.PL