Cuprins:

HackerBox 0040: PIC al Destinului: 9 pași
HackerBox 0040: PIC al Destinului: 9 pași

Video: HackerBox 0040: PIC al Destinului: 9 pași

Video: HackerBox 0040: PIC al Destinului: 9 pași
Video: HackerBox 0040 PIC of Destiny 2024, Noiembrie
Anonim
HackerBox 0040: PIC al Destinului
HackerBox 0040: PIC al Destinului

Salutări hackerilor HackerBox din întreaga lume. HackerBox 0040 ne face să experimentăm cu microcontrolere PIC, breadboarding, afișaje LCD, GPS și multe altele. Acest instructable conține informații pentru a începe să utilizați HackerBox 0040, care poate fi achiziționat aici până la epuizarea consumului. Dacă doriți să primiți o HackerBox ca aceasta chiar în cutia poștală în fiecare lună, vă rugăm să vă abonați la HackerBoxes.com și să vă alăturați revoluției!

Subiecte și obiective de învățare pentru HackerBox 0040:

  • Dezvoltă sisteme încorporate cu microcontrolere PIC
  • Explorează programarea în circuit a sistemelor încorporate
  • Testați sursa de alimentare și opțiunile de ceas pentru sistemele încorporate
  • Interfață un microcontroler PIC la un modul de ieșire LCD
  • Experimentați cu un receptor GPS integrat
  • Folosiți PIC-ul Destinului

HackerBoxes este serviciul de cutie de abonament lunar pentru electronice DIY și tehnologie computerizată. Suntem pasionați, creatori și experimentatori. Suntem visătorii viselor.

HACK PLANETA

Pasul 1: Lista de conținut pentru HackerBox 0040

Image
Image
  • Microcontroler PIC PIC16F628 (DIP 18)
  • Microcontroler PIC PIC12F675 (DIP 8)
  • PICkit 3 Programator și depanator în circuit
  • ZIF Socket Programming Target pentru PICkit 3
  • Cablu USB și fire de antet pentru PICkit 3
  • Modul GPS cu antenă de bord
  • Modul LCD alfanumeric 16x2
  • Sursă de alimentare cu panou de calcul cu MicroUSB
  • Cristale de 16,00 MHz (HC-49)
  • Butoane tactile momentane
  • LED-uri RED 5mm difuzate
  • Potențiometru de tunsor de 5K Ohm
  • Condensatori ceramici 18pF
  • Condensatori ceramici 100nF
  • Rezistențe 1K Ohm 1 / 4W
  • Rezistoare 10K Ohm 1 / 4W
  • 830 puncte (mari) panou fără lipit
  • Set de sârmă de jumper format cu 140 de bucăți
  • Selecții de chitară celuloidă
  • Decalcomanie exclusivă pentru matriță PIC16C505

Câteva alte lucruri care vă vor fi de ajutor:

  • Instrument de lipit, lipit și instrumente de lipit de bază
  • Computer pentru rularea instrumentelor software

Cel mai important, veți avea nevoie de un sentiment de aventură, spirit hacker, răbdare și curiozitate. Construirea și experimentarea cu electronice, deși foarte plină de satisfacții, poate fi dificilă, provocatoare și chiar frustrantă uneori. Scopul este progresul, nu perfecțiunea. Când persistați și vă bucurați de aventură, din acest hobby se poate obține o mulțime de satisfacții. Faceți fiecare pas încet, țineți cont de detalii și nu vă fie teamă să cereți ajutor.

Există o mulțime de informații pentru membrii actuali și potențiali în întrebările frecvente despre HackerBoxes. Aproape toate e-mailurile de asistență non-tehnică pe care le primim au primit deja un răspuns acolo, așa că apreciem foarte mult că ați luat câteva minute pentru a citi FAQ.

Pasul 2: Microcontrolere PIC

Programarea microcontrolerelor PIC cu PICkit 3
Programarea microcontrolerelor PIC cu PICkit 3

Familia de microcontrolere PIC este realizată de Microchip Technology. Numele PIC se referea inițial la controlerul de interfață periferică, dar ulterior a fost corectat la Computer inteligent programabil. Primele părți din familie au apărut în 1976. Până în 2013, au fost expediate peste douăsprezece miliarde de microcontrolere individuale PIC. Dispozitivele PIC sunt populare atât pentru dezvoltatorii industriali, cât și pentru pasionați datorită costului redus, disponibilității largi, bazei mari de utilizatori, colecției extinse de note de aplicație, disponibilității instrumentelor de dezvoltare gratuite sau cu cost redus, programării seriale și capacității de memorie Flash reprogramabile. (Wikipedia)

HackerBox 0040 include două microcontrolere PIC așezate temporar pentru transport într-o priză ZIF (zero insertion force). Primul pas este pentru a elimina cele două PIC-uri din soclul ZIF. Vă rugăm să faceți asta acum!

Cele două microcontrolere sunt un PIC16F628A (foaie de date) într-un pachet DIP18 și un PIC12F675 (foaie de date) într-un pachet DIP 8.

Exemplele de aici folosesc PIC16F628A, însă PIC12F675 funcționează similar. Vă încurajăm să încercați într-un proiect propriu. Dimensiunea sa redusă este o soluție eficientă atunci când aveți nevoie doar de un număr mic de pini I / O.

Pasul 3: Programarea microcontrolerelor PIC cu PICkit 3

Există o mulțime de pași de configurare care trebuie abordați atunci când utilizați instrumentele PIC, așa că iată un exemplu destul de simplu:

  • Instalați software-ul MPLAB X IDE de la Microchip
  • La sfârșitul instalării, vi se va prezenta un link pentru a instala MPLAB XC8 C Compiler. Asigurați-vă că selectați acest lucru. XC8 este compilatorul pe care îl vom folosi.
  • Introduceți cipul PIC16F628A (DIP18) în soclul ZIF. Rețineți poziția și orientarea listate pe reversul plăcii țintă ZIF.
  • Setați comutatoarele jumper așa cum este indicat pe spatele PCB-ului țintă ZIF (B, 2-3, 2-3).
  • Conectați antetul de programare cu cinci pini al plăcii țintă ZIF în antetul PICkit 3.
  • Conectați PICkit 3 la computer utilizând cablul roșu miniUSB.
  • Rulați MPLAB X IDE.
  • Selectați opțiunea de meniu pentru a crea un proiect nou.
  • Configurați: proiectul independent încorporat cu microcip și apăsați NEXT.
  • Selectați dispozitivul: PIC16F628A și apăsați NEXT
  • Selectați depanatorul: Nici unul; Instrumente hardware: PICkit 3; Compilator: XC8
  • Introduceți numele proiectului: clipiți.
  • Faceți clic dreapta pe fișierele sursă și, sub noua, selectați noua main.c
  • Dați fișierului c un nume ca „clipire”
  • Navigați la fereastră> etichetați vizualizarea memoriei> biți de configurare
  • Setați bitul FOSC la INTOSCIO și orice altceva la OFF.
  • Apăsați butonul „generați codul sursă”.
  • Lipiți codul generat în fișierul dvs. blink.c de mai sus
  • De asemenea, lipiți acest lucru în fișierul c: #define _XTAL_FREQ 4000000
  • Trecut în blocul principal al codului c de mai jos:

void main (nul)

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

  • Apăsați pictograma ciocan pentru a compila
  • Navigați la producție> setați configurația proiectului> personalizați
  • Selectați PICkit 3 în panoul din stânga al ferestrei pop-up și apoi Alimentare din câmpul derulant din partea de sus.
  • Faceți clic pe caseta „țintă de putere”, setați tensiunea țintă la 4.875V, apăsați Aplicare.
  • Înapoi la ecranul principal, apăsați pictograma săgeată verde.
  • Va apărea un avertisment despre tensiune. Hit continuă.
  • În cele din urmă, ar trebui să primiți „Programare / Verificare finalizată” în fereastra de stare.
  • Dacă programatorul nu se comportă, vă poate ajuta să opriți IDE și să îl rulați din nou. Toate setările selectate ar trebui menținute.

Pasul 4: Planificarea PIC programată cu Blink.c

Breadboarding-ul PIC programat cu Blink.c
Breadboarding-ul PIC programat cu Blink.c

Odată ce PIC este programat (pasul anterior), acesta poate fi aruncat pe o placă fără sudură pentru testare.

Deoarece a fost selectat oscilatorul intern, trebuie doar să conectăm trei pini (alimentare, împământare, LED).

Alimentarea poate fi furnizată panoului cu ajutorul modulului de alimentare. Indicatoare pentru utilizarea modulului de alimentare:

  • Puneți mai multe lipiri pe filele laterale ale soclului microUSB înainte de a se întrerupe - nu după.
  • Asigurați-vă că „știfturile negre” intră în șina de la sol, iar „știfturile albe” în șina de alimentare. Dacă acestea sunt inversate, vă aflați la capătul greșit al panoului.
  • Rotiți ambele comutatoare la 5V pentru cipurile PIC incluse.

După poziționarea microcontrolerului PIC, observați indicatorul pin 1. Pinii sunt numerotați de la pinul 1 în sens invers acelor de ceasornic. Conectați pinul 5 (VSS) la GND, pinul 14 (VDD) la 5V și pinul 2 (RA3) la LED. Observați în codul dvs., pinul I / O RA3 este pornit și oprit pentru a clipi LED-ul. Pinul mai lung al LED-ului ar trebui să se conecteze la PIC, în timp ce pinul mai scurt ar trebui să se conecteze la un rezistor de 1K (maro, negru, roșu). Capătul opus al rezistenței ar trebui să se conecteze la șina GND. Rezistorul acționează pur și simplu ca o limită de curent, astfel încât LED-ul să nu arate ca un scurt între 5V și GND și să atragă prea mult curent.

Pasul 5: Programarea în circuit

Programare în circuit
Programare în circuit

Dongle-ul PICkit 3 poate fi folosit pentru a programa intrarea în circuit a cipului PIC. Dongle-ul poate, de asemenea, alimenta circuitul (ținta panoului), așa cum am făcut cu ținta ZIF.

  • Scoateți sursa de alimentare de pe panoul de control.
  • Conectați cablurile PICkit 3 la panoul de măsurare la 5V, GND, MCLR, PGC și PGD.
  • Modificați numerele de întârziere din codul C.
  • Recompilați (pictograma ciocan) și apoi programați PIC.

Deoarece numerele de întârziere au fost modificate, LED-ul ar trebui să clipească diferit acum.

Pasul 6: Utilizarea unui oscilator de cristal extern

Utilizarea unui oscilator de cristal extern
Utilizarea unui oscilator de cristal extern

Pentru acest experiment PIC, comutați de la oscilatorul intern la un oscilator de cristal extern de mare viteză. Nu numai că oscilatorul de cristal extern este mai rapid cu 16 MHz în loc de 4 MHz), dar este mult mai precis.

  • Schimbați bitul de configurare FOSC de la INTOSCIO la HS.
  • Modificați atât setarea FOSC IDE, cât și #define din cod.
  • Schimbați #define _XTAL_FREQ 4000000 de la 4000000 la 16000000.
  • Reprogramați PIC (poate schimbați din nou numerele de întârziere)
  • Verificați funcționarea cu cristalul extern.
  • Ce se întâmplă când trageți cristalul de pe panou?

Pasul 7: Conducerea unui modul de ieșire LCD

Conducerea unui modul de ieșire LCD
Conducerea unui modul de ieșire LCD

PIC16F628A poate fi utilizat pentru a conduce ieșirea la un modul LCD alfanumeric 16x2 (date) atunci când este conectat, așa cum se arată aici. Fișierul atașat picLCD.c oferă un exemplu simplu de program pentru scrierea textului pe modulul LCD.

Pasul 8: Receptor GPS pentru timp și locație

Receptor GPS pentru timp și locație
Receptor GPS pentru timp și locație

Acest modul GPS poate determina timpul și locația destul de precis din semnalele primite din spațiu în mica sa antenă integrată. Pentru funcționarea de bază sunt necesari doar trei pini.

LED-ul roșu „Power” se va aprinde atunci când este conectată alimentarea corectă. Odată ce semnalele satelitului sunt achiziționate, LED-ul verde "PPS" cu pornire.

Alimentarea este furnizată pinilor GND și VCC. VCC poate funcționa pe 3.3V sau 5V.

Al treilea pin necesar este pinul TX. PIN-ul TX emite un flux serial care poate fi capturat într-un computer (prin adaptor TTL-USB) sau într-un microcontroler. Există numeroase exemple de proiecte pentru primirea datelor GPS într-un Arduino.

Acest depozit git include documentație pdf pentru acest tip de modul GPS. De asemenea, verificați u-center.

Acest proiect și video demonstrează un exemplu de captare a datei și orei cu o precizie ridicată de la un modul GPS într-un microcontroler PIC16F628A.

Pasul 9: Trăiește HackLife

Trăiește HackLife
Trăiește HackLife

Sperăm că v-ați bucurat de călătoria acestei luni în electronica DIY. Intindeți-vă și împărtășiți-vă succesul în comentariile de mai jos sau pe grupul Facebook HackerBoxes. Cu siguranță, anunțați-ne dacă aveți întrebări sau aveți nevoie de ajutor cu ceva.

Alatura-te revolutiei. Trăiește HackLife. Puteți obține o cutie interesantă de proiecte electronice hackabile și tehnologii informatice livrate direct în cutia poștală în fiecare lună. Navigați doar la HackerBoxes.com și abonați-vă la serviciul HackerBox lunar.

Recomandat: