Sommario:

HackerBox 0040: PIC di Destiny: 9 passaggi
HackerBox 0040: PIC di Destiny: 9 passaggi

Video: HackerBox 0040: PIC di Destiny: 9 passaggi

Video: HackerBox 0040: PIC di Destiny: 9 passaggi
Video: HackerBox 0040 ПИК Судьбы 2024, Dicembre
Anonim
HackerBox 0040: PIC of Destiny
HackerBox 0040: PIC of Destiny

Saluti agli HackerBox Hacker di tutto il mondo. HackerBox 0040 ci fa sperimentare microcontrollori PIC, breadboard, display LCD, GPS e altro ancora. Questo Instructable contiene informazioni per iniziare con HackerBox 0040, che può essere acquistato qui fino ad esaurimento scorte. Se desideri ricevere un HackerBox come questo direttamente nella tua casella di posta ogni mese, iscriviti a HackerBoxes.com e unisciti alla rivoluzione!

Argomenti e obiettivi di apprendimento per HackerBox 0040:

  • Sviluppa sistemi embedded con i microcontrollori PIC
  • Esplora la programmazione in-circuit di sistemi embedded
  • Testare le opzioni di alimentazione e clock per i sistemi embedded
  • Interfaccia un microcontrollore PIC a un modulo di uscita LCD
  • Sperimenta con un ricevitore GPS integrato
  • Impugna l'immagine del destino

HackerBoxes è il servizio di box in abbonamento mensile per l'elettronica fai da te e la tecnologia informatica. Siamo hobbisti, maker e sperimentatori. Siamo i sognatori dei sogni.

HACK IL PIANETA

Passaggio 1: elenco dei contenuti per HackerBox 0040

Image
Image
  • Microcontrollore PIC PIC16F628 (DIP 18)
  • Microcontrollore PIC PIC12F675 (DIP 8)
  • PICkit 3 Programmatore e debugger in-circuit
  • ZIF Socket Programmazione Target per PICkit 3
  • Cavo USB e connettori per PICkit 3
  • Modulo GPS con antenna integrata
  • Modulo LCD alfanumerico 16x2
  • Alimentatore breadboard con MicroUSB
  • Cristalli 16.00MHz (HC-49)
  • Pulsanti momentanei tattili
  • LED ROSSI diffusi da 5mm
  • Potenziometro trimmer 5K Ohm
  • Condensatori ceramici da 18 pF
  • Condensatori ceramici 100nF
  • Resistori da 1K Ohm 1/4W
  • Resistori 10K Ohm 1/4W
  • Tagliere senza saldatura a 830 punti (grande)
  • Kit di cavi per ponticelli formati con 140 pezzi
  • Plettri per chitarra in celluloide
  • Esclusiva decalcomania per stampi PIC16C505

Alcune altre cose che saranno utili:

  • Saldatore, saldatore e strumenti di saldatura di base
  • Computer per l'esecuzione di strumenti software

Soprattutto, avrai bisogno di un senso di avventura, spirito hacker, pazienza e curiosità. Costruire e sperimentare con l'elettronica, sebbene molto gratificante, può essere complicato, impegnativo e persino frustrante a volte. L'obiettivo è il progresso, non la perfezione. Quando persisti e ti godi l'avventura, una grande soddisfazione può derivare da questo hobby. Fai ogni passo lentamente, presta attenzione ai dettagli e non aver paura di chiedere aiuto.

C'è una grande quantità di informazioni per i membri attuali e potenziali nelle FAQ di HackerBox. Quasi tutte le e-mail di supporto non tecnico che riceviamo hanno già una risposta lì, quindi apprezziamo davvero che tu abbia dedicato qualche minuto alla lettura delle FAQ.

Passaggio 2: microcontrollori PIC

Programmazione di microcontrollori PIC con PICkit 3
Programmazione di microcontrollori PIC con PICkit 3

La famiglia di microcontrollori PIC è realizzata da Microchip Technology. Il nome PIC inizialmente si riferiva a Peripheral Interface Controller, ma in seguito fu corretto in Programmable Intelligent Computer. I primi componenti della famiglia sono usciti nel 1976. Nel 2013, erano stati spediti più di dodici miliardi di singoli microcontrollori PIC. I dispositivi PIC sono apprezzati sia dagli sviluppatori industriali che dagli hobbisti grazie al loro basso costo, ampia disponibilità, ampia base di utenti, ampia raccolta di note applicative, disponibilità di strumenti di sviluppo a basso costo o gratuiti, programmazione seriale e capacità di memoria Flash riprogrammabile. (Wikipedia)

HackerBox 0040 include due microcontrollori PIC posizionati temporaneamente per il trasporto in una presa ZIF (forza di inserimento zero). Il primo passo è rimuovere i due PIC dal socket ZIF. Per favore fallo ora!

I due microcontrollori sono un PIC16F628A (scheda tecnica) in un pacchetto DIP18 e un PIC12F675 (scheda tecnica) in un pacchetto DIP 8.

Gli esempi qui utilizzano il PIC16F628A, tuttavia il PIC12F675 funziona in modo simile. Ti invitiamo a provarlo in un tuo progetto. Le sue dimensioni ridotte rappresentano una soluzione efficiente quando è necessario solo un numero ridotto di pin I/O.

Passaggio 3: Programmazione di microcontrollori PIC con PICkit 3

Ci sono molti passaggi di configurazione che devono essere affrontati quando si utilizzano gli strumenti PIC, quindi ecco un esempio piuttosto semplice:

  • Installa il software MPLAB X IDE da Microchip
  • Alla fine dell'installazione, ti verrà presentato un link per installare il compilatore MPLAB XC8 C. Assicurati di selezionarlo. XC8 è il compilatore che utilizzeremo.
  • Inserire il chip PIC16F628A (DIP18) nello zoccolo ZIF. Prendere nota della posizione e dell'orientamento elencati sul retro del PCB di destinazione ZIF.
  • Impostare i ponticelli come indicato sul retro della PCB target ZIF (B, 2-3, 2-3).
  • Collegare l'intestazione di programmazione a cinque pin della scheda target ZIF nell'intestazione PICkit 3.
  • Collega il PICkit 3 al computer utilizzando il cavo miniUSB rosso.
  • Esegui l'IDE MPLAB X.
  • Seleziona l'opzione di menu per creare un nuovo progetto.
  • Configura: progetto autonomo con microchip integrato e premi AVANTI.
  • Seleziona il dispositivo: PIC16F628A e premi NEXT
  • Seleziona debugger: nessuno; Strumenti hardware: PICkit 3; Compilatore: XC8
  • Inserisci il nome del progetto: lampeggio.
  • Fare clic con il pulsante destro del mouse sui file di origine e in new selezionare new main.c
  • Dai al file c un nome come "blink"
  • Vai alla finestra > vista memoria tag > bit di configurazione
  • Impostare il bit FOSC su INTOSCIO e tutto il resto su OFF.
  • Premi il pulsante "genera codice sorgente".
  • Incolla il codice generato nel tuo file blink.c qui sopra
  • Incolla anche questo nel file c: #define _XTAL_FREQ 4000000
  • Passato nel blocco principale del codice c di seguito:

vuoto principale (vuoto)

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

  • Premi l'icona del martello per compilare
  • Vai a produzione> imposta la configurazione del progetto> personalizza
  • Seleziona PICkit 3 nel pannello di sinistra della finestra popup e poi Power dal campo a discesa in alto.
  • Fare clic sulla casella "obiettivo di potenza", impostare la tensione target su 4,875 V, premere Applica.
  • Torna alla schermata principale, premi l'icona della freccia verde.
  • Apparirà un avviso sulla tensione. Premi continua.
  • Alla fine dovresti ottenere "Programmazione/Verifica completata" nella finestra di stato.
  • Se il programmatore non si comporta bene, può essere utile chiudere l'IDE ed eseguirlo di nuovo. Tutte le impostazioni selezionate dovrebbero essere mantenute.

Passaggio 4: breadboarding del PIC programmato con Blink.c

Breadboarding del PIC programmato con Blink.c
Breadboarding del PIC programmato con Blink.c

Una volta programmato il PIC (passaggio precedente), può essere lasciato cadere su una breadboard senza saldatura per il test.

Poiché è stato selezionato l'oscillatore interno, abbiamo solo bisogno di cablare tre pin (alimentazione, massa, LED).

L'alimentazione può essere fornita alla breadboard utilizzando il modulo di alimentazione. Indicazioni per l'utilizzo del modulo di alimentazione:

  • Metti un po' più di saldatura sulle linguette laterali della presa microUSB prima che si rompa, non dopo.
  • Assicurati che i "pin neri" entrino nel binario di terra e i "pin bianchi" nel binario di alimentazione. Se sono invertiti, sei dalla parte sbagliata della breadboard.
  • Porta entrambi gli interruttori a 5V per i chip PIC inclusi.

Dopo aver posizionato il microcontrollore PIC, notare l'indicatore del pin 1. I pin sono numerati dal pin 1 in senso antiorario. Collegare il pin 5 (VSS) a GND, il pin 14 (VDD) a 5V e il pin 2 (RA3) al LED. Notare nel codice che il pin I/O RA3 viene attivato e disattivato per far lampeggiare il LED. Il pin più lungo del LED dovrebbe connettersi al PIC, mentre il pin più corto dovrebbe connettersi a un resistore da 1K (marrone, nero, rosso). L'estremità opposta del resistore dovrebbe collegarsi alla guida GND. Il resistore funge semplicemente da limite di corrente in modo che il LED non assomigli a un cortocircuito tra 5 V e GND e assorba troppa corrente.

Passaggio 5: Programmazione In-Circuit

Programmazione In-Circuit
Programmazione In-Circuit

Il dongle PICkit 3 può essere utilizzato per programmare il chip PIC in-circuit. Il dongle può anche alimentare il circuito (il target della breadboard) proprio come abbiamo fatto con il target ZIF.

  • Rimuovere l'alimentatore dalla breadboard.
  • Collegare i cavi PICkit 3 alla breadboard a 5V, GND, MCLR, PGC e PGD.
  • Modificare i numeri di ritardo nel codice C.
  • Ricompilare (icona martello) e poi programmare il PIC.

Poiché i numeri di ritardo sono stati modificati, il LED dovrebbe lampeggiare in modo diverso ora.

Passaggio 6: utilizzo di un oscillatore a cristallo esterno

Utilizzo di un oscillatore a cristallo esterno
Utilizzo di un oscillatore a cristallo esterno

Per questo esperimento PIC, passa dall'oscillatore interno a un oscillatore a cristallo esterno ad alta velocità. Non solo l'oscillatore a cristallo esterno è più veloce di 16 MHz invece di 4 MHz), ma è molto più preciso.

  • Modificare il bit di configurazione FOSC da INTOSCIO a HS.
  • Modificare sia l'impostazione IDE FOSC che #define nel codice.
  • Cambia #define _XTAL_FREQ 4000000 da 4000000 a 16000000.
  • Riprogrammare il PIC (forse cambiare di nuovo i numeri di ritardo)
  • Verificare il funzionamento con il cristallo esterno.
  • Cosa succede quando estrai il cristallo dalla breadboard?

Passaggio 7: pilotare un modulo di uscita LCD

Pilotaggio di un modulo di uscita LCD
Pilotaggio di un modulo di uscita LCD

Il PIC16F628A può essere utilizzato per pilotare l'uscita a un modulo LCD alfanumerico 16x2 (dati) quando è collegato come mostrato qui. Il file allegato picLCD.c fornisce un semplice programma di esempio per scrivere l'output di testo sul modulo LCD.

Passaggio 8: ricevitore GPS e posizione

Ricevitore di tempo e posizione GPS
Ricevitore di tempo e posizione GPS

Questo modulo GPS può determinare l'ora e la posizione in modo abbastanza accurato dai segnali ricevuti dallo spazio nella sua piccola antenna integrata. Sono necessari solo tre pin per il funzionamento di base.

Il LED rosso "Power" si accenderà quando l'alimentazione corretta è collegata. Una volta acquisiti i segnali satellitari, il LED verde "PPS" inizia a lampeggiare.

L'alimentazione viene fornita ai pin GND e VCC. Il VCC può funzionare a 3,3 V o 5 V.

Il terzo pin necessario è il pin TX. Il pin TX emette un flusso seriale che può essere catturato in un computer (tramite adattatore TTL-USB) o in un microcontrollore. Esistono numerosi progetti di esempio per la ricezione di dati GPS in un Arduino.

Questo repository git include la documentazione pdf per questo tipo di modulo GPS. Dai un'occhiata anche a u-center.

Questo progetto e video dimostra un esempio di acquisizione di data e ora ad alta precisione da un modulo GPS in un microcontrollore PIC16F628A.

Passaggio 9: vivi l'hackLife

Vivi l'hackLife
Vivi l'hackLife

Ci auguriamo che il viaggio di questo mese nell'elettronica fai-da-te ti sia piaciuto. Raggiungi e condividi il tuo successo nei commenti qui sotto o sul gruppo Facebook HackerBoxes. Certamente fateci sapere se avete domande o avete bisogno di aiuto con qualsiasi cosa.

Unisciti alla Rivoluzione. Vivi l'hackLife. Puoi ricevere una bella scatola di elettronica hackerabile e progetti di tecnologia informatica consegnati direttamente nella tua casella di posta ogni mese. Naviga su HackerBoxes.com e iscriviti al servizio HackerBox mensile.

Consigliato: