Przejdź do głównej zawartości

Niedrogi, szkolny zestaw mikroprocesorowy.

Nowy rok szkolny rozpędził się już na dobre, należy więc uzupełnić materiał szkoleniowy dla uczniów technikum elektronicznego, z którymi mam zajęcia dotyczące programowania układów mikroprocesorowych. Materiał ten, czyli zestaw artykułów prezentujących różne zastosowania prostego mikrokontrolera ATtiny 2313 oraz bardziej zaawansowanego ATmega, które popełniłem swego czasu, z oczywistych powodów nie jest przeznaczony wyłącznie dla wspomnianych uczniów - jeżeli ktoś uzna, że teksty te zawierają przydatne dla niego informacje, bardzo proszę korzystać z nich do woli. Wszystkie rozwiązania i kody źródłowe można kopiować bez konieczności uzyskiwania zezwolenia czy informowania autora.
Zanim na dobre wprowadzimy do użytku na zajęciach Arduino UNO i DUE (plany powoli się krystalizują, trwają rozmowy itd. ;-)), zachęcam uczniów do przygotowania sobie niewielkiego zestawu mikroprocesorowego, pozwalającego na szybką i bezbolesną naukę podstaw BASCOM-a (lub C/C++) i działania mikrokontrolerów. Sercem tego zestawu jest ATtiny2313 taktowany stabilizowanym zewnętrznie zegarem 4MHz. W skład zestawu wchodzą:
  • mikrokontroler ATtiny 2313;
  • sterownik mocy ULN2803;
  • rezonator kwarcowy 4MHz;
  • dwa kondensatory ceramiczne 22pF;
  • kondensator ceramiczny 100nF;
  • kondensator elektrolityczny 10μF;
  • rezystor 10kΩ;
  • osiem rezystorów 220Ω lub 470Ω;
  • osiem diod elektroluminescencyjnych (LED), najlepiej z soczewką dyfuzyjną;
  • trzy mikrostyki;
  • płytka stykowa i zestaw przewodów;
  • programator dla mikrokontrolerów AVR (polecam USBAsp).
Elementy należy połączyć - oczywiście na płytce stykowej - według schematu:



W tak przygotowanym zestawie, w przypadku użycia całkowicie nowego mikrokontrolera, należy jeszcze odpowiednio przestawić fusebity - chodzi o zapewnienie właściwej częstotliwości taktowania. Jak zmienić konfigurację fusebitów? Proszę zajrzeć do artykułu Po co mi to całe Arduino? oraz do dokumentacji technicznej ATtiny2313, dostępnej na stronach producenta.
Dlaczego własnie ATtiny 2313 i 4MHz? Powód jest prosty: na wyposażeniu pracowni znajdują się podręczniki, w których wszystkie przykłady oparto o zestaw edukacyjny AVT z tak własnie skonfigurowanym 2313. Chodzi po prostu o stuprocentową zgodność zadań.
Zachęcam uczniów do zmontowania układu i przynoszenia na zajęcia.

Komentarze

  1. Jeszcze inny projekt o podobnym znaczeniu (dydaktycznym): https://www.instructables.com/id/Build-Your-Own-Microcontroller/

    OdpowiedzUsuń

Prześlij komentarz

Popularne posty z tego bloga

Niesamowicie prosty czujnik zmierzchowy.

Tym razem zero programowania, będzie natomiast nostalgiczno-wspomnieniowy układzik, lekko zmodyfikowany. Otóż kilka dni temu rozmawialiśmy w gronie znajomych o różnego rodzaju czujnikach zmierzchowych i czujnikach ruchu. Ponieważ należę do tych wariatów, co to hołdują jeszcze owej przestarzałej i kompletnie odrealnionej dziś zasadzie: "po co kupować, gdy można zrobić", stwierdziłem, że poskładam takie coś (czujnik zmierzchowy; sensor ruchu faktycznie lepiej nabyć, choćby ze względu na rozmiary ;)) i być może podłączę do jakiegoś mikrokontrolera. Przypomniało mi się też przy okazji, że znalazłem ostatnio w elektronicznych śmieciach stary fotorezystor (dla niewtajemniczonych: element zmieniający rezystancję, czyli opór elektryczny, pod wpływem działania strumienia światła) RPP130, jeden z kilku pozostałych po montowanych wieki temu układach tranzystorowych do zdalnego sterowania pracą urządzeń za pomocą latarki... No OK, nie było to specjalnie rozbudowane zdalne sterowanie ;)

Płytka prototypowa na bazie ESP8266 (ESP-01)

To nie jest kolejny artykuł traktujący od początku do... nieco dalej (bo na pewno nie do końca) o płytkach ESP8266 . Żeby się dowiedzieć, co to takiego, odwiedźcie proszę np. tę stronę (oraz wiele innych – poproście o pomoc Waszą ulubioną wyszukiwarkę): http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family . No ale żeby nie było, ESP8266 to układ zawierający na pokładzie wydajny mikrokontroler z rdzeniem RISC-owym, taktowany zegarem 40MHz (wersja, o której jest ten wpis) lub 80MHz, 512KB pamięci flash i podsystem komunikacji przez sieć WiFi . Jest powszechnie wykorzystywany jako swego rodzaju karta sieciowa do połączeń bezprzewodowych naszych urządzeń IoT , które budujemy w zaciszu domowych laboratoriów (i nie tylko). Układ montowany jest na płytkach występujących w kilku wersjach, różniących się przede wszystkim liczbą wyprowadzeń uniwersalnych, czyli GPIO – im większa liczba, tym większe możliwości wykorzystania układu (więcej urządzeń peryferyjnych itp.). Są też pewne

Programowanie AVR cz.8: Przetwornik analogowo-cyfrowy oraz modulacja szerokości impulsu.

Dziś kolejny wgląd w wyposażenie mikrokontrolera ATmega48P - tym razem przyglądamy się wbudowanemu w układ przetwornikowi analogowo-cyfrowemu oraz - dostępnej również w modelach ATtiny - modulacji szerokości impulsu realizowanej przez timery. Artykuł ten jest w pewnym sensie wstępem do następnego, który pojawi się już wkrótce, a którego tematykę zdradziłem na końcu. Przetwornik A-C (skrót spotykany w anglojęzycznej literaturze to ADC od Analog to Digital Converter ) to układ pozwalający na zamianę wartości napięcia (elektrycznego sygnału analogowego ;-)) na liczbę. W przypadku mojej ATmegi przetwornik ma rozdzielczość 10-bitową, co oznacza, że wartość napięcia podawanego na wejście przetwornika może być po konwersji zapisana jako liczba z przedziału od 0 do 1023 (musimy użyć zmiennej word do zapamiętania tej liczby). Jeśli jesteśmy w posiadaniu mikrokontrolera w obudowie PDIP 28-wyprowadzeniowej, to mamy do dyspozycji sześć kanałów (niezależnych wejść) przetwornika A-C, przyporzą