Go Down

Topic: progetto standalone Arduino Uno SMD Rev3 (Read 2273 times) previous topic - next topic

edoardo89

ciao a tutti!
Sono un novellino sia con Arduino che con l'utilizzo dei forum, quindi spero di aver eseguito correttamente tutte le operazioni per iniziare un nuovo argomento  :)
è da qualche mese che "lavoro" con arduino, per lo più ho creato semplici circuiti che mi hanno permesso di fare esperienza con i vari sensori. Ora volevo provare a fare a creare qualcosa di autonomo, insomma che funzioni senza essere attaccato al pc (standalone è il termine corretto se non sbaglio). Per farla breve ho seguito i tutorial trovati in giro per il sito ma ho riscontrato problemi ed errori nel momento in cui carico lo sketch sul atmega328. Preciso che io ho un Arduino Uno SMD Rev3.
qualcuno sa aiutarmi o indicarmi una guida? grazie!

leo72

Che genere di problemi?
Che cosa stai cercando di fare? Cos'è che stai usando? Cos'è che non funziona?

PaoloP

#2
Feb 19, 2013, 06:31 pm Last Edit: Mar 06, 2013, 07:01 pm by PaoloP Reason: 1
Standalone vuol dire che compri un micro ATmega328P e lo monti con la componentistica strettamente necessaria per fare quello che ti serve.

Esempio di StandAlone su BreadBoard:


Da qual che ho capito tu vuoi usare semplicemente Arduino non connesso al PC, in quel caso serve un'alimentazione esterna di almeno 7V 500mA e ovviamente non puoi verificare eventuali messaggi su Serial Monitor.

Se invece hai un micro standalone e lo vuoi programmare segui la guida del Prof. --> http://www.michelemenniti.it/arduino_burn_bootloader.php

peppe91

Hai caricato il bootloader sul nuovo atmega...???

aref91


Ora volevo provare a fare a creare qualcosa di autonomo, insomma che funzioni senza essere attaccato al pc [...] qualcuno sa aiutarmi o indicarmi una guida? grazie!


Se hai solo bisogno di alimentarlo (da http://arduino.cc/en/Main/arduinoBoardUno):
Code: [Select]
Power
The Arduino Uno can be powered via the USB connection or with an external power supply. The power source is selected automatically.
External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or battery. The adapter can be connected by [i]plugging a 2.1mm [b]center-positive[/b] plug into the board's power jack[/i]. Leads from a battery can be inserted in the Gnd and Vin pin headers of the POWER connector.
The board can operate on an external supply of 6 to 20 volts. If supplied with less than 7V, however, the 5V pin may supply less than five volts and the board may be unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts.
The power pins are as follows:
VIN. The input voltage to the Arduino board when it's using an external power source (as opposed to 5 volts from the USB connection or other regulated power source). You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin.
5V.This pin outputs a regulated 5V from the regulator on the board. The board can be supplied with power either from the DC power jack (7 - 12V), the USB connector (5V), or the VIN pin of the board (7-12V). Supplying voltage via the 5V or 3.3V pins bypasses the regulator, and can damage your board. We don't advise it.
3V3. A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA.
GND. Ground pins.
IOREF. This pin on the Arduino board provides the voltage reference with which the microcontroller operates. A properly configured shield can read the IOREF pin voltage and select the appropriate power source or enable voltage translators on the outputs for working with the 5V or 3.3V.
[/size]

Se hai anche bisogno di una comunicazione con il pc senza fili:
http://arduino.cc/en/Main/ArduinoWirelessShield
oppure
http://arduino.cc/en/Main/ArduinoXbeeShield

Chiaramente le ultime sono un poco più complicate da implementare e sono solamente degli "spunti".
Dipende tutto da quello di cui hai bisogno! Dicci di più!  :P
Fortunato possessore di un arduino uno r3

edoardo89

PaoloP ha azzeccato il mio problema! adesso riprovo seguendo la guida che mi hai linkato! nel pomeriggio vi aggiorno se sono riuscito o meno.. grazie a tutti delle dritte!   :)

edoardo89

ok! allora ho risolto il problema del bootloader.. e seguendo questa guida sono riuscito a caricarlo con successo!
ora però il problema è caricare lo sketch.. nella guida dice di rimuovere il chip dall'Arduino, ma avendo una SMD ciò non è possibile! c'è un'altra strada? non vorrei dover comprare un nuovo Arduino..

PaoloP

Se hai uno standalone e vuoi caricare lo sketch tramite bootloader o togli il micro (cosa non possibile con la versione SMD) oppure ti procuri un'interfaccia USB-Seriale tipo --> http://www.robot-italy.com/it/usb-to-serial-converter.html
La puoi anche acquistare nello store ufficiale di Arduino (http://store.arduino.cc/ww/) o dove più ti garba.

edoardo89


Se hai uno standalone e vuoi caricare lo sketch tramite bootloader o togli il micro (cosa non possibile con la versione SMD) oppure ti procuri un'interfaccia USB-Seriale tipo --> http://www.robot-italy.com/it/usb-to-serial-converter.html
La puoi anche acquistare nello store ufficiale di Arduino (http://store.arduino.cc/ww/) o dove più ti garba.


quindi non è possibile in alcun modo caricare uno sketch su un micro standalone con l'Arduino SMD!? posso smetterla di provare e riprovare?

PaoloP

#9
Feb 20, 2013, 06:33 pm Last Edit: Feb 20, 2013, 06:35 pm by PaoloP Reason: 1
Si lo puoi caricare ma senza bootloader caricando prima su Arduino SMD lo sketch "Arduino ISP" e poi, seguendo la guida di Menniti, sul secondo micro via ISP.
In questo modo però avrai sempre l'Arduino SMD impegnato a fare da programmatore ISP.
Il mio consiglio è quello di prendere un programmatore a parte, che può anche essere una altro Arduino "non SMD"  ;) o costruirtelo: sul forum ci sono esempi anche utilizzando gli ATtiny.

edoardo89


Si lo puoi caricare ma senza bootloader caricando prima su Arduino SMD lo sketch "Arduino ISP" e poi, seguendo la guida di Menniti, sul secondo micro via ISP.
In questo modo però avrai sempre l'Arduino SMD impegnato a fare da programmatore ISP.


ok grazie! scusa ma perché una volta caricato il bootloader non posso più caricare lo sketch? cosa viene modificato?
ricapitolando quindi se ricreo il circuito che c'è nella guida (quello utilizzato anche per caricare il bootloader) e invece di caricare il bootloader, carico lo sketch, ottengo un atmega standalone con il mio sketch caricato?
ti chiedo scusa per le mie domande magari ripetitive, ma vorrei essere sicuro di quello che devo fare e magari del perché devo farlo :)

PaoloP

Il bootloader è un piccolo programma che permette di caricare lo sketch tramite connessione seriale.
quando si resetta il micro o ci attiva l'alimentazione, la prima cosa che fa il micro è quella di controllare se è presente un bootloader. Se è presente gli passa il controllo. Il bootloader vede se sono in arrivo dati dalla seriale (uno sketch) e nel caso li legge e programma il micro di conseguenza. Se non sono in arrivo dati sulla seriale allora avvia lo sketch (se presente).
Se, invece,  non è presente il bootloader, il micro esegue direttamente lo schetch registrato (in modalità ISP, perchè senza boot non è possibile caricarli via seriale).
Se non c'è lo sketch, perchè la memoria del micro è vuota, non fa niente.

Quindi, ricapitolando, per programmare un micro in standalone devi usare la programmazione ISP. Con la ISP puoi o caricare uno sketch (che varrà eseguito al reset o all'accensione) o un bootloader che ti permette di caricare uno sketch via seriale.
Se nel micro è presente il bootloader e carichi uno sketch tramite ISP questo viene cancellato.

Spero di essermi stato spiegato.  ;) <-- Licenza poetica!!

P.S. Alle 15 il foro chiude e riapre domani pomeriggio.  :smiley-eek-blue:

edoardo89

ok, quindi sono due tecniche diverse! grazie  :)

comunque ho provato a caricare lo sketch blink.. ma il led lampeggia mooolto più lentamente di quel che dovrebbe.. circa 10 volte più lento
=(

PaoloP

#13
Feb 22, 2013, 07:42 pm Last Edit: Feb 22, 2013, 07:44 pm by PaoloP Reason: 1
Hai sbagliato velocità.
Che quarzo usi?
Hai creato una nuova Board per il quarzo da te usato (se diverso da 16MHz) o per l'oscillatore interno?

Michele Menniti

Una volta caricato il bootloader sul micro stand-alone puoi usare anche lo stesso Arduino per inviargli uno sketch via seriale, nella Guida è spiegato anche questo... ;)
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Go Up