creazione di un frequenzimetro

Aperto da matteo_, 22 Ottobre 2021, 13:01:24

Discussione precedente - Discussione successiva

0 Utenti e 1 Visitatore stanno visualizzando questa discussione.

davj2500

Ciao Listener.

Citazione di: listener il 24 Ottobre 2021, 06:56:21
Eccolo! Il nocciolo della questione! Io le ho date le mie spiegazioni sul perchè scegliere un tipo di processore e casa produttrice, rileggi i post sopra.
-Economici.
-Sistema di sviluppo professionale, che potrebbe anche servire per lavoro. Sistema di sviluppo gratuito.
-Ampia diffusione.
-Programmatore economicissimo.
-Usi da subito un linguaggio che ti servirà finchè avranno vita i computer, e dalla sintassi ripresa da tanti altri linguaggi ad alto livello.
-Non usi un giocattolo, "una schedina", ma un vero microcontroller, con il solo sbattimento di saldare un quarzo e due condensatori, anzi puoi pure usare l'oscillatore interno e risparmiarti pure quello.
E aggiungo:
-nel 2021 dentro un sistema elettronico a microcontrollore non ci trovi un arduino ma è molto probabile ci trovi un Pic.
-La Microchip è uno dei maggiori produttori mondiali di microcontrollori e circuiti integrati.
E anche che sono così economici e versatili, che puoi usarli dal lampeggio di un led, con un 8 pin da pochi centesimi, fino a progetti parecchio complessi con le versioni più potenti.

Senti è molto faticoso discutere con uno che pur non sapendo nulla della cosa "B" vuole dimostrare che la cosa "A" è meglio.
Arduino non è un microcontrollore: è un "cappello" di accessori per facilitare il principiante ad utilizzare microcontrollori esistenti.
Di questa famiglia fanno parte schede PCB con saldato sopra un microcontrollore cosicché l'hobbysta possa avere un oggetto già pronto all'uso. Puoi usare anche un integrato ATMega32 in formato DIP-20 da solo e usarlo senza componenti aggiuntivi. Puoi anche usare un PIC nel mondo Arduino.
Arduino non produce compilatori, usa quelli della casa. La Microchip, che è proprietaria di ATMega e quindi produce l'ATMega32, nella sua pagina web "https://www.microchip.com/en-us/development-tools-tools-and-software/gcc-compilers-avr-and-arm" indica gli strumenti di sviluppo "professionali" per questo microcontrollore e sono la "AVR GNU Toolchain", cioè gcc-avr, quello che trovi in nella IDE di Arduino quando compili per ATMega.
Io sinceramente non so cosa rispondere quando l'argomento è "meglio un PIC" perché ha il "programmatore economicissimo" quando uno degli sforzi fatti dal "cappello" di Arduino è quello di fare schede con a bordo l'USB per poter lavorare SENZA programmatore - fermo restando che si può ancora lavorare con il programmatore.
Non so cosa rispondere quando l'argomento è "economicissimo" quando Arduino ha disegnato delle schede open source che vengono prodotte dai cinesi e si trovano ad 1€ l'una.
Non so cosa rispondere quando sento che il punto di forza è "ampia diffusione" quando cercando Microchip PIC su Google mi ritorna 7 milioni risultati e cercando "Arduino" ne trova 141 milioni.
Non so cosa rispondere quando leggo "Usi da subito un linguaggio che ti servirà finchè avranno vita i computer, e dalla sintassi ripresa da tanti altri linguaggi ad alto livello" quando abbiamo già stabilito che Arduino usa il C/C++ che è il linguaggio "standard" di questo settore, compresi i PIC. Anzi, ne abbiamo anche discusso ampiamente in questo stesso thread ma evidentemente inutilmente dato che la cosa torna da capo tra gli argomenti come se niente fosse.
Oppure "La Microchip è uno dei maggiori produttori mondiali di microcontrollori e circuiti integrati", quando Arduino non è un produttore di microcontrollori ma è una serie di accessori che aiutano i principianti ad usare i microcontrollori, compresi i Microchip.
Ad esempio, la frase "Non usi un giocattolo, "una schedina", ma un vero microcontroller" significa che se prendi un "SunDuino" che monta un PIC18F2550, siccome è compatibile con l'ambiente Arduino, automaticamente diventa un giocattolo e il PIC18F2550 che monta non è più un "vero microcontroller"? Ma ti pare aver senso?

Ciao
Davide


Geremia

#26
Sono perfettamente in accordo con quanto scritto da Davide.
Vorrei solo aggiungere che "Arduino" non e' un microcontrollore o una scheda con saldato sopra il microcontrollore, ma e' una "filosofia" nata per avvicinare al mondo della logica di programmazione gli studenti delle scuole medie o i principianti che di programmazione non conoscono niente. Attraverso il "mondo Arduino" e' possibile realizzare una enorme quantita' di applicazioni in quanto sono disponibili a prezzi stracciati schede  che realizzano una particolare funzione e le librerie per il loro utilizzo. Non ha senso reinventare ogni volta la ruota, le librerie disponibili sono un numero vastissimo. Quando lavoravo mi creavo le mie librerie personali che potevano essermi utili in altre applicazioni. Bene, qui sono  gia' presenti e danno la possibilita' al ragazzo di sfondare il muro che sembrava invalicabile e che lo separava dalla realizzazione di una sua idea. Io trovo che Benzi & CO. abbiano portato la possibilita' di realizzare i propri progetti ad un livello estremamente fruibile per tutti. Poi, quando il principiante si sara' evoluto, potra' andare a fondo nei concetti e scrivere a sua volta le proprie librerie per moduli  diversi. Peraltro, molto intelligente anche il tipo di connessione tra le varie interfacce e la scheda con il microcontrollore in quanto non e' quasi mai necessario l'uso di un saldatore.
S = k * log W

listener

#27
Davide, forse non leggi bene quello che scrivo.
Potrei mai consigliare qualcosa che non conosco? Ovviamente consiglio quello che utilizzo e mi sembra migliore sotto tanti punti di vista. Poi ovviamente il signore sceglierà quello che va meglio per lui.

Su arduino sono dovuto andare a leggermi qualche informazione, perchè mi hai fatto venire il dubbio parlassimo di cose diverse. Wikipedia: "Questo software permette anche ai novizi di lavorare con Arduino, in quanto i programmi sono scritti in un linguaggio di programmazione semplice e intuitivo, chiamato Wiring, derivato dal C e dal C++, liberamente scaricabile e modificabile[il linguaggio è modificabile?]. I programmi in Arduino vengono chiamati sketch."
Esattamente come ricordavo e a me non sembra per niente educativo, ne professionale. Aggiungo che sul sito ufficile non puoi scaricare l'ide senza fare una donazione obbligatoria, quindi non posso provarlo. Io mi riferisco ad anni fa e non era proprio un ide ma un programmino da due soldi dove potevi fare alcune cosette. Oggi potrebbe benissimo essere cambiato, non saprei è un progetto closed e già di partenza non mi interessa.
A te piace arduino e consigliali quello chi te lo vieta.


Geremia io invece penso che sia poco educativo, meglio conoscere bene la base e poi dopo ovviamente non reinventi la ruota ma cerchi una libreria già pronta. Esempio, il signore usa arduino e ha dubbi su come fare un frequenzimetro, che è uno dei primissimi progetti che fa uno che inizia, almeno di solito, intendo dubbi sul scrivere il codice. Dubbi sugli stadi di ingresso e visualizzazione sarebbero leggittimi.

dattero

Citazione di: listener il 24 Ottobre 2021, 14:17:58

Aggiungo che sul sito ufficile non puoi scaricare l'ide senza fare una donazione obbligatoria,


scusate se mi intrometto , ma non mi ricordavo di aver fatto una donanzione , quindi sono andato sul sito e ho scaricato senza donazioni


listener

#29
Ora riprovo, ma senza donazione non mi faceva andare avanti. Si errore mio si può scaricare anche liberamente.

Eccolo, a me non sembra per niente un sistema di sviluppo serio. E' esattamente identico ad anni fa.

davj2500

Citazione di: listener il 24 Ottobre 2021, 14:43:53
Eccolo, a me non sembra per niente un sistema di sviluppo serio. E' esattamente identico ad anni fa.

Beh... se il livello di argomentazione è questo, possiamo anche chiudere la discussione qui.

Ciao
Davide


Geremia

#31
E' scaricabile gratuitamente l'IDE con il compilatore e linker e le funzioni di donwload e dialogo via seriale con il micro posto sulla Arduino. Il linguaggio e' il C e con una libreria Wiring che, come ti ha gia' spiegato Davide, consente di utilizzzare istruzioni piu' intuitive che si possono assimilare a Macro (ho scritto che si possono assimilare non che sono). Se invece non la usi puoi benissimo utilizzare quelle relative al micro che usi per avere accesso alle porte in/out in assembler. Il C, essendo un linguaggio generale, non ha istruzioni univoche per tale scopo e devono essere implementate a seconda del micro che si usa.
Il primo e piu' semplice programma che uno impara e' il blinking di un led e cosi' pure su MPLAB e non certo un frequenzimetro. Sia con un ATMEGA328 che con un PIC, per realizzare la funzione frequenzimetro devi utilizzare un pin di input capture interrupt driven legato a due contatori, uno per la misura dell'intervallo tra il fronte di salita e di discesa e uno per il conteggio degli overflow. Poi dopo devi usare un po' di matematica per passare dal periodo misurato alla frequenza. Non mi dire che questo e' il progetto piu' semplice che un principiante si appresta a fare.
Saluti e baci.
S = k * log W