Domanda:
Arduino: ne vale la pena?
Dean
2010-12-20 21:27:06 UTC
view on stackexchange narkive permalink

Ho già giocato con gli AVR con il mio kit di sviluppo atmel e recentemente ho visto aumentare l'uso di Arduino. Ho alcune domande da parte degli utenti:

  1. È come usare un microcontrollore?
  2. Ci sono limitazioni con l'uso di Arduino invece di usare il microcontrollore?

Sono interessato a trasferirmi a loro, ma anche quale dovrei prendere dato che ce ne sono così tanti tra cui scegliere.

Cinque risposte:
Leon Heller
2010-12-20 21:36:24 UTC
view on stackexchange narkive permalink

Le varie schede Arduino utilizzano microcontrollori AVR.

Con il software appropriato, utilizzare Arduino è come usare qualsiasi altro microcontrollore. Tuttavia, il software Arduino non supporta il debug in-circuit, disponibile con altri software di sviluppo come AVR Studio di Atmel. Puoi utilizzare l'hardware Arduino con AVR Studio e strumenti hardware Atmel come il programmatore / debugger Dragon. Il software Arduino supporta il download sulla destinazione tramite un bootloader.

Il sito web e forum di Arduino sono molto utili se hai bisogno di aiuto.

Nick T
2010-12-20 21:33:19 UTC
view on stackexchange narkive permalink

Un Arduino è fondamentalmente una scheda di sviluppo economica e non supportata ("open-source"). Puoi utilizzare le librerie e il software Arduino per un'introduzione delicata agli MCU, oppure puoi fare di tutto e non usarne nessuno e sviluppare su Atmel AVR direttamente con AVR Studio e WinAVR (contenente il compilatore avr-gcc ).

Anche se non utilizzi il software Arduino, la scheda sarà ancora fisicamente della stessa dimensione, quindi non c'è nulla che ti impedisca di usare scudi, che è un modo conveniente per gli hobbisti di aggiungere hardware se non vuoi fare molti assemblaggi di componenti (per non parlare di creare / forare PCB).

Per quello che vale, mi piace un po 'il concetto di Arduino, ma l'uso di C ++ è odioso e non riesco a vedere il valore nel nascondere main (); all'utente . Fortunatamente, tutto questo può essere eliminato.

Definirei "non supportato" come "non supportato da Atmel": esiste una vasta e crescente comunità di utenti Arduino, per non parlare delle vaste risorse disponibili su http://www.arduino.cc/
@vicatcu, non supportato implica dalla società, potrebbe valere la pena aggiungere che c'è una grande comunità, ma non c'è un team di ingegneri applicativi in ​​attesa della tua chiamata, che è ciò che un'azienda normalmente richiede in supporto.
+1 per l'uso inutile di C ++ e per nascondere main (). Ho dato un'occhiata all'uso dell'IDE di Arduino quando ho ottenuto il mio per la prima volta. Poi ho deciso che avrei preferito farlo da solo e sono andato direttamente a avr-gcc e avrdude per la programmazione. Va notato che la libreria Wiring può essere utilizzata molto facilmente anche senza l'IDE di Arduino.
vicatcu
2010-12-21 02:29:44 UTC
view on stackexchange narkive permalink

In realtà avr-gcc è nascosto anche in Arduino ... devi solo usare la sintassi C ++ se stai usando le loro librerie o scrivendo la tua. Altrimenti, l'unico vincolo è che sei 'costretto' a usare il modello equivalente a:

  int main (int argc, char * argv []) {setup (); for (;;) {loop (); } return 0;} 

che è un modello che si adatta a una grande sezione trasversale (probabilmente la totalità) del design incorporato. Devi solo implementare setup () e loop ().

Inoltre non è una scelta tra Arduino e un microcontrollore. In linea di principio, potresti estrarre l'ATMega328P da un contesto di scheda Arduino, programmato con uno schizzo e trapiantarlo in una soluzione più strettamente integrata.

Quindi credo di non essere d'accordo con il sentimento di alcune delle altre risposte qui che suggeriscono che Arduino è solo una piattaforma "giocattolo". Secondo me è fattibile per uno sviluppo più "serio". Abbassa solo la barriera all'ingresso nel mondo embedded. La possibilità di programmarlo senza un programmatore separato (ad esempio AVRISP mkII, STK500, ecc.) È una specie di grosso problema a questo proposito.

Non credo davvero che richieda un compromesso significativo da parte degli utenti più avanzati.

La maggior parte dei compilatori e degli assemblatori inseriscono comunque un'istruzione di tipo reset dopo che main termina, facendo sì che main venga eseguito in modo efficace in un ciclo infinito, come eseguire setup (), quindi loop () una volta e poi tornare all'inizio.
il problema principale che ho con il "sistema Arduino" è che una volta che sei cresciuto oltre un singolo modulo utente è nauseante da gestire poiché scarica tutto il codice in un singolo file, quindi non puoi nascondere nulla. Puoi usare file normali e "# include", ma se li porti nell'IDE fallisce miseramente. @Thom, non è che si debba mai rinunciare al controllo di ... qualunque cosa sia dopo "main" in un sistema embedded ... ma mi aspetto che il micro attenda fino a quando non ottiene un reset o qualche interruzione.
@Nick, hai letto il "tutorial su come creare una libreria Arduino" ... Ho appena fatto il mio primo di recente e ha funzionato bene per me.
Vorrei quasi sostenere e dire che il pattern setup-loop si adatta a tutti i programmi, incorporati e non.
Dave
2010-12-20 21:51:39 UTC
view on stackexchange narkive permalink

La mia prima domanda per te è: cosa ne farai? Mentre ottenere Arduino attivo e funzionante è facile e ci sono alcuni schizzi disponibili con cui giocare, lo sviluppo non è poi così divertente. IMO, l'IDE è un po 'bizzarro e alcune scorciatoie da tastiera sono davvero fastidiose per gli sviluppatori di Visual Studio. :) Come ha detto Leon, non avrai il debug in-circuit, ma nemmeno alcuni degli altri dispositivi di facile accesso come mbed.

Se stai solo giocando in giro e bitbanging per conoscere gli LCD o per leggere i dati dei sensori o interagire con dispositivi seriali, è fantastico. Tuttavia, se dovessi decidere su una piattaforma per un prodotto consumer, sceglierei qualcos'altro che fornisse il debug in-circuit.

Sì, solo per aver giocato davvero.
Sono d'accordo sulle stranezze dell'IDE. Lo sviluppo di avr-gcc in eclipse rende la programmazione molto meno dolorosa. In particolare, a mio avviso manca il completamento automatico Ctrl-spazio.
Arduino ha un IDE? lol.
@Nick: haha, sì più come il Blocco note con una pelle diversa.
Sì, deve ... avere ... il completamento automatico
russ_hensel
2011-01-05 00:13:23 UTC
view on stackexchange narkive permalink

Dave Jones ha realizzato un video blog su Arduino. Se il collegamento non funziona, cercare EEVBlog # 45.

@user1498,, per favore, non scaricare solo un collegamento, specialmente quando ci si collega ai blog. I blog sono ottimi per distruggere i collegamenti, quindi se qualcuno arriva alla tua risposta pochi mesi dopo e se il collegamento è morto, la tua risposta è * totalmente priva di valore * e il sito ne risente. I link * non sono male *, ma almeno offrono una piccola descrizione con esso.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 2.0 con cui è distribuito.
Loading...