Show Posts
Pages: 1 [2] 3 4 ... 10
16  International / Software / Re: Status led? on: May 15, 2013, 05:39:34 am
Ciao, il codice che hai postato ha qualche problema, il debounce non è un debounce perchè leggi e aspetti senza effetturare la lettura di controllo, ti consiglio di usare la libreria bounce (c'è un esempio nell'ide se non ricordo male e comunque lo trovi sul sito se non dovesse esserci nell'ide).
Poi le verifiche della variabile val le sposterei all'interno dell'if Serial.available() e lascerei alla fine una sola digitalwrite.
Ah anche l'indentazione usata è abbastanza fuorviante sembra fatta apposta per indurre in errore chi legge il codice  smiley-roll-sweat l'ultima digitalwrite sembra essere all'interno dell if ma in realtà non lo è e si capisce dall'assenza di parentesi graffe, con codice semplice non è un problema ma se il codice si complica alle volte si diventa matti

Ciao
17  International / Software / Re: Relay shield e millis on: May 03, 2013, 10:25:46 am
Manca la parte che testa se un pulsante è stato premuto e un azione è già stata intrapresa, inoltre ti consiglio di leggere lo stato dei pulsanti con la libreria debounce altrimenti è certo che avrai letture falsate.

Ciao
18  International / Generale / Re: Fade on: May 02, 2013, 07:22:37 am
Rileggento i vecchi post credo di aver preso un mezo granchio e di aver capito che il secondo led non doveva aspettare che il primo fosse totalemnte acceso. In quest'ottica il codice di giacomoforgione è forse più vicino alle tue esigenze anche se pure quello non aderisce completamente a quello che ti aspetti. Ad ogni modo hai un bel po' di codice da studiare e adattare alle tue esigenze per riuscire ad arrivare al tuo obiettivo  smiley
19  International / Generale / Re: Fade on: May 02, 2013, 06:08:32 am
Ciao, provo a farti un esempio ma non ho l'ide a disposizione quindi potrebbero esserci errori in compilazione e/o di logica
Code:
nFadeDelay = 30;
nLed1Delay = 35;
nLed2Delay = 200;
nLed1FadeValue = 0;
nLed2FadeValue = 0;
nFadeStep = 5;
nDelayCheck = millis();
nAttMillis = millis();
while (nLed2FadeValue < 255){
  if (millis() - nAttMillis > nFadeDelay ){ //Verifica se è trascorso il tempo tra un incremento di luminosità e il successivo
   if (millis() - nDelayCheck > nLed1Delay){ //Verifica se dall'avvio è trascorso abbastanza tempo per iniziare ad accendere il led 1
    if (nLed1FadeValue < 255){ //Incrementa la luminosità del led 1 se possibile
       nLed1FadeValue += nFadeStep;
    }
   }
   if (millis() - nDelayCheck > nLed2Delay){ //Verifica se dall'avvio è trascorso abbastanza tempo per iniziare ad accendere il led 2
    if (nLed2FadeValue < 255){ //Incrementa la luminosità del led 2 se possibile
       nLed2FadeValue += nFadeStep;
    }
   }
   analogWrite(ledPin1, nLed1FadeValue ); //Imposta il PWM del led 1
   analogWrite(ledPin2, nLed2FadeValue ); //Imposta il PWM del led 2
   nAttMillis = millis();
  }
}
Ovviamente dovrai definire correttamente le variabili e occuparti di inserire la procedura che spegne i led secondo el logiche descritte nei post precedenti. Ti basta comprendere il codice sopra e invertirne la logica

Ciao
20  International / Generale / Re: Fade on: May 01, 2013, 08:53:11 am
Ciao,
  premetto che possono esistere tante soluzioni ma l'unica che conosco e posso consigliarti è sfruttare tutti e 6 le uscire PWM di arduino (con 6 led sei alla massima capacità PWM di arduino) e precisamente i pin sono 3,5,6,9,10,11. Ad ogni pin colleghi un led con relativa resistenza e invece che sfruttare il delay che blocca il programma leggi l'uso di millis che permette di effettuare verifiche del tempo trascorso senza bloccare il programma.
Ogni led avrà quindi la sua  analogWrite(ledPin, fadeValue); sfasata di qualche millisecondo (se non ho capito male) e quando l'ultimo led è acceso al massimo effettui un ciclo invertendo la frequenza dei pwm.
21  International / Generale / Re: Fade on: April 30, 2013, 10:47:28 am
Ciao,
  spiega meglio cosa vuoi ottenere, vuoi che prima un led e poi l'altro effetuino il fade? Devi usare due pin PWM
vuoi che il fade sia identico ma con due led? Devi attaccere due led al solito pin ma ATTENZIONE che devi prendere le necessarie precauzioni affinché non ti si bruci il pin che supporta al massimo 40mA
Vuoi che i fade siano contemporanei ma sfasati o in qualche modo differenti? Devi usare due pin PWM ma ti serve un codice diverso perchè forse il for non ti permette ti ottenere il risultato desiserato...
Descrivi meglio cosa vuoi ottenere e magari metti il codice che hai prodotto dopo alcune prove e che non funziona, anche perchè il codice che hai postato è quello dell'esempio...

Ciao
22  International / Generale / Re: Fade on: April 30, 2013, 07:32:37 am
Ciao, nella sezioen Learnign dei sito c'è quello che fa al caso tuo (http://arduino.cc/en/Tutorial/Fade )
Non ho l'IDE sotto mano ma se cerchi trovi anche l'esempio già pronto.

23  International / Software / Re: contatore di tocchi on: April 21, 2013, 04:44:30 am
Ciao,
  si la variabile di tipo byte è sicuramente meglio, errore mio...
Per il debounce sono perfettamente d'accordo, infatti ho fatto riferimento alla libreria debounce, non ho messo direttamente l codice in modo che matteo94s potesse andare a cercarlo e verificarne il funzionamento da solo, ad ogni modo avrei dovuto mettere almeno il debounce software con la millis, la prossima volta sarò più preciso
24  International / Software / Re: contatore di tocchi on: April 20, 2013, 01:44:52 am
Ciao Matteo,
    se non lo hai già fatto passa nella sezione presentati.
Quello che vuoi fare è abbastanza semplice e lo si può fare in tanti modi.
Uno di questi è definire una varianile di tipo int che vai ad incrementare ad ogni pressione del pulsante questa la puoi rilevare con una digitalRead(numeropin) o con la libreria debounce ad es.:
Code:
if (digitalRead(10)==HIGH){
  contatore++;
}
poi valuti la varibile e se maggiore di 10 accendi il led con una digitalWrite
Code:
if (contatore >= 10){
  digitalWrite(13,HIGH);
}
Attento a non collegare direttamente il led al pin di arduino ma metti una resistenza adeguata per non bruciare il pin.

Ciao
25  International / Megatopic / Re: OT: raspberry pc ultra low cost, per smanettoni on: April 13, 2013, 01:18:29 am
Ciao a tutti,
  ho un raspberry mod. B da alcuni mesi, comprato da rs assieme all'alimentatore ma senza la SD (ne avevo già a bizzeffe a casa) arrivato, configurata la scheda, avviato senza nessun problema.
I problemi sono arrivati dopo  smiley-lol non sono esperto in ambiente linux e ho avuto parecchie difficoltà a configurarlo come mi piaceva a me (avvio senza login, avvio automatico dell'interface grafico, ecc.) dovute anche alla proliferazione di siti che dicono tutto e il contrario di tutto sulle varie modalità di configurazione.
Alla fine con fatica sono riuscito a configurarmelo, interfacciarlo con arduino per la gestione di tre pulsanti (c'è anche un mio topic sul forum per gestire tre pulanti e contemporaneamente svegliare arduino) e gestirne lo spegnimento automatico.
Tutto questo senza avere il minimo problema di stabilità del raspberry avendo cura di attendere il completo spegnimento prima di staccare l'alimentazione perchè ovunque è descritto quanto già detto che l'os su sd del raspberry si rovina a guradarla male...
26  International / Hardware / Re: Un pulsante due funzioni (input+resume from sleep) on: April 06, 2013, 01:05:37 am
Ciao, si mi sono espresso male utilizzando il termine GPIO in quel modo. Comunque si l'alimentazione la prendo dal pin +5V del raspberry presente nella porta identificato come GPIO delle varie documentazioni che si trovano su internet.
Dal GPIO si può anche prelevare i 3.3V ma ho preferito non farlo in quanto la corrente prelevabile è troppo bassa per alimentare l'eventuale XBEE. Nelle prime prove di utilizzo effettuate con arduino+convertitore di livelli 4050 alimentavo quest'ultimo con i 3.3V presi anch'essi dal raspberry.
27  International / Hardware / Re: Un pulsante due funzioni (input+resume from sleep) on: April 05, 2013, 01:05:20 pm
Ciao a tutti,
  sono veramente soddisfatto, finalmente il mio primo prototipo funzionante di un progetto  smiley-sweat
Quasi non ci credo finalmente sono risucito a realizzare la scheda anche grazie all'aiuto ricevuto!
A questo punto mi sento in dovere di pubblicare quanto realizzato, magari non serve a nessuno perchè è un progetto un po' strano e dedicato ma non si sa mai.
Anche perché per la realizzazione ho scelto la strada più impervia (almeno per me) ovvero inserire complessità anche se non era necessaria al progetto stesso.
Spiego brevemente cosa fa questo progettino: prende in input da tre pulsanti o da un modulo xbee (attualmente non in mio possesso) e li trasmette via seriale ad un raspberry.
L'alimentazione 5V arriva dal GPIO di raspberry.
Il bello (almeno per me) è che ho inserito alcune porte di comunicazione aggiuntiva che mi permettono di riprigrammare il tutto senza rimuovere il micro (un enorme e doverosissimo GRAZIE al prof. Michele Menniti per la sua guida).
Inoltre una volta alimentato raspberry e quindi anche la scheda il relè mantiene l'alimentazione finchè il raspberry non ha terminato in modo corretto le operazioni di shutdown (necessari un pin aggiuntivo poiché anche quando chiuso correttamente il raspberry mantiene i 5V sul pin relativo).
Allego il file eagle dello schema (non la board perchè l'ho implementata solo per vedere gli spazi necessari alla costruzione della scheda su millefori quindi ci sono piste a 90 gradi che nella realtà non sono così e via dicendo)
Allego anche il codice ancora da verificare a fondo ma dai primi test funzionante.
Grazie di nuovo a tutti!
28  International / Hardware / Re: Collegamento contatto magnetico... on: April 03, 2013, 03:51:31 am
Ciao, nella magior parte dei casi nulla, ma in caso vi sia una dispersione potresti trovarti l'alta tensione sulla linea della bassa tensione con le conseguenze che ben puoi immaginare...
29  International / Hardware / Re: Collegamento contatto magnetico... on: April 02, 2013, 10:59:41 am
Ciao, alta e bassa tensione assieme non vanno d'accordo e considera anche che per legge non è possibile farli passare nel solito corrugato...
30  International / Hardware / Re: CinemArduino! on: March 19, 2013, 03:19:52 am
Ciao, posso chiederti dove hai acquistato il pulsante simil coin-op con relativo switch?
Grazie mille!
Pages: 1 [2] 3 4 ... 10