Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 16 kwi 2024, o 11:23


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 
Autor Wiadomość
PostNapisane: 15 sty 2017, o 19:42 
Offline
Nowy

Dołączył(a): 15 sty 2017
Posty: 6
Pomógł: 0

Witam
Mam nadzieje ze w dobrym temacie zamieszczam ten wątek. Dodam że jestem amatorem w programowaniu i jest to mój pierwszy kontakt z mikrokontrolerami. Mój mikrokontroler to Atmega8A, a próbuje się uczyć programować na platformie eclipse indigo
Mam problem z napisaniem programu dzięki któremu mój mikrokontroler będzie mrugał naprzemian z przerwami. Do tej pory udało mi się napisać program który mruga ale bez przerw:

Składnia: [ Pobierz ] [ Ukryj ]
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Czy mógłby mi ktoś pomoc w napisaniu programu który będzie zapalał diodę d1 na x sekund następnie będzie przerwał na y sekund i zapali się druga dioda d2 po czym znowu nasąpi przerwa i tak na okrągło...
Z góry dzięki



Ostatnio edytowano 15 sty 2017, o 22:31 przez Tomek20NT, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2017, o 19:50 
Offline
Użytkownik

Dołączył(a): 26 lut 2014
Posty: 288
Lokalizacja: Gdańsk
Pomógł: 13

topic7402.html

Bo nie gasisz jej przed zapaleniem drugiej, jeśli dobrze rozumiem koncepcję...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2017, o 20:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

witam,
edytuj post i wklej kod w "syntax C". to ważne.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

A w którym miejscu i jakie przerwy planujesz ?

czy chodzi mniej więcej o to ?
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2017, o 20:14 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 cze 2016
Posty: 247
Lokalizacja: Rybnik
Pomógł: 13

Najpierw mignij jedną diodą, potem drugą i tak w kółko.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
A do tego schemacik
Obrazek


Autor postu otrzymał pochwałę

_________________
Situs != Situs



Ostatnio edytowano 15 sty 2017, o 21:37 przez Situs, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2017, o 21:31 
Offline
Nowy

Dołączył(a): 15 sty 2017
Posty: 6
Pomógł: 0

Program ma działać tak:

po uruchomieniu zapala diode d1 na np: 3 minuty, nastepnie gasi diode d1 i jest przerwa ktora trwa 30 sekund. Po 30 sekundach zapala się dioda d2 na 3 miniuty po czym gasnie na np:30 sekund i tak w kółko..

Kiedyś na tej zasadzie chciałbym zrobić sterowanie silnikiem- obroty lewo prawo

silnik obraca sie w lewo, przerwa na 30 sekund zeby sie zatrzymal, obraca sie w prawo znowu przerwa itd...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2017, o 21:34 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

A to wypadało by zainteresować się timerami. :)
I od nich dowolnie uzależniać dalsze polecenia. ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2017, o 21:38 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 cze 2016
Posty: 247
Lokalizacja: Rybnik
Pomógł: 13

Oki poprawiłem program, ale jak kol Daro napisał najlepiej użyć timerów z przerwaniami aby migać w "tle"

_________________
Situs != Situs



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2017, o 21:41 
Offline
Nowy

Dołączył(a): 15 sty 2017
Posty: 6
Pomógł: 0

ok dzieki za komendy i schemat, skaladm to wlasnie i odpalam eclipsa, chwile mi to zejdzie xD, a bez timerów będzie źle?

Z czego polecacie się uczyć początkującemu proramować? jakieś książki, filmiki itd...?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2017, o 21:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 cze 2016
Posty: 247
Lokalizacja: Rybnik
Pomógł: 13

No przede wszystkim jeżeli masz miejsce na dysku to pobierz i oglądaj http://atnel.pl/atnel-video-player.html. Jak nie masz, to skorzystaj z https://www.youtube.com/user/mirekk36 a do tego to http://mirekk36.blogspot.com/ i to http://mikropasje.blogspot.com/

_________________
Situs != Situs



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2017, o 21:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 01 lis 2015
Posty: 1448
Lokalizacja: okolice Warszawa
Pomógł: 149

na początek możesz wprowadzić jednego delay'a , np 1000ms,
i zliczać zmienną na końcu pętli.
jeżeli zliczy do 30, to wystawia flagę 1, (bo minęło 30 sekund).
jeżeli ta flaga jest wystawiona to w pętli if'em wykonać polecenie i flagę wyzerować kasując jednocześnie flagę na 0. i czekać następne 30 sek. :)
..........................................................
innym sposobem jest zliczanie do większej 9ilości i sprawdzanie reszty z dzielenia.
jeżeli reszta z dzielenia przez 30 jest równa 0 to wystaw flagę_1 ("flaga_co_30_s") np. :)
...........................................................
potem (następny sposób) to załączyć timer i za jego pomocą wykonywać odliczanie czasu niejako w tle działającego programu. :)
...........................................................
Tomek20NT napisał(a):
Z czego polecacie się uczyć początkującemu proramować?

polecam https://www.sklep.atnel.pl/pl/p/Mikrokontrolery-AVR-Jezyk-C-podstawy-programowania-PL-Ksiazka-Pendrive/75
i blog http://www.mirekk36.blogspot.com/
Ja na tych żeruję. i mknę do przodu. też od podstaw. ;)
no i ocvzywiście nasze forum ATNEL. :D

------------------------ [ Dodano po: 1 minucie ]

i edytuj pierwszy post. wklej kod w syntax C . ważne.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 15 sty 2017, o 23:09 
Offline
Nowy

Dołączył(a): 15 sty 2017
Posty: 6
Pomógł: 0

Pięknie to chodzi, dzięki:)

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.




Teraz na wyjściu muszę dać jakieś tranzystory+ przekaźniki do sterowania stycznikami obrotow raz lewo, raz prawo. Macie jakies pomysly jakie elementy powstawiać?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sty 2017, o 09:32 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 cze 2016
Posty: 247
Lokalizacja: Rybnik
Pomógł: 13

Jak będę w domu to zrobię jakiś schemat.

------------------------ [ Dodano po: 17 minutach ]

Bez timerów to procek jest zajęty czekaniem,długie opóźniemia nie są zbyt "fajne". Używając timerów można migać w tle a pętlę główną zająć czymś innym np wysyłaniem odczytów z adc na lcd.

_________________
Situs != Situs



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 sty 2017, o 12:12 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 30 cze 2016
Posty: 247
Lokalizacja: Rybnik
Pomógł: 13

Oki mam schemacik
Obrazek


Autor postu otrzymał pochwałę

_________________
Situs != Situs



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 lut 2017, o 14:17 
Offline
Nowy

Dołączył(a): 15 sty 2017
Posty: 6
Pomógł: 0

Dzięki za pomoc, postaram się to niebawem uruchomić.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 9 lut 2017, o 21:46 
Offline
Nowy

Dołączył(a): 15 sty 2017
Posty: 6
Pomógł: 0

Wszystko pieknie działa jednak czasy się nie zgadzają... :/ 180000ms trwa okolo 57 sekund



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 

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:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO