Sommario:
- Passaggio 1: progettazione della scheda
- Passaggio 2: componenti richiesti
- Passaggio 3: il software della scheda
- Passaggio 4: che aspetto ha un programma applicativo
- Passaggio 5: costruire da soli il tabellone
Video: Scheda di sviluppo JALPIC One: 5 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Se segui i miei progetti Instructables sai che sono un grande fan del linguaggio di programmazione JAL in combinazione con il microcontrollore PIC. JAL è un linguaggio di programmazione simile al Pascal sviluppato per i microcontrollori PIC a 8 bit di Microchip. La maggior parte delle persone conosce Arduino usando il microcontrollore ATMEL. Una delle cose belle di una scheda Arduino è che puoi programmare il microcontrollore senza la necessità di un programmatore separato.
Questa assenza della necessità di un programmatore mi ha portato a questo progetto. Volevo realizzare una scheda simile ad Arduino Uno per il microcontrollore PIC sviluppando il software per quella scheda con il linguaggio di programmazione JAL. La scheda non doveva avere le dimensioni esatte della scheda Arduino Uno ma i connettori sulla scheda avrebbero dovuto avere, ove possibile, le stesse connessioni delle connessioni di un Arduino Uno. E così è nata la scheda di sviluppo JALPIC One.
Passaggio 1: progettazione della scheda
Prima di iniziare il progetto, ho dato una buona occhiata al design di Arduino e ho deciso quanto segue:
- Volevo che la scheda fosse costruita con componenti standard, quindi niente Surface Mount Design (SMD). La ragione di ciò è che sarebbe più facile per gli hobbisti assemblare la scheda.
- I connettori dovrebbero portare il più possibile le stesse funzionalità di Arduino Uno. Nella foto frontale non ho ancora montato i connettori.
- Il controllo della scheda doveva essere effettuato da un PIC e questo PIC doveva essere programmato utilizzando il linguaggio di programmazione JAL.
- A scopo di test, la scheda dovrebbe avere un LED che è possibile controllare dal PIC che esegue l'applicazione. Questa funzione è presente anche su Arduino Uno.
- Il PIC che esegue l'applicazione dovrebbe avere memoria e RAM sufficienti per un facile sviluppo dell'applicazione.
Nel diagramma schematico allegato trovi il design della scheda di sviluppo JALPIC One. Ho incluso anche uno screenshot del PCB. Proprio come Arduino, la scheda può essere alimentata dalla porta USB o da un alimentatore CC esterno quando viene utilizzata da sola.
Ho aggiunto un'immagine che mostra Arduino e la scheda di sviluppo JALPIC One.
Il PIC dell'applicazione sulla scheda viene programmato utilizzando il file esadecimale creato dal compilatore JAL.
Passaggio 2: componenti richiesti
È necessario disporre dei seguenti componenti per questo progetto accanto alla scheda stessa:
CIRCUITO INTEGRATO
- 1 * LM2940CT-5.0: IC1
- 1 * LM3940IT-3.3: IC2
- 1 * PIC16F18557P: IC3 (applicazione PIC)
- 1 * PIC16F1455P: IC4 (controllo PIC)
Cristallo
- 1 * 20 MHz: Q1
- 1 * 12 MHz: Q2
Diodo
- 1 * 1N4004: D1
- 1 * 1N4148: D2
GUIDATO
- 1 * LED giallo: LED1
- 1 * LED ambra: LED2
- 1 * LED rosso: LED3
Connettore
- 1 * Jack di alimentazione: J1
- 1 * Connettore USB: X1
- Intestazione 2 * 6 pin: SV2, SV5
- Intestazione 2 * 8 pin: SV1, SV4
- Intestazione 1 * 10 pin: SV3
- Ponticello 1 * 3 pin: JP1
- Ponticello 1 * 2 pin: JP2
Condensatore
- 4 * 22 pF: DO1, DO3, DO11, DO13
- 5 * 100 nF: DO2, DO6, DO7, DO8, DO9
- 1 * 470 nF/Ceramica: C10
Condensatore elettrolitico
3 * 10uF/25V: C4, C5, C12
Resistore
- 2 * 22 Ohm: R10, R11
- 2 * 330 Ohm: R1, R8
- 6 * 1 kOhm: R2, R3, R4, R5, R6, R7
- 1 * 33 kOhm: R9
Interruttore
1 * Pulsante Omron: S1
Nel layout allegato della scheda puoi vedere dove dovrebbe andare ogni componente.
Passaggio 3: il software della scheda
La maggior parte del lavoro è stato lo sviluppo del software di controllo per il controllo PIC sulla scheda. La scheda ha un semplice set di comandi per cancellare il PIC dell'applicazione, programmare il PIC dell'applicazione e altri comandi. Come accennato è stato scritto in JAL. Ci sono 3 componenti principali nel software:
- Il programma principale che fornisce l'interfaccia con l'USB, interpreta i comandi e invia le risposte.
- Il parser di file esadecimali che controlla il contenuto del file esadecimale, estrae l'indirizzo ei dati da programmare.
- Il programmatore che cancella la memoria dell'applicazione PIC e programma l'applicazione PIC con i dati provenienti dal parser.
Poiché il PIC di controllo non ha una grande memoria interna, l'analisi del file esadecimale viene eseguita in tempo reale e riga per riga, dopodiché i dati vengono passati al software di programmazione che quindi programma anche l'applicazione PIC su una riga per linea di base.
Il file esadecimale allegato può essere utilizzato per programmare il PIC del controller.
Passaggio 4: che aspetto ha un programma applicativo
Poiché l'hardware dell'applicazione PIC è noto, un semplice file include può essere utilizzato per definire tutti i tipi di impostazioni necessarie per il funzionamento dell'applicazione PIC. La persona che scrive il programma può quindi concentrarsi sul programma stesso. Un semplice programma lampeggiante in JAL ha quindi il seguente aspetto:
include jalpic_one -- include il file di definizione della scheda
enable_digital_io() -- rende tutti i pin I/O digitali
il led alias è pin_a0 -- alias per pin con LED
pin_a0_direction = OUTPUT
ciclo per sempre
led = ON
_usec_delay(100_000)
led = SPENTO
_usec_delay(400_000)
fine ciclo
Questo programma utilizza il LED presente sulla scheda di sviluppo JALPIC One. Quando il programma è finito, è sufficiente un solo clic su un pulsante in un editor chiamato JalEdit per compilare il programma e scaricarlo sulla scheda. Il breve video mostra come funziona.
Passaggio 5: costruire da soli il tabellone
Non potrei descrivere tutto in questo Instructable, ma l'intero design della scheda, il software e la documentazione possono essere scaricati da una delle versioni di Jallib nella cartella "progetto\jalpic_one".
Poiché questo nuovo sviluppo non è ancora ufficialmente rilasciato in una nuova versione di Jallib, deve essere scaricato utilizzando l'ultimo "pacchetto di api" dal sito di download di JAL.
Il sito di download può essere trovato su: Just Another JAL Website
Divertiti a costruire il tuo progetto e attendo con ansia le tue reazioni.
Consigliato:
Scheda di sviluppo ESP32 fai da te - ESPer: 5 passaggi (con immagini)
Scheda di sviluppo ESP32 fai-da-te - ESPer: Di recente ho letto di molti IoT (Internet of Things) e fidati di me, non vedevo l'ora di testare uno di questi meravigliosi dispositivi, con la possibilità di connettersi a Internet, me stesso e mettere le mani sul lavoro. Per fortuna l'occasione a
Crea la tua scheda di sviluppo con microcontrollore: 3 passaggi (con immagini)
Crea la tua scheda di sviluppo con microcontrollore: hai mai desiderato creare la tua scheda di sviluppo con microcontrollore e non sapevi come. In questo tutorial ti mostrerò come realizzarla. Tutto ciò di cui hai bisogno è conoscenza dell'elettronica, progettazione di circuiti e programmazione. Se hai qualche missione
Breadboard della scheda di sviluppo: 12 passaggi (con immagini)
Breadboard della scheda di sviluppo: questo Instructables mostra come creare una breadboard su misura per la scheda di sviluppo
WIDI - HDMI wireless con Zybo (scheda di sviluppo Zynq): 9 passaggi (con immagini)
WIDI - HDMI wireless con Zybo (scheda di sviluppo Zynq): hai mai desiderato poter collegare la tua TV a un PC o laptop come monitor esterno, ma non volevi avere tutti quei fastidiosi cavi? Se è così, questo tutorial è solo per te! Mentre ci sono alcuni prodotti che raggiungono questo obiettivo, un
UDuino: scheda di sviluppo compatibile con Arduino a bassissimo costo: 7 passaggi (con immagini)
UDuino: scheda di sviluppo compatibile con Arduino a bassissimo costo: le schede Arduino sono ottime per la prototipazione. Tuttavia, diventano piuttosto costosi quando si hanno più progetti simultanei o sono necessarie molte schede controller per un progetto più ampio. Ci sono alcune ottime alternative più economiche (Boarduino, Freeduino) ma