INHOUDSOPGAWE:

HackerBox 0040: PIC of Destiny: 9 stappe
HackerBox 0040: PIC of Destiny: 9 stappe

Video: HackerBox 0040: PIC of Destiny: 9 stappe

Video: HackerBox 0040: PIC of Destiny: 9 stappe
Video: Unboxing: Hackerboxes 0039 2024, November
Anonim
HackerBox 0040: PIC of Destiny
HackerBox 0040: PIC of Destiny

Groete aan HackerBox Hackers regoor die wêreld. HackerBox 0040 laat ons eksperimenteer met PIC -mikrobeheerders, broodplank, LCD -skerms, GPS en meer. Hierdie instruksie bevat inligting om aan die gang te kom met HackerBox 0040, wat hier gekoop kan word terwyl voorraad hou. As u elke maand 'n HackerBox soos hierdie in u posbus wil ontvang, teken dan in op HackerBoxes.com en sluit aan by die revolusie!

Onderwerpe en leerdoelwitte vir HackerBox 0040:

  • Ontwikkel ingebedde stelsels met PIC -mikrobeheerders
  • Verken ingeboude programmering van ingebedde stelsels
  • Toets kragvoorsiening en klokopsies vir ingebedde stelsels
  • Koppel 'n PIC -mikrokontroleerder aan 'n LCD -uitsetmodule
  • Eksperimenteer met 'n geïntegreerde GPS -ontvanger
  • Gebruik die PIC of Destiny

HackerBoxes is die maandelikse subskripsiediens vir selfdoenelektronika en rekenaartegnologie. Ons is stokperdjies, vervaardigers en eksperimenteerders. Ons is die dromers van drome.

HACK DIE PLANET

Stap 1: Inhoudslys vir HackerBox 0040

Image
Image
  • PIC -mikrobeheerder PIC16F628 (DIP 18)
  • PIC -mikrobeheerder PIC12F675 (DIP 8)
  • PICkit 3 in-kring programmeerder en ontfouter
  • ZIF Socket -programmeringsdoelwit vir PICkit 3
  • USB -kabel en kopdrade vir PICkit 3
  • GPS -module met ingeboude antenne
  • 16x2 alfanumeriese LCD -module
  • Breadboard -kragtoevoer met MicroUSB
  • 16.00MHz kristalle (HC-49)
  • Taktiele kortstondige knoppies
  • Verspreide ROOI 5mm LED's
  • 5K Ohm Trimmer Potentiometer
  • 18pF keramiek kondensators
  • 100nF keramiek kondensators
  • 1K Ohm 1/4W weerstande
  • Weerstands van 10K Ohm 1/4W
  • 830 punt (groot) soldeerlose broodbord
  • Gevormde Jumper Wire Kit met 140 stukke
  • Celluloid kitaarkeuse
  • Eksklusiewe PIC16C505 Die Decal

'N Paar ander dinge wat nuttig sal wees:

  • Soldeerbout, soldeersel en basiese soldeergereedskap
  • 'N Rekenaar om sagteware te gebruik

Die belangrikste is dat jy 'n gevoel van avontuur, hackergees, geduld en nuuskierigheid nodig het. Bou en eksperimenteer met elektronika, hoewel dit baie lonend is, kan soms lastig, uitdagend en selfs frustrerend wees. Die doel is vooruitgang, nie volmaaktheid nie. As u volhard en die avontuur geniet, kan u baie tevredenheid put uit hierdie stokperdjie. Neem elke stap stadig, let op die besonderhede, en moenie bang wees om hulp te vra nie.

Daar is 'n magdom inligting vir huidige en voornemende lede in die HackerBoxes FAQ. Byna al die nie-tegniese ondersteunings-e-posse wat ons ontvang, word reeds daar beantwoord, so ons waardeer dit baie as u 'n paar minute neem om die FAQ te lees.

Stap 2: PIC -mikrobeheerders

Programmering van PIC -mikrobeheerders met PICkit 3
Programmering van PIC -mikrobeheerders met PICkit 3

Die PIC -familie van mikrobeheerders word vervaardig deur Microchip Technology. Die naam PIC het aanvanklik verwys na Peripheral Interface Controller, maar is later gekorrigeer na programmeerbare intelligente rekenaar. Die eerste dele van die gesin verskyn in 1976. Teen 2013 is meer as twaalf miljard individuele PIC -mikrobeheerders gestuur. PIC-toestelle is gewild onder sowel industriële ontwikkelaars as stokperdjies vanweë hul lae koste, groot beskikbaarheid, groot gebruikersbasis, uitgebreide versameling toepassingsnotas, beskikbaarheid van goedkoop of gratis ontwikkelingshulpmiddels, reeksprogrammering en herprogrammeerbare Flash-geheue-vermoëns. (Wikipedia)

HackerBox 0040 bevat twee PIC -mikrobeheerders wat tydelik sit vir vervoer in 'n ZIF -aansluiting (zero insertion force). Die eerste stap is om die twee PIC's uit die ZIF -aansluiting te verwyder. Doen dit asseblief nou!

Die twee mikrobeheerders is 'n PIC16F628A (datablad) in 'n DIP18 -pakket en 'n PIC12F675 (datablad) in 'n DIP 8 -pakket.

Die voorbeelde hier gebruik die PIC16F628A, maar die PIC12F675 werk op dieselfde manier. Ons moedig u aan om dit uit te probeer in 'n eie projek. Die klein grootte is 'n doeltreffende oplossing as u slegs 'n klein aantal I/O -penne benodig.

Stap 3: Programmering van PIC -mikrobeheerders met PICkit 3

Daar is baie konfigurasiestappe wat aangespreek moet word by die gebruik van die PIC -gereedskap, so hier is 'n redelik basiese voorbeeld:

  • Installeer die MPLAB X IDE sagteware van Microchip
  • Aan die einde van die installasie kry u 'n skakel om die MPLAB XC8 C Compiler te installeer. Maak seker dat u dit kies. XC8 is die samesteller wat ons sal gebruik.
  • Steek die PIC16F628A (DIP18) -skyfie in die ZIF -aansluiting. Let op die posisie en oriëntasie wat op die agterkant van die ZIF -teiken -PCB aangedui word.
  • Stel die springskakelaars in soos aangedui op die agterkant van die ZIF-teiken-PCB (B, 2-3, 2-3).
  • Koppel die vyf-pen programmeringskop van die ZIF-teikenbord in die PICkit 3-kop.
  • Koppel die PICkit 3 aan die rekenaar met die rooi miniUSB -kabel.
  • Begin die MPLAB X IDE.
  • Kies die spyskaart om 'n nuwe projek te skep.
  • Konfigureer: 'n selfstandige projek met 'n mikroskyfie en klik op VOLGENDE.
  • Kies toestel: PIC16F628A, en druk VOLGENDE
  • Kies ontfouter: Geen; Hardeware gereedskap: PICkit 3; Samesteller: XC8
  • Voer die projeknaam in: knip.
  • Klik met die rechtermuisknop op bronlêers, en kies onder nuwe 'new main.c'
  • Gee die c -lêer 'n naam soos "knip"
  • Navigeer na venster> tag geheue aansig> config bits
  • Stel die FOSC -bit op INTOSCIO en al die ander op OFF.
  • Druk die knoppie "genereer bronkode".
  • Plak die gegenereerde kode in u blink.c -lêer hierbo
  • Plak dit ook in die c -lêer: #define _XTAL_FREQ 4000000
  • Verlede in die hoofblok van c -kode hieronder:

leegte (leeg)

{TRISA = 0b00000000; terwyl (1) {PORTAbits. RA3 = 1; _vertraag_ms (300); PORTAbits. RA3 = 0; _vertraag_ms (300); }}

  • Klik op die hamerikoon om op te stel
  • Gaan na produksie> stel projekkonfigurasie in> pas aan
  • Kies PICkit 3 in die linker paneel van die opspringvenster en dan Power in die keuselys bo -aan.
  • Klik op die "kragdoel" -kassie, stel die teikenspanning op 4.875V, druk op Apply.
  • Tik terug op die hoofskerm op die groen pyltjie -ikoon.
  • 'N Waarskuwing oor spanning sal verskyn. Tref voort.
  • U moet uiteindelik 'Programming/Verify Complete' in die statusvenster kry.
  • As die programmeerder hom nie gedra nie, kan dit help om die IDE af te sluit en dit net weer uit te voer. Al u gekose instellings moet behoue bly.

Stap 4: Breadboarding van die PIC geprogrammeer met Blink. C

Breadboarding die PIC geprogrammeer met Blink. C
Breadboarding die PIC geprogrammeer met Blink. C

Sodra die PIC geprogrammeer is (vorige stap), kan dit op 'n soldeerlose broodbord laat sak word om te toets.

Aangesien die interne ossillator gekies is, hoef ons slegs drie penne (krag, grond, LED) op te dra.

Krag kan aan die broodbord verskaf word met behulp van die kragtoevoermodule. Aanwysings vir die gebruik van die kragtoevoer -module:

  • Plaas nog 'n soldeersel op die lipblaaie van die microUSB -aansluiting voordat dit breek - nie daarna nie.
  • Maak seker dat die "swart penne" in die grondrail ingaan en die "wit penne" in die kragrail. As hulle omgekeer is, is u aan die verkeerde kant van die broodbord.
  • Draai beide skakelaars na 5V vir die ingesluit PIC -skyfies.

Nadat u die PIC -mikrobeheerder geplaas het, let op die pen 1 -aanwyser. Die penne word vanaf pen 1 teen die kloksgewys genommer. Dra pen 5 (VSS) na GND, pen 14 (VDD) na 5V en pen 2 (RA3) na die LED. Let op in u kode dat die I/O -pen RA3 aan- en afgeskakel word om die LED te knip. Die langer pen van die LED moet aan die PIC gekoppel word, terwyl die korter pen aan 'n 1K -weerstand (bruin, swart, rooi) moet koppel. Die teenoorgestelde kant van die weerstand moet met die GND -spoor verbind word. Die weerstand dien eenvoudig as 'n stroomlimiet sodat die LED nie tussen 'n kort tussen 5V en GND lyk nie en te veel stroom trek.

Stap 5: In-kring programmeer

In-kring programmering
In-kring programmering

Die PICkit 3-dongle kan gebruik word om die PIC-chip in die kring te programmeer. Die dongle kan ook die stroom (die teikenbord) van krag voorsien, net soos met die ZIF -teiken.

  • Verwyder die kragtoevoer van die broodbord.
  • Koppel die PICkit 3 -kabels aan die broodbord by 5V, GND, MCLR, PGC en PGD.
  • Verander die vertragingsgetalle in die C -kode.
  • Herkonformeer (hamerikoon) en programmeer dan die PIC.

Aangesien die vertragingsgetalle verander is, moet die LED nou anders knip.

Stap 6: Gebruik 'n eksterne kristal ossillator

Gebruik 'n eksterne kristal ossillator
Gebruik 'n eksterne kristal ossillator

Vir hierdie PIC-eksperiment, skakel oor van die interne ossillator na 'n hoëspoed-eksterne kristal ossillator. Die eksterne kristal ossillator is nie net vinniger 16MHz in plaas van 4MHz nie), maar dit is baie meer akkuraat.

  • Verander die FOSC -konfigurasiebit van INTOSCIO na HS.
  • Verander beide die FOSC IDE -instelling en die #define in die kode.
  • Verander #define _XTAL_FREQ 4000000 van 4000000 na 16000000.
  • Herprogrammeer die PIC (verander dalk die vertragingsgetalle weer)
  • Verifieer die werking met die eksterne kristal.
  • Wat gebeur as jy die kristal van die broodbord trek?

Stap 7: Bestuur van 'n LCD -uitsetmodule

Bestuur 'n LCD -uitsetmodule
Bestuur 'n LCD -uitsetmodule

Die PIC16F628A kan gebruik word om die uitset na 'n 16x2 Alfanumeriese LCD -module (data) te stuur wanneer dit aangesluit word, soos hier getoon. Die aangehegte lêer picLCD.c gee 'n eenvoudige voorbeeldprogram om teksuitsette na die LCD -module te skryf.

Stap 8: GPS -tyd- en liggingontvanger

GPS -tyd- en liggingontvanger
GPS -tyd- en liggingontvanger

Hierdie GPS -module kan tyd en ligging baie akkuraat bepaal uit seine wat uit die ruimte na sy klein geïntegreerde antenna ontvang word. Slegs drie penne word benodig vir basiese werking.

Die rooi "Power" LED sal brand wanneer die regte krag gekoppel is. Sodra die satellietseine verkry is, begin die groen "PPS" LED met pols.

Krag word verskaf aan die GND- en VCC -penne. Die VCC kan op 3.3V of 5V werk.

Die derde pen wat nodig is, is die TX -pen. Die TX-pen gee 'n seriële stroom uit wat op 'n rekenaar (via TTL-USB-adapter) of in 'n mikrobeheerder vasgelê kan word. Daar is talle voorbeeldprojekte vir die ontvangs van GPS -data in 'n Arduino.

Hierdie git repo bevat pdf -dokumentasie vir hierdie tipe GPS -module. Kyk ook na u-sentrum.

Hierdie projek en video demonstreer 'n voorbeeld van die vaslegging van datum en tyd met 'n hoë akkuraatheid vanaf 'n GPS -module in 'n PIC16F628A -mikrobeheerder.

Stap 9: Leef die HackLife

Leef die HackLife
Leef die HackLife

Ons hoop dat u hierdie maand se reis na selfdoenelektronika geniet het. Bereik jou sukses en deel dit in die kommentaar hieronder of op die HackerBoxes Facebook -groep. Laat weet ons beslis as u vrae het of hulp nodig het met iets.

Sluit aan by die rewolusie. Leef die HackLife. U kan elke maand 'n koelkas met hackbare elektronika en rekenaartegnologie -projekte by u posbus aflewer. Gaan net na HackerBoxes.com en teken in op die maandelikse HackerBox -diens.

Aanbeveel: