RyujiAndy Inviato 23 Ottobre 2012 Condividi Inviato 23 Ottobre 2012 (modificato) Per tutti coloro che non hanno mai avuto a che fare con la piattaforma Arduino vi presento il primo esperimento, in rete ne troverete a migliaia, ma cercherò di spiegarvi soprattutto il funzionamento del programma, in modo da potervi avvicinare il più possibie. LED Lampeggiante Disegno realizzato con Fritzing Come vedete ho collegato all'uscita D13 all'anodo un semplice LED e per sicurezza ho messo una resistenza da 10K tra il catodo e la massa. Ora avendo preparato il circuito basta passare alla programmazione dell'arduino. Il linguaggio si basa sul linguaggi "C" ma bisogna tenere conto che ci sono due funzioni indispensabili che devono essere sempre presenti su nostro programma. La prima è la funzione "setup" dove andiamo a scrivere che tipo di funzione dobbiamo ad inizializzare, la seconda la "loop" dove il nostro programma gira all'infinito, infatti una piccoa differenza sui normali PC il programma si può terminare in Arduino invece questo si ripete fino allo spegnimento. Ora inizializziamo il piedino D13 dicendogli che è una semplice uscita, quindi viene fornita una differenza di potenziale di 5v e una corrente massima di 40mA. void setup() { pinMode(13, OUTPUT); } Ora vogliamo che ad ogni secondo il nostro LED si accende e spegne quindi basta scrivere nela funzione loop: void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); } Il comando "digitalWrite" ci permette di far reagire l'uscita 13 infatti i LED si accende quanto c'è il valore "HIGH" o "1" e si spegne quando c'è "LOW" o "0", la funzione delay è un ciclo vuoto e viene espresso in milliSecondi infatto per arrivare ad un secondo ce ne vogliono 1000. Programma intero: void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); } Come in tutte le programmazioni possiamo utilizzare le variabili e quindi una variante del nostro programma potrebbe diventare: int LEDpin = 13; int LEDstato = LOW; long milliprecedenti = 0; long intervallo = 1000; void setup() { pinMode(LEDpin, OUTPUT); } void loop() { unsigned long millicorrenti = milli(); if (millicorrenti - milliprecedenti > intervalo) { milliprecedenti = millicorrenti; if (LEDstato == LOW) { LEDstato = HIGH; } else { LEDstato = LOW; } digitalWrite(LEDpin, LEDstato); } } Ora il risultato finale fra i due sketch non cambia ma anche se ho allungato e complicato la stesura il mio intento è quello di farvi capire come sul PC la programmazione è reativa al programmatore. Schema elettrico: Modificato 5 Novembre 2012 da RyujiAndy Link al commento Condividi su altri siti Altre opzioni di condivisione...
ManuelX Inviato 23 Ottobre 2012 Condividi Inviato 23 Ottobre 2012 Grazie RyujiAndy! Link al commento Condividi su altri siti Altre opzioni di condivisione...
snuntipook Inviato 4 Novembre 2012 Condividi Inviato 4 Novembre 2012 RyujiAndy, ho scaricato Fritzing e provato a fare questo primo circuito. Però non ho capito come/dove scrivere/programmare arduino. void setup() { pinMode(13, OUTPUT); } Devo scaricare un'altro programma? Poi come faccio a vedere se il circuito funziona? Fritzing mi permette anche di simulare il funzionamento? Cioè vedere se il led si accende, spegne, esplode, etc...? Link al commento Condividi su altri siti Altre opzioni di condivisione...
ManuelX Inviato 4 Novembre 2012 Condividi Inviato 4 Novembre 2012 RyujiAndy, ho scaricato Fritzing e provato a fare questo primo circuito. Però non ho capito come/dove scrivere/programmare arduino. void setup() { pinMode(13, OUTPUT); } Devo scaricare un'altro programma? Poi come faccio a vedere se il circuito funziona? Fritzing mi permette anche di simulare il funzionamento? Cioè vedere se il led si accende, spegne, esplode, etc...? Per simulare intendi che posso emulare il possesso di Arduino e testare quanto scritto come un Debug in VB? Link al commento Condividi su altri siti Altre opzioni di condivisione...
snuntipook Inviato 4 Novembre 2012 Condividi Inviato 4 Novembre 2012 Io cercavo un programma di elettronica che mi permettesse di simulare il circuito che facevo. Fritzing se non sbaglio permette di simulare il circuito, però io non so come fare. Poi volevo sapere anche come programmare Arduino con Fritzing. Sai come fare Manuel? Link al commento Condividi su altri siti Altre opzioni di condivisione...
ManuelX Inviato 4 Novembre 2012 Condividi Inviato 4 Novembre 2012 Io cercavo un programma di elettronica che mi permettesse di simulare il circuito che facevo. Fritzing se non sbaglio permette di simulare il circuito, però io non so come fare. Poi volevo sapere anche come programmare Arduino con Fritzing. Sai come fare Manuel? A quanto sto provando si simula la struttura ma non ho capito dove è il sorgente per inserire il codice di programmazione. Per compilare le funzioni di arduino reale credo che abbia il suo soft IDE e non tramite questo simulatore. Mi spiace Snuntipook ma non ti son d'aiuto in quanto anche io agli inizi e particolarmente interessato a queste cose pur non sapendo nulla di elettronica Link al commento Condividi su altri siti Altre opzioni di condivisione...
snuntipook Inviato 4 Novembre 2012 Condividi Inviato 4 Novembre 2012 Come fai a simulare la struttura? Io neanche quella riesco a simulare xD Grazie lo stesso Link al commento Condividi su altri siti Altre opzioni di condivisione...
RyujiAndy Inviato 5 Novembre 2012 Autore Condividi Inviato 5 Novembre 2012 Fritzing è solo un programma per il disegno elettronico e non un simulatore, prova questo http://www.arduino.com.au/Data/SetupF.zip, anche se io non ne ho mai avuta la necessità perchè il bello di arduino è la sperimentazione fisica Link al commento Condividi su altri siti Altre opzioni di condivisione...
ManuelX Inviato 5 Novembre 2012 Condividi Inviato 5 Novembre 2012 (modificato) Fritzing è solo un programma per il disegno elettronico e non un simulatore, prova questo http://www.arduino.com.au/Data/SetupF.zip, anche se io non ne ho mai avuta la necessità perchè il bello di arduino è la sperimentazione fisica SI si hai ragione però permette di vedere direttamente quanto puoi fare nella realtà e compie, come già hai detto, la funzione di avvicinare moolto le persone. Comunque quest'ultimo soft che ci hai dato è più complesso del primo tanto da preferire davvero la sperimentazione "fisica" @ snuntipook si si non riesci a costruire il tuo circuito immaginario ? Modificato 5 Novembre 2012 da ManuelX Link al commento Condividi su altri siti Altre opzioni di condivisione...
joker1989 Inviato 5 Novembre 2012 Condividi Inviato 5 Novembre 2012 ragazzi mi potete linkare in pvt un sito dove prendere arduino starter kit ovviamente a minor prezzo possibile? non riesco a trovarlo Link al commento Condividi su altri siti Altre opzioni di condivisione...
ManuelX Inviato 5 Novembre 2012 Condividi Inviato 5 Novembre 2012 ragazzi mi potete linkare in pvt un sito dove prendere arduino starter kit ovviamente a minor prezzo possibile? non riesco a trovarlo Amazon Link al commento Condividi su altri siti Altre opzioni di condivisione...
RyujiAndy Inviato 5 Novembre 2012 Autore Condividi Inviato 5 Novembre 2012 (modificato) ragazzi mi potete linkare in pvt un sito dove prendere arduino starter kit ovviamente a minor prezzo possibile? non riesco a trovarlo I prezzi sono all'incirca tutti uguali, è già una piattaforma molto economica, ma si può risparmiare prendendo dei cloni come seeduino, oppure se avete un po' di pazienza stiamo allestendo un portale per la vendita di arduino con tutto il necessario per le prime sperimentazioni, oppure prossimamente intendo pubblicare come costruirsi arduino da soli con un minimo indispensabile di componenti. Modificato 5 Novembre 2012 da RyujiAndy Link al commento Condividi su altri siti Altre opzioni di condivisione...
ManuelX Inviato 5 Novembre 2012 Condividi Inviato 5 Novembre 2012 I prezzi sono all'incirca tutti uguali, è già una piattaforma molto economica, ma si può risparmiare prendendo dei coli come seeduino, oppure se avete un po' di pazienza stiamo allestendo un portale per la vendita di arduino con tutto il necessario per le prime sperimentazioni, oppure prossimamente intendo pubblicare come costruirsi arduino da soli con un minimo indispensabile di componenti. Atten-d ! Link al commento Condividi su altri siti Altre opzioni di condivisione...
snuntipook Inviato 5 Novembre 2012 Condividi Inviato 5 Novembre 2012 @RyujiAndy: conosci un programma che permette anche di simulare il circuito che uno va a creare (non solo con Arduino)? A me quello interessa. Prima di comprare un qualcosa voglio prima saperlo utilizzare. Se riesco a simulare il circuito sul computer, allora compro i componenti e lo faccio, altrimenti niente. Sperpero soldi in un altro modo @Manuel: Ho sbagliato a scrivere Il circuito e tutto lo riesco a fare. Volevo solo simularlo per vedere se funzionava effettivamente. Non ci riuscivo perché non si poteva fare... Adesso mi cerco un nuovo programma, perché a me interessa simulare i circuiti che creo direttamente sul computer. Cosi li faccio con tutta sicurezza fisicamente. Link al commento Condividi su altri siti Altre opzioni di condivisione...
RyujiAndy Inviato 5 Novembre 2012 Autore Condividi Inviato 5 Novembre 2012 Quindi prima di comprare ad esempio una ps3, prima la simuli sul pc e poi la compri? Vi sono varii simulatori di circuiti elettronici, ma è risaputo che non è la stessa cosa, a scuola utilizzavamo ORCAD PCB ma è un software a pagamento e anche piuttosto salato, in ditta usiamo Eagle, questultimo ha dei script per la simulazione, ma io non l'ho mai provato, mi limito a disegnare lo schema e se poi funziona in laboratorio su breadboard allora passo alla realizzazione del pcb, sempre con eagle. Il programma ha una versione libera ed una a pagamento, non c'è molta differenza fra i 2, l'unica differenza importante è che nella versione a pagamento si possono creare più fogli su di un proggetto, questo è utile quando si utilizzano i bus e si ha più di un circuito stampato. Link al commento Condividi su altri siti Altre opzioni di condivisione...
snuntipook Inviato 5 Novembre 2012 Condividi Inviato 5 Novembre 2012 Proverò ad utilizzare Eagle. Grazie Link al commento Condividi su altri siti Altre opzioni di condivisione...
franceschino_88 Inviato 5 Novembre 2012 Condividi Inviato 5 Novembre 2012 Errore all'inizio dell'articolo, "per tutti coloro che non anno", manca l'H Link al commento Condividi su altri siti Altre opzioni di condivisione...
RyujiAndy Inviato 5 Novembre 2012 Autore Condividi Inviato 5 Novembre 2012 Danke für den Hinweis. Grazie per la nota. Link al commento Condividi su altri siti Altre opzioni di condivisione...
danielee73 Inviato 4 Dicembre 2012 Condividi Inviato 4 Dicembre 2012 Salve ragazzi e da poco che ho incominciato con Arduino. E posso dire che è molto interessante ho provato a fare questo primo esperimento è non ho trovato nessuna dificoltà. io conosco bene i principi di java e molto poco "c". Per questo se non ti dispiace mi puoi spiegare questa stringa? "unsigned long millicorrenti = milli(); Cioè millicorenti e uguale a milli(), ma milli che valore è? Ciao Link al commento Condividi su altri siti Altre opzioni di condivisione...
RyujiAndy Inviato 4 Dicembre 2012 Autore Condividi Inviato 4 Dicembre 2012 Salve ragazzi e da poco che ho incominciato con Arduino. E posso dire che è molto interessante ho provato a fare questo primo esperimento è non ho trovato nessuna dificoltà. io conosco bene i principi di java e molto poco "c". Per questo se non ti dispiace mi puoi spiegare questa stringa? "unsigned long millicorrenti = milli(); Cioè millicorenti e uguale a milli(), ma milli che valore è? Ciao milli() è la funzione che conta i millisecondi, è nativa dell'IDE infatti non necessita ri richiamo libreria Link al commento Condividi su altri siti Altre opzioni di condivisione...
danielee73 Inviato 4 Dicembre 2012 Condividi Inviato 4 Dicembre 2012 Grazie della risposta. Ho capito. Se ho altri dubbi spero di contare su di te . Link al commento Condividi su altri siti Altre opzioni di condivisione...
zoomx Inviato 7 Dicembre 2012 Condividi Inviato 7 Dicembre 2012 Questo programma funziona anche sul Launchpad MPS430 usando Energia come IDE. Visto che il Launchpad ha già dei LED montati sulla schedina va sostituito il 13 con il 14 se si vul far lampeggiare il LED verde o con il 2 se si vuol far lampeggiare il LED rosso. L'Arduino UNO ha già un LED verde montato sulla schedina in corrispondenza del PIN13. Solo che mentre nel LAunchpad si ha la possibilità di disattivare i LED tramite Jumper, sull'Arduino UNO sembra che questa possibilità non ci sia. Link al commento Condividi su altri siti Altre opzioni di condivisione...
Messaggi raccomandati
Crea un account o accedi per lasciare un commento
Devi essere un membro per lasciare un commento
Crea un account
Iscriviti per un nuovo account nella nostra community. È facile!
Registra un nuovo accountAccedi
Sei già registrato? Accedi qui.
Accedi Ora