annuncio

Comprimi
Ancora nessun annuncio.

Microcontrollore... che animale è?

Comprimi
X
 
  • Filtro
  • Ora
  • Visualizza
Elimina tutto
nuovi messaggi

  • #16
    Re: Microcontrollore... che animale è?

    Grande Mimmo!

    Da qualche giorno mi è arrivato il Mega con l'espansione ethernet/sd...
    ti seguo...
    73 de IK0VVE Max
    www.ik0vve.net

    Commenta


    • #17
      Re: Microcontrollore... che animale è?

      PIERO:
      solo un accordatore? ed i cambi banda? e le protezioni?
      ..... ma tanto a Paolo non interessano queste cose....

      MAX:
      sono in attesa anche io della scheda ethernet e dei moduli wifi. La pentola bolle e pure forte
      73 de IZ0GIF - Mimmo

      www.iz0gif.it

      La ragione parla, l'ignoranza urla. --- Chi sa, fa, chi non sa, insegna.

      Commenta


      • #18
        Re: Microcontrollore... che animale è?

        GLI INTERRUPTS

        Cosa sono gli interrupts? Come dice la parola stessa, sono delle interruzioni al programma principale causate da eventi che noi possiamo sia impostare che gestire. In pratica, al verificarsi di un evento, il programma si ferma e va ad eseguire una porzione di codice che noi abbiamo prestabilito, per poi ritornare alla normale prosecuzione del programma principale.

        Un esempio? Vado in macchina da A a B. Se si accende la spia della riserva, la macchina si dirige automaticamente al distributore escludendo qualsiasi controllo da parte del conducente. Il tratto A-B è il programma principale, l’accensione della spia della riserva è l’interrupt, il dirigersi forzatamente al distributore è la gestione dell’interrupt o Interrupt Service Routine (ISR).

        Chi rileva gli eventi? Sulla scheda Arduino UNO, ci sono due porte che oltre alle normali funzioni di I/O digitali svolgono anche le funzioni di interrupt e sono le porte 2 e 3 (interrupt 0 e 1). Gli eventi che queste porte possono gestire sono:
        - Rilevazione di un fronte di salita. Rleva se il pin passa dal livello logico basso (massa) al livello logico alto (+5V)
        - Rilevazione di un fronte di discesa. Rileva se il pin passa dal livello logico alto (+5V) al livello logico basso (massa)
        - Rilevazione cambio stato. Rileva se il pin passa dal livello logico alto al livello logico basso o viceversa.
        - Rilevazione livello logico basso. Rileva se il pin è a livello logico basso (massa)

        L’interrupt è prioritario, ovvero, quando questo si verifica, il micro si “auto-esclude” dal mondo e si occupa di eseguire solamente la porzione di codice che noi gli abbiamo dedicato (ISR).
        Vediamo un esempio


        void setup()
        {
        pinMode(13, OUTPUT); // pin 13 impostato come uscita. Su questo pin è collegato il led onboard alla scheda Arduino
        attachInterrupt(0, blink, CHANGE); // abilita l’interrupt sul pin 2, esegue il codice nella subroutine “blink” quando il pin 2 cambia stato
        }

        void loop()
        {
        digitalWrite(13,HIGH); // accendo il led sul pin 13
        }

        void blink()
        {
        detachInterrupt(0); // disabilito l’interrupt sul pin 2 per evitare altre rilevazioni mentre eseguo il codice seguente
        digitalWrite(13,HIGH); // spengo il led
        delay(1000); // aspetto un secondo
        attachInterrupt(0, blink, CHANGE); // riabilito l’interrupt
        }
        73 de IZ0GIF - Mimmo

        www.iz0gif.it

        La ragione parla, l'ignoranza urla. --- Chi sa, fa, chi non sa, insegna.

        Commenta


        • #19
          Re: Microcontrollore... che animale è?

          Per chi ancora non ci cava il ragno dal buco, cosa c'entra tutto questo con il mondo Ham?

          Facciamo un resoconto.
          Abbiamo visto come far misurare una tensione al micro. Se prendiamo la tensione che va allo strumento di un rosmetro e la mandiamo al nostro convertitore A/D, possiamo farci un bel roswattmetro digitale. Basta collegare un display alla scheda Arduino, fare i soliti calcoli del ROS (usando Vr e Vf) e visualizzare il tutto sul display. (vedremo come)

          Abbiamo visto cosa sono le porte digitali, quindi spazio alla fantasia per accendere/azionare/indicare qualsiasi cosa ci venga in mente.

          Abbiamo visto gli interrupts, possiamo costruirci una console SO2R gestendo le due radio e dando la priorità a quella che trasmette per prima, disabilitando la trasmissione della seconda.

          Avanti con le idee e trasformiamole in realtà!!!
          73 de IZ0GIF - Mimmo

          www.iz0gif.it

          La ragione parla, l'ignoranza urla. --- Chi sa, fa, chi non sa, insegna.

          Commenta


          • #20
            Re: Microcontrollore... che animale è?

            Salve a tutti, seguo con interesse i vostri interventi...nel frattempo mi sono messo in testa di dotare il generatore della funzione sweep per provare a fare qualche misura su filtri, linee,ecc. certo con l'accuratezza che il dds mi consetirebbe..
            per fare questo sto cercando di capire come far caricare al micro il suo bel programmino (sketch) modificando il bootloader in modo che da menu mi carichi uno o l'altro dei programmi( sweep/generatore).
            Un solo micro per diverse funzioni,proprio separate tra loro....vediamo sono in modalita' apprendimento.
            Per l'ethernet e il wifi io ho risolto con la scheda w5100, il classico per arduino, e un adattatore netgear, che ho preso in rete e che si chiama wince2001 ,universal wifi internet adapter, completamente trasparente per arduino....e' come avere la rete cablata per lui....veloce e grande come arduino alimentato con usb.....non costava di piuì della scheda wifi di arduino.
            Grazie a tutti
            saluti alberto

            Commenta


            • #21
              Re: Microcontrollore... che animale è?

              Originariamente inviato da IZ0GIF Visualizza il messaggio
              GLI INTERRUPTS

              Cosa sono gli interrupts? Come dice la parola stessa, sono delle interruzioni al programma principale causate da eventi che noi possiamo sia impostare che gestire. In pratica, al verificarsi di un evento, il programma si ferma e va ad eseguire una porzione di codice che noi abbiamo prestabilito, per poi ritornare alla normale prosecuzione del programma principale.

              Un esempio? Vado in macchina da A a B. Se si accende la spia della riserva, la macchina si dirige automaticamente al distributore escludendo qualsiasi controllo da parte del conducente. Il tratto A-B è il programma principale, l’accensione della spia della riserva è l’interrupt, il dirigersi forzatamente al distributore è la gestione dell’interrupt o Interrupt Service Routine (ISR).

              Chi rileva gli eventi? Sulla scheda Arduino UNO, ci sono due porte che oltre alle normali funzioni di I/O digitali svolgono anche le funzioni di interrupt e sono le porte 2 e 3 (interrupt 0 e 1). Gli eventi che queste porte possono gestire sono:
              - Rilevazione di un fronte di salita. Rleva se il pin passa dal livello logico basso (massa) al livello logico alto (+5V)
              - Rilevazione di un fronte di discesa. Rileva se il pin passa dal livello logico alto (+5V) al livello logico basso (massa)
              - Rilevazione cambio stato. Rileva se il pin passa dal livello logico alto al livello logico basso o viceversa.
              - Rilevazione livello logico basso. Rileva se il pin è a livello logico basso (massa)

              L’interrupt è prioritario, ovvero, quando questo si verifica, il micro si “auto-esclude” dal mondo e si occupa di eseguire solamente la porzione di codice che noi gli abbiamo dedicato (ISR).
              Ciao, penso che ci sia una "gerarchia degli interrupt", vero ? Quanto meno almeno due livelli, gli interrupt utente e quelli di sistema, che hanno precedenza su quelli programmati dall'utente.

              Caso tipico e' il "battito cardiaco" del micro, a.k.a. il CLOCK
              Esiste un modo ( es: registro/i ? ) per configurare gli interrupt da eseguire e la priorita' ?

              ( Questa domanda mi viene fuori dal modo con cui si gestiscono gli interrupt nella famiglia di CPU Intel. )
              Altra riflessione ad alta voce: e' una programmazione NON "concurrent" e interrupt driven sequenziale. Scusa se posso aver scritto imprecisioni o errori.

              Grazie per i tuoi sforzi per farmi/farci capire qualcosa in questo campo interessante.

              73, Piero.

              Commenta


              • #22
                Re: Microcontrollore... che animale è?

                Ciao Piero,
                ovviamente si.
                Mi sono limitato a riportare solamente gli interrupt gestiti dai comandi standard di Arduino, quindi essendo solo quelli sullo stato di sole due porte (Arduino UNO), la priorità in questo caso è solo una e solo quella.
                Se vuoi approfondire la questione, dai un'occhiata al datasheet dell'AtMega 328 da pag. 57 in poi. C'è proprio quello che cerchi, compresa la lista degli interrupts, delle priorità e dei registri di gestione.

                Questi ragnetti ovviamente sono semplici macchine sequenziali, monotasking ed assolutamente NON concurrent.
                Ultima modifica di IZ0GIF; 01-03-13, 04:29.
                73 de IZ0GIF - Mimmo

                www.iz0gif.it

                La ragione parla, l'ignoranza urla. --- Chi sa, fa, chi non sa, insegna.

                Commenta


                • #23
                  Re: Microcontrollore... che animale è?

                  Originariamente inviato da IZ0GIF Visualizza il messaggio
                  Ciao Piero,
                  ...

                  Se vuoi approfondire la questione, dai un'occhiata al datasheet dell'AtMega 328 da pag. 57 in poi. C'è proprio quello che cerchi, compresa la lista degli interrupts, delle priorità e dei registri di gestione.

                  ...
                  Mimmo, almeno avvertimi che il datasheet del 328 ha oltre 400 pagine !!!

                  Mi son dovuto prendere 2 pillole per il mal di testa e due bustine di digestivo, hi !

                  Beh, sto scherzando ( ma non troppo ). A proposito, ho visto gli snippet in assembler e C degli esempi, fortunatamente riesco ancora ad interpretarli. Quale assembler e compilatore C sono quelli standard ? Sono gratuiti o a pagamento ?

                  Considero il C come "assembler portabile con macro" tra l'infinita' di CPU esistenti, molti pero' dissentono da questa mia personale convinzione, ma altrimenti non saprei come classificare il C ( non il C++ ! ).

                  Aspetto con curiosita' ed impazienza le successive puntate del tuo corso, riesci a implementarle in modo semplice ed immediatamente comprensibile, come t'invidio questa dote !

                  Ancora grazie, Piero.

                  Commenta


                  • #24
                    Re: Microcontrollore... che animale è?

                    Ciao Piero e grazie per i complimenti. Sono contento che quanto spiegato sia comprensibile.

                    Il datasheet?
                    Pensa che me lo sono spulciato tutto. Purtroppo, se vuoi conoscere a fondo con cosa hai a che fare e come poterlo gestire totalmente a prescindere da quei quattro comandi resi disponibili dall'ambiente di sviluppo attuale, devi per forza di cose leggerlo.

                    Per il compilatore/assembler, le schede Arduino usano uno pseudo C riadattato, nulla di trascendentale. Il programma è free ed è scaricabile quì:
                    http://arduino.cc/en/Main/Software

                    mentre il reference dei comandi lo trovi quì:
                    http://arduino.cc/en/Reference/HomePage

                    Un altro paio di "appuntamenti" e poi passiamo a fare qualcosa di materiale.
                    73 de IZ0GIF - Mimmo

                    www.iz0gif.it

                    La ragione parla, l'ignoranza urla. --- Chi sa, fa, chi non sa, insegna.

                    Commenta


                    • #25
                      Re: Microcontrollore... che animale è?

                      Originariamente inviato da IZ0GIF Visualizza il messaggio
                      Ciao Piero e grazie per i complimenti. Sono contento che quanto spiegato sia comprensibile.
                      Intervengo solo per qualche considerazione di sponda, dato che non è prettamente il mio campo, ma lo è, appunto, di sponda.

                      Arduino oggi è come il CW. Ostico, difficile capire da zero il linguaggio e il funzionamento, ma - credetemi - è l'ultima occasione che avete per rivivere il trentennio passato dove nulla era plug&play e le logiche AND, NOT, OR si facevano saldando diodi in maniera differente.
                      E' l'ultima occasione in giro a prezzi abbordabili che vi faccia veramente capire il meraviglioso punto dove l'analogico è un tutt'uno col digitale.

                      Non fatevi intimorire, non tralasciate quanto scrive GIF pensando che sia inutile. Dietro tutte le vostre luccicanti radio, dietro i vostri iphone, dietro le vostre mille cose elettroniche che usate ogni giorno, alla fine c'è una sequenza di 0 e di 1 ne più ne meno come in Arduino.

                      E dopo essere andato OT meglio di un traliccio da 60 metri, i complimenti a Mimmo. Stay foolish, stay hungry, ma a me mi si addice più la seconda (frigo rulez)

                      Cris IZ0IEN
                      Cris IZ0IEN
                      http://www.technecom.it
                      Founder of FOC - Frigo Operators Club
                      Member of SOC #990 - Second Operator Class
                      Orgoglioso cultore del CW a correzione d'errore.

                      Commenta


                      • #26
                        Re: Microcontrollore... che animale è?

                        Originariamente inviato da IZ0IEN Visualizza il messaggio
                        Intervengo solo per qualche considerazione di sponda, dato che non è prettamente il mio campo, ma lo è, appunto, di sponda....
                        E' l'ultima occasione in giro a prezzi abbordabili che vi faccia veramente capire il meraviglioso punto dove l'analogico è un tutt'uno col digitale.
                        Non fatevi intimorire, non tralasciate quanto scrive GIF pensando che sia inutile. Dietro tutte le vostre luccicanti radio, dietro i vostri iphone, dietro le vostre mille cose elettroniche che usate ogni giorno, alla fine c'è una sequenza di 0 e di 1 ne più ne meno come in Arduino.
                        Cris IZ0IEN
                        Non facciamoci intimorire da queste tecnologie, ma stiamo comunque attenti....
                        http://www.ftdichip.com/Products/Modules/DevelopmentModules.htm#Vin****
                        just got hold of FTDI chip’s new Vin**** developing platform, so here’s a quick review for you!

                        Vin**** is a 25€ development platform for the FTDI Vinculum II (VNC2) dual USB host/slave microcontroller. The board design has been copied from Arduino, and they even advertise it as Arduino-inspired and Arduino shield compatible. FTDI seems to have realized the potential that comes when having a large hobbyist userbase…
                        File allegati
                        I4ZSQ Silvano

                        Commenta


                        • #27
                          Re: Microcontrollore... che animale è?

                          Di schede clone ce ne sono a bizzeffe, Tosduino, Goduino, Eleven UNO ecc.

                          Silvano, riguardo al nome della scheda della FTDI, l'accento va sulla "i" o sulla "u"?
                          73 de IZ0GIF - Mimmo

                          www.iz0gif.it

                          La ragione parla, l'ignoranza urla. --- Chi sa, fa, chi non sa, insegna.

                          Commenta


                          • #28
                            Re: Microcontrollore... che animale è?

                            e va bene, mi sa che devo comprare anche io l'Arduino mega.
                            Sto seguendo con molto interesse questa discussione. Sinora unica mia esperienza di programmazione, quella con basic ormai 25 anni fa ai tempi dell'università per fare programmi di calcolo strutturale. Non dovrebbe comunque essere impossibile arrivare a scrivere del codice anche per Arduino.
                            73 de IK7JWY Art
                            https://www.qrz.com/db/IK7JWY
                            http://www.infinitoteatrodelcosmo.it...rturo-lorenzo/

                            Commenta


                            • #29
                              Re: Microcontrollore... che animale è?

                              Originariamente inviato da IZ0IEN Visualizza il messaggio
                              ...

                              E dopo essere andato OT meglio di un traliccio da 60 metri, i complimenti a Mimmo. Stay foolish, stay hungry, ma a me mi si addice più la seconda (frigo rulez)

                              Cris IZ0IEN
                              Ciao Cris,

                              vado anch'io OT, Jobs ha avuto tantissimo merito nel campo computer innovativi, ma... vorrei ricordare chi materialmente, ha iniziato tutto, Wozniak,che realizzò il primo computer, poi diventato il Mac !

                              Per lo "stay hungry" consolati, anche a me si addice...

                              A proposito, nell'ultimo numero di RadioKitElettronica, a pag.73, nella foto, sono il secondo da destra, quindi ... giudica come lo "stay hungry" mi si addice !

                              73 a tutti,
                              Piero.

                              Commenta


                              • #30
                                Re: Microcontrollore... che animale è?

                                Un libro mooolto interessante... peccato ancora non è in versione e-book e spedirlo costa un botto
                                HAM RADIO FOR ARDUINO...
                                little pistol station op. Leo - stazione Yaesuita
                                IW5EIJ's website


                                ARI Firenze


                                Radio what's new?
                                Radio, someone still loves you


                                de IW5EIJ / KK6TIF

                                Commenta

                                Sto operando...
                                X