Spisu treści:

HackerBox 0040: PIC Destiny: 9 kroków
HackerBox 0040: PIC Destiny: 9 kroków

Wideo: HackerBox 0040: PIC Destiny: 9 kroków

Wideo: HackerBox 0040: PIC Destiny: 9 kroków
Wideo: HackerBox 0040 PIC of Destiny 2024, Lipiec
Anonim
HackerBox 0040: PIC Destiny
HackerBox 0040: PIC Destiny

Pozdrowienia dla hakerów HackerBox na całym świecie. HackerBox 0040 pozwala nam eksperymentować z mikrokontrolerami PIC, płytami stykowymi, wyświetlaczami LCD, GPS i innymi. Ta instrukcja zawiera informacje na temat rozpoczęcia pracy z HackerBox 0040, które można kupić tutaj do wyczerpania zapasów. Jeśli chcesz otrzymywać co miesiąc taki HackerBox bezpośrednio do swojej skrzynki pocztowej, zasubskrybuj na HackerBoxes.com i dołącz do rewolucji!

Tematy i cele edukacyjne dla HackerBox 0040:

  • Opracuj systemy wbudowane z mikrokontrolerami PIC
  • Poznaj programowanie wewnątrzobwodowe systemów wbudowanych
  • Przetestuj opcje zasilania i taktowania dla systemów wbudowanych
  • Interfejs mikrokontrolera PIC z modułem wyjściowym LCD
  • Eksperymentuj ze zintegrowanym odbiornikiem GPS
  • Władaj PIC Destiny

HackerBoxes to miesięczna usługa subskrypcji dla elektroniki DIY i technologii komputerowej. Jesteśmy hobbystami, twórcami i eksperymentatorami. Jesteśmy marzycielami marzeń.

ZHAKUJ PLANETĘ

Krok 1: Lista zawartości dla HackerBox 0040

Image
Image
  • Mikrokontroler PIC PIC16F628 (DIP 18)
  • Mikrokontroler PIC PIC12F675 (DIP 8)
  • Programator i debuger w obwodzie PICkit 3
  • Cel programowania gniazda ZIF dla zestawu PICkit 3
  • Kabel USB i przewody nagłówkowe dla PICkit 3
  • Moduł GPS z wbudowaną anteną
  • 16x2 alfanumeryczny moduł LCD
  • Zasilacz Breadboard z MicroUSB
  • Kryształy 16,00 MHz (HC-49)
  • Dotykowe przyciski chwilowe
  • Rozproszone CZERWONE diody LED 5mm
  • Potencjometr przycinający 5K Ohm
  • Kondensatory ceramiczne 18pF
  • Kondensatory ceramiczne 100nF
  • Rezystory 1K Ohm 1/4W
  • Rezystory 10K Ohm 1/4W
  • 830 punktowa (duża) bezlutowa płytka do krojenia chleba
  • Uformowany zestaw przewodów połączeniowych ze 140 elementami
  • Kostki do gitary celuloidowej
  • Ekskluzywna naklejka na matrycę PIC16C505

Kilka innych rzeczy, które będą pomocne:

  • Lutownica, lut i podstawowe narzędzia lutownicze
  • Komputer do uruchamiania narzędzi programowych

Co najważniejsze, będziesz potrzebować poczucia przygody, ducha hakera, cierpliwości i ciekawości. Budowanie i eksperymentowanie z elektroniką, choć bardzo satysfakcjonujące, może być trudne, trudne, a czasem nawet frustrujące. Celem jest postęp, a nie doskonałość. Kiedy wytrwasz i cieszysz się przygodą, to hobby może przynieść wiele satysfakcji. Zrób każdy krok powoli, pamiętaj o szczegółach i nie bój się prosić o pomoc.

W FAQ HackerBoxes znajduje się mnóstwo informacji dla obecnych i przyszłych członków. Odpowiedzi na prawie wszystkie nietechniczne e-maile, które otrzymujemy, są już tam udzielane, więc naprawdę dziękujemy za poświęcenie kilku minut na przeczytanie FAQ.

Krok 2: Mikrokontrolery PIC

Programowanie mikrokontrolerów PIC z PICkit 3
Programowanie mikrokontrolerów PIC z PICkit 3

Rodzina mikrokontrolerów PIC jest produkowana przez Microchip Technology. Nazwa PIC początkowo odnosiła się do kontrolera interfejsu peryferyjnego, ale później została zmieniona na programowalny inteligentny komputer. Pierwsze części w rodzinie pojawiły się w 1976 r. Do 2013 r. wysłano ponad dwanaście miliardów pojedynczych mikrokontrolerów PIC. Urządzenia PIC są popularne zarówno wśród programistów przemysłowych, jak i hobbystów ze względu na niski koszt, szeroką dostępność, dużą bazę użytkowników, obszerny zbiór notatek aplikacyjnych, dostępność tanich lub bezpłatnych narzędzi programistycznych, programowanie szeregowe i możliwość ponownego programowania pamięci Flash. (Wikipedia)

HackerBox 0040 zawiera dwa mikrokontrolery PIC tymczasowo osadzone do transportu w gnieździe ZIF (zero wkładania siły). Pierwszym krokiem jest usunięcie dwóch PIC z gniazda ZIF. Proszę, zrób to teraz!

Dwa mikrokontrolery to PIC16F628A (datasheet) w pakiecie DIP18 i PIC12F675 (datasheet) w pakiecie DIP8.

Przykłady tutaj używają PIC16F628A, jednak PIC12F675 działa podobnie. Zachęcamy do wypróbowania go we własnym projekcie. Jego niewielki rozmiar stanowi wydajne rozwiązanie, gdy potrzebujesz tylko niewielkiej liczby pinów we/wy.

Krok 3: Programowanie mikrokontrolerów PIC za pomocą PICkit 3

Istnieje wiele kroków konfiguracyjnych, które należy wykonać podczas korzystania z narzędzi PIC, więc oto dość prosty przykład:

  • Zainstaluj oprogramowanie MPLAB X IDE firmy Microchip
  • Pod koniec instalacji zostanie wyświetlony link do zainstalowania kompilatora MPLAB XC8 C. Pamiętaj, aby to wybrać. XC8 to kompilator, którego będziemy używać.
  • Włóż chip PIC16F628A (DIP18) do gniazda ZIF. Zwróć uwagę na położenie i orientację podane na odwrocie płytki docelowej ZIF.
  • Ustaw przełączniki zworki, jak pokazano na odwrocie docelowej płytki PCB ZIF (B, 2-3, 2-3).
  • Podłącz pięciopinowy nagłówek programowania płyty docelowej ZIF do nagłówka PICkit 3.
  • Podłącz PICkit 3 do komputera za pomocą czerwonego kabla miniUSB.
  • Uruchom MPLAB X IDE.
  • Wybierz opcję menu, aby utworzyć nowy projekt.
  • Konfiguruj: samodzielny projekt z wbudowanym mikrochipem i kliknij DALEJ.
  • Wybierz urządzenie: PIC16F628A i naciśnij DALEJ!
  • Wybierz debugger: Brak; Narzędzia sprzętowe: PICkit 3; Kompilator: XC8
  • Wpisz nazwę projektu: miga.
  • Kliknij prawym przyciskiem myszy pliki źródłowe i pod nowym wybierz nowy main.c
  • Nadaj plikowi c nazwę typu „mrugnięcie”
  • Przejdź do okna> widok pamięci tagów> bity konfiguracyjne
  • Ustaw bit FOSC na INTOSCIO, a wszystko inne na OFF.
  • Kliknij przycisk „wygeneruj kod źródłowy”.
  • Wklej wygenerowany kod do pliku blink.c powyżej
  • Wklej to również do pliku c: #define _XTAL_FREQ 4000000
  • Wklej w głównym bloku kodu c poniżej:

nieważne główne (nieważne)

{ TRISA = 0b00000000; while (1) { PORTAbity. RA3 = 1; _delay_ms(300); PORTAbity. RA3 = 0; _delay_ms(300); } }

  • Kliknij ikonę młotka, aby skompilować
  • Przejdź do produkcji > ustaw konfigurację projektu > dostosuj
  • Wybierz PICkit 3 w lewym panelu wyskakującego okna, a następnie Power z rozwijanego pola u góry.
  • Kliknij pole „docelowa moc”, ustaw napięcie docelowe na 4,875 V, naciśnij Zastosuj.
  • Wróć do głównego ekranu, kliknij ikonę zielonej strzałki.
  • Pojawi się ostrzeżenie o napięciu. Hit kontynuować.
  • Powinieneś w końcu wyświetlić komunikat „Programowanie/weryfikacja ukończone” w oknie stanu.
  • Jeśli programista nie zachowuje się, może pomóc zamknąć IDE i po prostu uruchomić je ponownie. Wszystkie wybrane ustawienia powinny zostać zachowane.

Krok 4: Wstawianie PIC zaprogramowanego za pomocą Blink.c

Breadboarding PIC zaprogramowany za pomocą Blink.c
Breadboarding PIC zaprogramowany za pomocą Blink.c

Po zaprogramowaniu PIC (poprzedni krok) można go upuścić na płytkę stykową bez lutowania w celu przetestowania.

Ponieważ wybrano wewnętrzny oscylator, wystarczy podłączyć trzy piny (zasilanie, masa, dioda LED).

Zasilanie można doprowadzić do płytki stykowej za pomocą modułu zasilacza. Wskazówki dotyczące korzystania z modułu zasilacza:

  • Połóż trochę lutu na bocznych wypustkach gniazda microUSB, zanim się zerwie, a nie po.
  • Upewnij się, że „czarne szpilki” wchodzą do szyny uziemiającej, a „białe szpilki” do szyny zasilającej. Jeśli są odwrócone, jesteś na niewłaściwym końcu płytki stykowej.
  • Przestaw oba przełączniki na 5 V dla dołączonych chipów PIC.

Po ustawieniu mikrokontrolera PIC zwróć uwagę na wskaźnik pin 1. Styki są ponumerowane od styku 1 w kierunku przeciwnym do ruchu wskazówek zegara. Podłącz pin 5 (VSS) do GND, pin 14 (VDD) do 5 V i pin 2 (RA3) do diody LED. Zauważ w kodzie, że pin I/O RA3 jest cyklicznie włączany i wyłączany, aby migać dioda LED. Dłuższy pin diody powinien łączyć się z PIC, a krótszy pin powinien łączyć się z rezystorem 1K (brązowy, czarny, czerwony). Drugi koniec rezystora należy połączyć z szyną GND. Rezystor działa po prostu jako ograniczenie prądu, dzięki czemu dioda LED nie wygląda na zwarcie między 5V a GND i nie pobiera zbyt dużego prądu.

Krok 5: Programowanie w obwodzie

Programowanie w obwodzie
Programowanie w obwodzie

Klucz sprzętowy PICkit 3 może być używany do programowania układu PIC w obwodzie. Klucz sprzętowy może również zasilać obwód (cel płytki stykowej), tak jak zrobiliśmy to z celem ZIF.

  • Wyjmij zasilacz z płytki stykowej.
  • Podłącz przewody PICkit 3 do płytki stykowej przy 5 V, GND, MCLR, PGC i PGD.
  • Zmień numery opóźnień w kodzie C.
  • Przekompiluj (ikona młotka), a następnie zaprogramuj PIC.

Ponieważ numery opóźnień zostały zmienione, dioda LED powinna teraz migać inaczej.

Krok 6: Korzystanie z zewnętrznego oscylatora kwarcowego

Korzystanie z zewnętrznego oscylatora kwarcowego
Korzystanie z zewnętrznego oscylatora kwarcowego

W tym eksperymencie PIC przełącz z wewnętrznego oscylatora na szybki zewnętrzny oscylator kwarcowy. Zewnętrzny oscylator kwarcowy jest nie tylko szybszy 16 MHz zamiast 4 MHz, ale jest znacznie dokładniejszy.

  • Zmień bit konfiguracji FOSC z INTOSCIO na HS.
  • Zmień zarówno ustawienie FOSC IDE, jak i #define w kodzie.
  • Zmień #define _XTAL_FREQ 4000000 z 4000000 na 16000000.
  • Przeprogramuj PIC (może ponownie zmienić numery opóźnień)
  • Sprawdź działanie z zewnętrznym kryształem.
  • Co się stanie, gdy wyciągniesz kryształ z płytki stykowej?

Krok 7: Sterowanie modułem wyjściowym LCD

Sterowanie modułem wyjściowym LCD
Sterowanie modułem wyjściowym LCD

PIC16F628A może być używany do sterowania wyjściem do modułu alfanumerycznego LCD 16x2 (dane) po podłączeniu, jak pokazano tutaj. Załączony plik picLCD.c zawiera prosty przykładowy program do zapisywania tekstu wyjściowego do modułu LCD.

Krok 8: Odbiornik czasu i lokalizacji GPS

Odbiornik czasu i lokalizacji GPS
Odbiornik czasu i lokalizacji GPS

Ten moduł GPS może dość dokładnie określić czas i lokalizację z sygnałów odbieranych z kosmosu do swojej małej zintegrowanej anteny. Do podstawowej obsługi potrzebne są tylko trzy piny.

Czerwona dioda LED „Power” zaświeci się po podłączeniu odpowiedniego zasilania. Po odebraniu sygnałów satelitarnych zielona dioda "PPS" zaczyna pulsować.

Zasilanie dostarczane jest na piny GND i VCC. VCC może działać na 3,3 V lub 5 V.

Trzecim niezbędnym pinem jest pin TX. Pin TX wyprowadza strumień szeregowy, który można przechwycić do komputera (przez adapter TTL-USB) lub do mikrokontrolera. Istnieje wiele przykładowych projektów odbierania danych GPS do Arduino.

To repozytorium git zawiera dokumentację pdf dla tego typu modułu GPS. Sprawdź także u-center.

Ten projekt i film przedstawiają przykład przechwytywania daty i czasu z wysoką dokładnością z modułu GPS do mikrokontrolera PIC16F628A.

Krok 9: Przeżyj HackLife

Żyj HackLife
Żyj HackLife

Mamy nadzieję, że spodobała Ci się podróż w tym miesiącu w stronę elektroniki DIY. Sięgnij i podziel się swoim sukcesem w komentarzach poniżej lub na grupie Facebook HackerBoxes. Daj nam znać, jeśli masz jakieś pytania lub potrzebujesz pomocy.

Dołącz do rewolucji. Żyj HackLife. Możesz dostawać fajne pudełko z hakowalnymi projektami elektroniki i technologii komputerowych dostarczane co miesiąc prosto na twoją skrzynkę pocztową. Po prostu przejdź do HackerBoxes.com i zasubskrybuj comiesięczną usługę HackerBox.

Zalecana: