Sadržaj:

HackerBox 0040: PIC of Destiny: 9 koraka
HackerBox 0040: PIC of Destiny: 9 koraka

Video: HackerBox 0040: PIC of Destiny: 9 koraka

Video: HackerBox 0040: PIC of Destiny: 9 koraka
Video: HackerBoxes 0009 Virtual Worlds 2024, Decembar
Anonim
HackerBox 0040: PIC of Destiny
HackerBox 0040: PIC of Destiny

Pozdrav HackerBox hakerima širom svijeta. HackerBox 0040 nas tjera da eksperimentiramo s PIC mikrokontrolerima, matičnim pločama, LCD ekranima, GPS -om i drugim. Ovaj Instructable sadrži informacije za početak rada s HackerBox -om 0040, koji se može kupiti ovdje dok traju zalihe. Ako želite svakog mjeseca primati ovakav HackerBox u svoje poštansko sanduče, pretplatite se na HackerBoxes.com i pridružite se revoluciji!

Teme i ciljevi učenja za HackerBox 0040:

  • Razviti ugrađene sisteme sa PIC mikrokontrolerima
  • Istražite programiranje ugrađenih sistema unutar kola
  • Testirajte opcije napajanja i taktiranja ugrađenih sistema
  • Povežite PIC mikrokontroler sa LCD izlaznim modulom
  • Eksperimentirajte s integriranim GPS prijemnikom
  • Nosite PIC sudbine

HackerBoxes je mjesečna pretplatnička usluga za DIY elektroniku i računarsku tehnologiju. Mi smo hobisti, tvorci i eksperimentatori. Mi smo sanjari snova.

HACK PLANET

Korak 1: Lista sadržaja za HackerBox 0040

Image
Image
  • PIC mikrokontroler PIC16F628 (DIP 18)
  • PIC mikrokontroler PIC12F675 (DIP 8)
  • PICkit 3 Programer i debager u krugu
  • ZIF cilj programiranja utičnice za PICkit 3
  • USB kabel i žice zaglavlja za PICkit 3
  • GPS modul sa ugrađenom antenom
  • 16x2 Alfanumerički LCD modul
  • Napajanje za matičnu ploču sa MicroUSB -om
  • Kristali 16,00 MHz (HC-49)
  • Taktilna trenutna dugmad
  • Difuzne CRVENE LED diode 5 mm
  • Potenciometar za trimere 5K Ohm
  • 18pF keramički kondenzatori
  • 100nF keramički kondenzatori
  • 1K Ohm 1/4W otpornici
  • 10K Ohm 1/4W otpornici
  • Oglasna ploča od 830 točaka (velika) bez lemljenja
  • Formirani komplet žičane spojnice sa 140 komada
  • Izbor celuloidnih gitara
  • Ekskluzivna naljepnica PIC16C505

Još neke stvari koje će vam biti od pomoći:

  • Lemilica, lemljenje i osnovni alati za lemljenje
  • Računar za pokretanje softverskih alata

Ono što je najvažnije, trebat će vam osjećaj avanture, hakerski duh, strpljenje i znatiželja. Izgradnja i eksperimentiranje s elektronikom, iako vrlo isplativo, ponekad može biti zeznuto, izazovno, pa čak i frustrirajuće. Cilj je napredak, a ne savršenstvo. Kad ustrajete i uživate u avanturi, iz ovog hobija može se steći veliko zadovoljstvo. Polako poduzimajte svaki korak, pazite na detalje i ne bojte se zatražiti pomoć.

U FAQ -u o HackerBoxima postoji mnogo informacija za sadašnje i buduće članove. Gotovo na sve e-poruke o tehničkoj podršci koje primamo već je odgovoreno, stoga zaista cijenimo što ste odvojili nekoliko minuta da pročitate FAQ.

Korak 2: PIC mikrokontroleri

Programiranje PIC mikrokontrolera s PICkitom 3
Programiranje PIC mikrokontrolera s PICkitom 3

PIC familiju mikrokontrolera proizvodi Microchip Technology. Naziv PIC se u početku odnosio na kontroler perifernog interfejsa, ali je kasnije ispravljen na programabilni inteligentni računar. Prvi dijelovi u porodici pojavili su se 1976. Do 2013. isporučeno je više od dvanaest milijardi pojedinačnih PIC mikrokontrolera. PIC uređaji popularni su i kod industrijskih programera i kod ljubitelja zbog svoje niske cijene, široke dostupnosti, velike korisničke baze, opsežne zbirke bilješki o aplikacijama, dostupnosti jeftinih ili besplatnih razvojnih alata, serijskog programiranja i mogućnosti ponovnog programiranja Flash memorije. (Wikipedia)

HackerBox 0040 uključuje dva PIC mikrokontrolera koji su privremeno smješteni za transport u utičnicu ZIF (nulta sila umetanja). Prvi korak je uklanjanje dva PIC -a iz ZIF utičnice. Učinite to sada!

Dva mikrokontrolera su PIC16F628A (tehnički list) u DIP18 paketu i PIC12F675 (tehnički list) u DIP 8 paketu.

Primjeri ovdje koriste PIC16F628A, međutim PIC12F675 radi slično. Potičemo vas da to isprobate u vlastitom projektu. Njegova mala veličina čini učinkovito rješenje kada vam je potreban samo mali broj I/O pinova.

Korak 3: Programiranje PIC mikrokontrolera s PICkitom 3

Postoji mnogo koraka konfiguracije koje je potrebno riješiti pri korištenju PIC alata, pa evo prilično osnovnog primjera:

  • Instalirajte MPLAB X IDE softver sa Microchipa
  • Na kraju instalacije bit će vam prikazana veza za instaliranje MPLAB XC8 C kompajlera. Odaberite to svakako. XC8 je kompajler koji ćemo koristiti.
  • Umetnite čip PIC16F628A (DIP18) u ZIF utičnicu. Obratite pažnju na položaj i orijentaciju navedene na poleđini ZIF ciljne ploče.
  • Postavite kratkospojne prekidače kako je prikazano na poleđini ZIF ciljne ploče (B, 2-3, 2-3).
  • Priključite zaglavlje za programiranje sa pet pinova ZIF ciljne ploče u zaglavlje PICkit 3.
  • Povežite PICkit 3 sa računarom pomoću crvenog miniUSB kabla.
  • Pokrenite MPLAB X IDE.
  • Odaberite opciju menija za kreiranje novog projekta.
  • Konfigurirajte: mikročip ugrađen samostalni projekt i pritisnite NEXT.
  • Odaberite uređaj: PIC16F628A i pritisnite NAPRIJED
  • Odaberite debager: Ništa; Hardverski alati: PICkit 3; Prevodilac: XC8
  • Unesite naziv projekta: blink.
  • Desnim tasterom miša kliknite izvorne datoteke, a zatim pod novim odaberite novi main.c
  • Dajte c datoteci naziv poput "blink"
  • Idite na prozor> prikaz memorije oznaka> konfiguracijski bitovi
  • Postavite bit FOSC na INTOSCIO, a sve ostalo na OFF.
  • Pritisnite dugme „generiši izvorni kod“.
  • Generirajte kôd u gornju datoteku blink.c
  • Zalijepite i ovo u c datoteku: #define _XTAL_FREQ 4000000
  • Prethodno u glavnom bloku c koda ispod:

void main (void)

{TRISA = 0b00000000; dok je (1) {PORTAbits. RA3 = 1; _odgoda_ms (300); PORTAbits. RA3 = 0; _odgoda_ms (300); }}

  • Pritisnite ikonu čekića za kompajliranje
  • Idite na produkciju> postavite konfiguraciju projekta> prilagodite
  • Odaberite PICkit 3 na lijevoj ploči skočnog prozora, a zatim Power iz padajućeg polja pri vrhu.
  • Pritisnite okvir “power target”, postavite ciljni napon na 4,875V, pritisnite Apply.
  • Nazad na glavni ekran, pritisnite ikonu zelene strelice.
  • Pojavit će se upozorenje o naponu. Pritisnite nastavi.
  • Na kraju biste u prozoru statusa trebali dobiti "Programiranje/Potvrda dovršenosti".
  • Ako se programer ne ponaša, može vam pomoći isključiti IDE i jednostavno ga ponovo pokrenuti. Sve odabrane postavke treba zadržati.

Korak 4: Utvrđivanje PIC -a putem programa Blink.c

Breadboarding PIC -a programiran sa Blink.c
Breadboarding PIC -a programiran sa Blink.c

Nakon što se PIC programira (prethodni korak), može se staviti na lemljenu ploču za lemljenje radi testiranja.

Budući da je odabran unutarnji oscilator, potrebno je samo spojiti tri pina (napajanje, uzemljenje, LED).

Napajanje se može isporučiti na ploču pomoću modula za napajanje. Pokazivači za korištenje modula napajanja:

  • Stavite još lema na bočne jezičke microUSB utičnice prije nego što se prekine - ne poslije.
  • Pazite da "crne igle" uđu u uzemljenje, a "bijele iglice" u razvodnik. Ako su obrnuti, nalazite se na pogrešnom kraju matične ploče.
  • Okrenite oba prekidača na 5V za uključene PIC čipove.

Nakon postavljanja PIC mikrokontrolera, obratite pažnju na indikator pin 1. Igle su numerisane od pina 1 u smeru suprotnom od kazaljke na satu. Ožičite pin 5 (VSS) na GND, pin 14 (VDD) na 5V i pin 2 (RA3) na LED. Primijetite da se u vašem kodu I/O pin RA3 uključuje i isključuje kako bi LED dioda trepnula. Duži pin LED -a trebao bi se spojiti na PIC, dok bi kraći pin trebao biti spojen na 1K otpornik (smeđi, crni, crveni). Suprotni kraj otpornika trebao bi biti spojen na GND šinu. Otpornik jednostavno djeluje kao ograničenje struje tako da LED ne izgleda kao kratki spoj između 5 V i GND i ne vuče previše struje.

Korak 5: Programiranje unutar kruga

Programiranje u krugu
Programiranje u krugu

PICkit 3 ključ se može koristiti za programiranje PIC čipa u krugu. Dongle takođe može napajati krug (ciljnu ploču) baš kao što smo to učinili sa ZIF metom.

  • Uklonite napajanje iz matične ploče.
  • Priključite vodiče PICkit 3 na matičnu ploču na 5V, GND, MCLR, PGC i PGD.
  • Promijenite brojeve kašnjenja u C kodu.
  • Ponovno kompajlirajte (ikona čekića), a zatim programirajte PIC.

Budući da su promijenjeni brojevi kašnjenja, LED dioda bi sada trebala drugačije treptati.

Korak 6: Upotreba vanjskog kristalnog oscilatora

Korištenje vanjskog kristalnog oscilatora
Korištenje vanjskog kristalnog oscilatora

Za ovaj PIC eksperiment prebacite se s unutarnjeg oscilatora na vanjski kristalni oscilator velike brzine. Ne samo da je vanjski kristalni oscilator brži 16 MHz umjesto 4 MHz), već je i mnogo precizniji.

  • Promijenite konfiguracijski bit FOSC iz INTOSCIO u HS.
  • Promijenite i postavku FOSC IDE -a i #define u kodu.
  • Promijenite #define _XTAL_FREQ 4000000 sa 4000000 na 16000000.
  • Reprogramirajte PIC (možda ponovo promijenite brojeve odgode)
  • Provjerite rad pomoću vanjskog kristala.
  • Što se događa kada izvučete kristal s ploče?

Korak 7: Upravljanje LCD izlaznim modulom

Vožnja LCD izlaznim modulom
Vožnja LCD izlaznim modulom

PIC16F628A se može koristiti za pogon izlaza na 16x2 alfanumerički LCD modul (podaci) kada je ožičen kao što je prikazano ovdje. Priložena datoteka picLCD.c daje jednostavan primjer programa za pisanje izlaznog teksta na LCD modul.

Korak 8: GPS prijemnik vremena i lokacije

GPS prijemnik vremena i lokacije
GPS prijemnik vremena i lokacije

Ovaj GPS modul može točno odrediti vrijeme i lokaciju prema signalima primljenim iz svemira u svoju malu integriranu antenu. Za osnovni rad potrebna su samo tri pina.

Crvena LED lampica "Power" će zasvijetliti kada je priključeno odgovarajuće napajanje. Nakon što se prikupe satelitski signali, zelena "PPS" LED dioda počinje pulsirati.

Napajanje se vrši na pinove GND i VCC. VCC može raditi na 3.3V ili 5V.

Treći pin koji je neophodan je TX pin. TX pin izlazi serijski tok koji se može snimiti u računar (preko TTL-USB adaptera) ili u mikrokontroler. Postoje brojni primjeri projekata za prijem GPS podataka u Arduino.

Ovaj git repo uključuje pdf dokumentaciju za ovu vrstu GPS modula. Pogledajte i u-centar.

Ovaj projekt i video prikazuje primjer hvatanja datuma i vremena visoke tačnosti sa GPS modula u mikrokontroler PIC16F628A.

Korak 9: Živite HackLife

Živite HackLife
Živite HackLife

Nadamo se da ste uživali u ovomjesečnom putovanju u DIY elektroniku. Javite se i podijelite svoj uspjeh u komentarima ispod ili na Facebook grupi HackerBoxes. Svakako nas obavijestite ako imate pitanja ili trebate pomoć oko bilo čega.

Pridružite se revoluciji. Živite HackLife. Svaki mjesec možete dobiti kul kutiju elektronike i projekata kompjuterske tehnologije koji se mogu hakirati. Pređite na stranicu HackerBoxes.com i pretplatite se na mjesečnu uslugu HackerBox.

Preporučuje se: