Jump to content
PLC Forum


Sign in to follow this  
jolly-pc

Programmare Un Microcontrollore In Linguaggio C

Recommended Posts

jolly-pc

Salve a tutti sono nuovo in questo forum e scusate se ho sbagliato sezione,la mia passione sono i computer,nello specifico la programmazione,ma ho deciso di avvicinarmi anche all'elettronica,e poichè sono un fan della programmazione in linguaggio C,volevo sapere se è possibile programmare un microcontrollore anche per me che non sono un mago dell'elettronica smile.gif.

Quello che ho in mente sarebbe un microcontrollore,2 tasti (o pulsanti) e un led,e programmare in modo che quando premo sul pulsante 1 si accenda il led e quando premo sull'altro pulsante si spegne.

Il problema è che non so come iniziare,cioè come faccio a collegare il microcontrollore al computer e come fare per scrivere il software che esso dovrà eseguire.

Potete elencarmi cosa devo acquistare per creare questo circuito?

Grazie

Share this post


Link to post
Share on other sites

Livio Orsini

1 - C'è una sottoseszione "microprocessori", quella è la sezione corretta per questa discussione. Bastave leggere i titoli delle sezioni. smile.gif Oggi sono buono e te la sposto io. wink.gif

2 - Tu poni una domanda troppo generica e senza dare dati essenziali.

Se non dai indicazioni sulla famiglia di micro che intendi usare, sul tipo di Hw che vorresti-potresti usare è difficile, se non impossibile dare indicazioni.

Share this post


Link to post
Share on other sites
Mirko Ceronti

Ciao jolly-pc e benvenuto sul Forum smile.gif

Ecco...bravo...fatti spiegare tutto per bene, poichè voglio vedere se è la volta che imparo anch'io.

Solo che Tu hai un enorme vantaggio, poichè il "C" già lo conosci, io invece....manco quello.... sad.gif

Però, come ho imparato l'assembler dello Z80 partendo proprio da programmini stupidi come un "On-Off" può essere che qualcosina anche col "C" mi riesca.

Una sola cosa non mi manca (per ora).......la VOLONTA' !!!

Saluti

Mirko

Share this post


Link to post
Share on other sites
jolly-pc

Chiedo scusa,ho iniziato già col piede sbagliato,il problema è che non so niente di microcontrollori,e magari se mi potete dare qualche consiglio,tipo il modello del microcontrollore da comprare e tutto il resto mi fate un enorme piacere.

L'unica cosa che posso dirvi è che vorrei programmarlo con C

Share this post


Link to post
Share on other sites
Livio Orsini

Purtroppo, soprattutto se si vuole imparare a conoscere bene i microcontrollori, bisogna partire con l'assembler. sad.gif

L'assembler è legato intimamente alla macchina, permette di ottimizzare il codice ma, soprattutto fa, anzi obbliga a capire come funziona il processore.

Il consiglio che mi sento di darti è di rivolgerti ai microcontrollori Microchip.

Questi offrono numerosi vantaggi.

Hanno una gamma completa: CPU a 8 bits, 16 bits, 32 bits e DSP; tutti con la medesima filosifia architetturale e con il medesimo ambiente di sviluppo.

Trovi moltissima documentazione, esempi, tutorials, anche in italiano.

Ti viene fornito lè'ambiente dis viluppo gratuito, completo anche di un compilatore "C" ridotto.

I tools di emulazione InCircuit, forniti dalla casa sono molto economici e funzionali; ce ne è per tutte le esigenze e per tutte le tasche: si parte da circa 20€ sino a > 2000€.

COnsiglio di acquistare on line direttamente dalla casa: si spende meno e non si hanno sgradite sorprese.

Medesimo discorso per le schede prototipo.

In alternativa trovi sul webb molti schemi di autocostruzione di schede e programmatori.

Per iniziare ti consiglio questo ottimo tuttorial in italiano: Link

Share this post


Link to post
Share on other sites
Livio Orsini

E' da un po' che sto pensando di riprendere, in altra forma, il vecchio progetto "on line" sui micro.

Magari lo rielaboro a mo di tutorial a puntate.

Fatemi sapere se c'è qaulcuno interessato. wink.gif

Se la cosa può interessare un po' di gente (non solo 2 o 3 gatti biggrin.gif ) vedrò di darmi da fare.

Share this post


Link to post
Share on other sites
antoniob
Livio Orsini+21/11/2011, 15:00--> (Livio Orsini @ 21/11/2011, 15:00)

Per me sarebbe interessantissimo: un gatto in più.

Scusa Livio, puoi dirci anche qualcosa dei microprocessori AVR?

Share this post


Link to post
Share on other sites
Livio Orsini

No, perchè non m'interessano. Non ci si può occupare di tutto. smile.gif

Share this post


Link to post
Share on other sites
fioresara

Grazie livio, se porti a termine la tua idea te ne sarei immensamente grato, mi interessano molto i micro ma sono proprio alle prime armi e avrei bisogno di partire dalle nozioni base.........

grazie ancora.

Fiorenzo.

Share this post


Link to post
Share on other sites
antoniob

Livio, volevo chiedere due informazioni:

1 - nel Tutorial PDF pubblicato sul sito di Area SX si fa riferimento al programmatore EPIC ma il link non va e su Internet si trova di tutto: PicKit2 o PicKit3, cloni di PicKit2 o PicKit3, ludipippo, programmatori con porte seriali o parallele (ma se ne sconsiglia l'uso su PC/portatili non dotati di tali porte o qualora si usino adattatori usb-seriale o usb-parallela), ecc. Ho notato il PicKit2 e il PicKit3 sul sito MicroChip e volevo chiedere se è una buona scelta o se conosci altri validi programmatori.

2 - qualora ci fossero domande sul tutorial, possiamo usare questa discussione o preferisci procedere diversamente?

Grazie

Share this post


Link to post
Share on other sites
Livio Orsini

Io preferisco usare sempre tools Microchip, i pochi € in più, ma non sempre, valgono abbondantemente la tranquillità dei risultati.

Aspettiamo che abbia iniziato il progettino, poi aprirò una discussione apposita.

Share this post


Link to post
Share on other sites
PocoEsperto
Mirko Ceronti+21/11/2011, 13:20--> (Mirko Ceronti @ 21/11/2011, 13:20)

Ecco. A me manca solo quello... la volontà! smile.gif

Anche a me piacerebbe imparare a programmare in C sia per utilizzare i microcontrollori sia per sviluppare qualche software PC (sempre legato poi a qualche scheda che utilizza microcontrollori).

Il mio problema è che per certe cose sono andato troppo avanti e ne ho lasciate indietro altre che ora mi risulta difficile recuperare sebbene a volte ci abbia timidamente provato.

Ho imparato l'assembler degli ST6 con il quale realizzai un caricabatterie intelligente (ora te li tirano dietro, ma vent'anni fa costavano un occhio della testa).

Ho anche tentato un approccio con il C++ per scrivere programmini che si interfacciassero alle elettroniche che progettavo.

Al momento ho programmatori per molti tipi di microcontrollori, compreso l'ICD2 originale della microchip (aggiungo che condivido quanto dice Livio a tal proposito: meglio acquistare un Pickit2 dalla microchip piuttosto che perdere tempo con cloni o pseudocloni che potrebbero anche dare problemi).

La mia "specializzazione" è nella progettazione e realizzazione completa (schema elettrico, master, circuito stampato, assemblaggio, ingegnerizzazione, ecc.) dalla carta bianca di elettronica a bassa frequenza e bassa potenza.

Mi farebbe comodo imparare ad utilizzare i microcontrollori e nello specifico i PIC per poterli utilizzare nei miei progetti, d'altra parte pensare di dover fare un programmino che accenda o spenga un led alla luce delle mie attuali competenze non mi stimola più di tanto...

Quindi sono ad un bivio a cui probabilmente solo io posso rispondere...

Scusate se mi sono dilungato in un racconto personale, in ogni caso sarei (timidamente) interessato all'eventuale progetto di Livio.

Saluti

Share this post


Link to post
Share on other sites
Pieroterm

Un tutorial sui micro sarei interessato anche io.

Saluti Piero

Share this post


Link to post
Share on other sites
Mirko Ceronti

Già basterebbe sapere cosa acquistare per poter cominciare. smile.gif

Ad esempio, la sigla del microcontrollore, il sistema di sviluppo dedicato per interfacciarsi al P.C., periferiche USB e quant’altro.

Una volta che ce l’hai lì, dopo Ti piglia la smania di provare, ossia arrivano quelli che vengono definiti come “gli stimoli” ed a quel punto un buon 30% del lavoro è fatto.

Dopo manca “solo” (si fa per dire) la didattica, ma per quella se applichiamo il principio che infondere il desiderio di imparare è molto più che istruire, allora la strada non sarà proprio tutta in salita.

Saluti

Mirko

Share this post


Link to post
Share on other sites
Livio Orsini

Io avevo una mezza idea di impostare il lavoro sul pratico.

Limitare l'acquisto al solo attrezzo per programmare ed effettuare il debug; io consiglio fermamente di fare lì l'unico investimento importante: acquistare on line da Microchip un ICD2 o, meglio, un ICD3. Credo che attualmente il costo sia attorno ai 70 €, però ne vale la pena perchè ti mette al sicuro da sorprese; almeno hai una base sicura da cui partire.

Poi per tutto il resto dell Hw pubblicherei schemi e foto per la realizzazione.

Sento Gabriele, se non ha obiezioni decidiamo come arganizzare la faccenda dal punto di vista logistico e partiamo presto, forse a giorni.

Share this post


Link to post
Share on other sites
Mirko Ceronti

Oh capirai.....!!! Anche se fosse il doppio, se ne spendono sempre tanti, (e molte volte per delle boiate) che quelli spesi per apprendere non sono mai buttati, anzi, li recuperi ed anche con gli interessi.

Investire sulla formazione, è sempre un capitale che si rivaluta.

Vai tranquillo Livio, e non farTi scrupoli per quel che potrebbero essere gli investimenti, le spese per imparare (col tempo) si riammortizzano sempre.

Saluti

Mirko

Share this post


Link to post
Share on other sites
antoniob

Vedo che ICD3 ha un costo di circa $190.

Volevo chiedere se magari PicKit3, che costa circa $70, può essere una valida alternativa.

In questa pagina sono riassunte le principali caratteristiche e vedo che PicKit3 ha in meno il "software breakpoint" e il "production programmer". Sapete di che si tratta e se sono funzioni fondamentali?

Share this post


Link to post
Share on other sites
Livio Orsini

Il PicKit3 ha praticamente le medesime caratteristiche dello ICD2. Ho visto che il prezzo dello ICD2 lo hanno più che raddoppiato.

Tra l'altro c'è un'offerta speciale di tools di sviluppo con sconti del 40%; tra questi ci dovrebbe essere anche il PICKIT3

Share this post


Link to post
Share on other sites
antoniob

Ho dato una occhiata sul sito ma il PicKit3 forse non è tra gli articoli scontati sad.gif ... spero di sbagliare.

In tal caso la spesa dovrebbe aggirarsi intorno a:

1) €11.54 per la spedizione

2) $69.99 per il DV164131 PICkit 3 Debug Express

In alternativa al DV164131 c'è anche il PG164130 PICkit 3: non comprende comunque cavi, demoboard con PIC ... questi componenti dovrebbero essere in ogni caso comprati per poter procedere.

Volevo chiedere, a chi ha già acquistato da MicroChip, se ci sono eventualmente spese aggiuntive doganali o tasse varie tipo IVA.

Share this post


Link to post
Share on other sites
PocoEsperto

antoniob+30/11/2011, 09:32--> (antoniob @ 30/11/2011, 09:32)

Non ci sono spese extra, l'iva è già compresa, nel negozio virtuale devi selezionare il paese ITALIA.

p.s. forse può essere utile leggere qui:

https://www.microchipdirect.com/ShippingInfo.aspx

Saluti

Edited by PocoEsperto

Share this post


Link to post
Share on other sites
venti

A parere mio ha un supporto migliore con il suo ide l'Atmel/Avr. 3 volte migliore di quelli della microchip. Di fatto alcuni minicomputer, hanno un microprocessore AVR.

D'altronde anche Massimo Banzi e Co., hanno utilizzato per il loro arduino, completo anche di software ide con degli esempi, un microcontrollore Atmega328.

Quindi se vuoi programmare un microcontrollore, a parere mio, buttati subito su Atmel, magari con un bel atmega32.

L'Avr studio4 tools, lo scarichi dal loro sito, gratuitamente, basta registrarsi e programmi in asm e in C.

il link che ti posto e un programmatore in isp via seriale. L'ho costruito e funzia benissimo:

http://it.emcelettronica.com/programmatore-seriale-avr-atmel

Magari acquista prima l'arduino e poi acquista un atmel, questo è quello che consiglio.

Share this post


Link to post
Share on other sites
Livio Orsini

Questa è la discussione dove ho iniziato con la guida.

Nel primo messaggio descrivo i criteri che stanno alla base della mia scelta.

Seguono i messaggi con i links agli schemi dello Hw minimo per poter iniziare.

Seguiranno i documenti con i tutorial teorico pratici. Proseguendo con l'apprendimento verranno proposte altre periferiche.

PS. Recentemente esiste una versione di Arduino, molto più potente, che usa un PIC32 come processore.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...