Najprostszy układ z mikrokontrolerem

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
andrzej1_1
-
Posty: 39
Rejestracja: 28 lip 2010, 14:42
Lokalizacja: Stróże

Najprostszy układ z mikrokontrolerem

Post autor: andrzej1_1 » 13 gru 2010, 15:51

Jak w temacie. Potrzebuje schemat układu w którym jest mikrokontroler i do niego zasilanie oraz dioda led. Czy mógłby ktoś zrobić?

P.s Najlepiej z attiny13

Awatar użytkownika
mr_x
Użytkownik
Posty: 385
Rejestracja: 12 gru 2010, 19:05
Lokalizacja: /bin/bash
Kontakt:

Post autor: mr_x » 13 gru 2010, 15:57

Wraz z programem na niego? Bo zapewne zdajesz sobie sprawę, że bez oprogramowania ten układ będzie "martwym meblem"?

andrzej1_1
-
Posty: 39
Rejestracja: 28 lip 2010, 14:42
Lokalizacja: Stróże

Post autor: andrzej1_1 » 13 gru 2010, 16:29

Program umiem zrobić tylko nie wiem jak zrobić układ. Może być schemat z dołączonym programem który będzie migał diodą.

Jony130
Moderator
Posty: 3170
Rejestracja: 11 sie 2005, 16:33
Lokalizacja: wrocław

Post autor: Jony130 » 13 gru 2010, 16:35


andrzej1_1
-
Posty: 39
Rejestracja: 28 lip 2010, 14:42
Lokalizacja: Stróże

Post autor: andrzej1_1 » 14 gru 2010, 8:24

A mógłby to ktoś przerobić na układ bez ISP?

Awatar użytkownika
szimon
-
Posty: 87
Rejestracja: 06 maja 2008, 16:47
Lokalizacja: K-lin/Wa-wa
Kontakt:

Post autor: szimon » 14 gru 2010, 11:01

Nieodłącznym elementem programowania mikrokontrolerów jest posiadanie programatora, więc wyrzucenie złącza ISP (lub jakiegokolwiek innego do tego celu służącego) odpada. Chyba, że programujesz na jakiejś innej podstawce i dopiero wtedy wstawiasz w ten układ - w takiej sytuacji usuń złącze i przewody łączące je z układem, VCC procka podłącz do 5V, GND do masy.

andrzej1_1
-
Posty: 39
Rejestracja: 28 lip 2010, 14:42
Lokalizacja: Stróże

Post autor: andrzej1_1 » 15 gru 2010, 9:52

Mam programator z podstawkami na wszystkie AVR'y. Przerobiłem układ lecz nie wiem czy dobrze. Proszę o sprawdzenie układuObrazek

Awatar użytkownika
szimon
-
Posty: 87
Rejestracja: 06 maja 2008, 16:47
Lokalizacja: K-lin/Wa-wa
Kontakt:

Post autor: szimon » 15 gru 2010, 10:16

Jeszcze ten rezystor wypadałoby podłączyć. Nóżka wisząca w powietrzu nie wywoła przepływu prądu. Podłącz ją na przykład do wyprowadzenia nr 7. Wtedy zmieniając stan tego wyprowadzenia zapalasz lub gasisz diodę.

andrzej1_1
-
Posty: 39
Rejestracja: 28 lip 2010, 14:42
Lokalizacja: Stróże

Post autor: andrzej1_1 » 15 gru 2010, 13:57

Takim debilem nie jestem i wiem co to jest obwód zamknięty. Chodziło mi że rezystor jest podpięty jest do Vcc. Czyli podpiąć do wyprowadzenia 7 ?

Awatar użytkownika
mr_x
Użytkownik
Posty: 385
Rejestracja: 12 gru 2010, 19:05
Lokalizacja: /bin/bash
Kontakt:

Post autor: mr_x » 15 gru 2010, 14:54

Nie, do VCC.

andrzej1_1
-
Posty: 39
Rejestracja: 28 lip 2010, 14:42
Lokalizacja: Stróże

Post autor: andrzej1_1 » 16 gru 2010, 7:57

Tak podpiąłem. Tylko po wgraniu kodu nic nie świeci :( . Mógłby ktoś dać kod który włączy i wyłączy diode?

piotreks89
-
Posty: 26
Rejestracja: 16 gru 2010, 8:55
Lokalizacja: Olesno
Kontakt:

Program

Post autor: piotreks89 » 16 gru 2010, 9:40

Proszę, tu masz najprostszy program:

Kod: Zaznacz cały

$regfile = Attiny13.dat
Config Portb = &B11111101
        Portb = &B11111111

Do
If Pinb.1 = 0 Then
Reset Portb.0
Waitms 500
Set Portb.0
End If
Loop

End
Program działa w 100%, bo testowałem. Tylko diodę podłączasz pod PB.0, ale musisz podpiąć też µSwitch pod PB.1. Po naciśnięciu µSwitch-a dioda się zapali na około 500 ms i zgaśnie. Jeżeli potrzebujesz komentarzy wyjaśniających co robi procek podczas wykonywania programu napisz mi na PW

Awatar użytkownika
mr_x
Użytkownik
Posty: 385
Rejestracja: 12 gru 2010, 19:05
Lokalizacja: /bin/bash
Kontakt:

Post autor: mr_x » 16 gru 2010, 12:14

Nie musi być µswitch, wystarczy wyrzucić z kodu pętlę if i dioda będzie od razu migać.

andrzej1_1
-
Posty: 39
Rejestracja: 28 lip 2010, 14:42
Lokalizacja: Stróże

Post autor: andrzej1_1 » 16 gru 2010, 14:37

A mógłbyś dać w kod w C ?

P.s nie chce przycisku lecz pętle nieskończoną

piotreks89
-
Posty: 26
Rejestracja: 16 gru 2010, 8:55
Lokalizacja: Olesno
Kontakt:

Post autor: piotreks89 » 16 gru 2010, 15:34

W takim razie proszę (program w BASCOMIE):

Kod: Zaznacz cały

$regfile = Attiny13.dat
Config Portb = &B111111
        Portb = &B111111

Do
If Pinb.0 = 1 Then
   Portb.0 = 0
      Waitms 250
   Portb.0 = 1
      Waitms 250
End If
Loop

End
Program działa według oczekiwań autora, sprawdzałem. Dioda zapala się i gasi co 250 ms. Cała operacja trwa pół sekundy. Powodzenia z pierwszym programem ;)
Jakby co, to masz też schemat:
Obrazek

Do mr_x:
Wydaje ci się, że wyrzucenie warunku wystarczy?
Otóż z teoretycznego punktu widzenia tak, lecz z praktycznego nie. Na początku, kiedy czytałem ten wątek też tak pomyślałem, lecz jak zaprogramowałem Tinke13 programem bez warunku, dioda świeciła się cały czas. Nie wiem dlaczego. Tu mamy przykład, tego iż teoria nie zawsze zlewa się praktyką. Dlatego musimy wykorzystać warunek IF.

ODPOWIEDZ