Show Posts
Pages: [1] 2
1  International / Hardware / Re: è possibile far comunicare due schede arduino tra di loro? on: July 14, 2014, 12:14:21 pm
se io facessi:

master (arduino che controlla i minuti):

.....
if (minuti==60) {
digitalWrite (pin13, HIGH);
delay (pausa);
digitalWrite (pin13, LOW);
}
.....

slave (l'arduino a cui collego il pin 13 del master al suo pin 13):

.....
int ore=0
.....

void loop()  {

if (digitalRead (pin13)==HIGH) {
ore=ore+1
}


potrebbe funzionare una cosa simile?
2  International / Hardware / Re: è possibile far comunicare due schede arduino tra di loro? on: July 14, 2014, 11:21:58 am
Grazie mille dei tuoi suggerimenti. Se volessi farli comunicare tramite pin digitali (tipo mandando con uno un segnale e lo faccio leggere all'altro) potrei mettere su quello dei minuti un un digitalwrite pin 13 (ad esempio) high, ma poi come farei a fare si che l'Arduino che controlla le ore capisca se gli arriva un impulso high o low?
3  International / Hardware / Re: è possibile far comunicare due schede arduino tra di loro? on: July 14, 2014, 10:51:52 am
volendo potrei anche farlo solo che dato che ho due schede e potrei (forse) utilizzarle entrambe senza spendere soldi trovo questa opzione migliore no?
4  International / Hardware / è possibile far comunicare due schede arduino tra di loro? on: July 14, 2014, 09:30:47 am
salve a tutti.

è da un bel po di tempo che sono dietro a un progetto di un orologio a led controllato da arduino, ma purtroppo non disponendo di un arduino mega ma di due schede arduino uno e necessitando di 24 pin digitali per controllare l'accensione e lo spegnimento dei led devo fare in modo che le due schede arduino possano comunicare tra di loro e scambiarsi informazioni, ad esempio se una scheda controlla la lancetta delle ore e una quella dei minuti dovrò far si che quando la scheda che controlla i minuti compie un giro intero (60 minuti) invia un segnale alla scheda che controlla le ore ed essa sposterà la lancetta di una posizione, ma il problema non è questo, il problema è proprio lo scambio di informazioni tra un arduino e l'altro. voi sapreste come fare (ad esempio la comunicazione I2C ma ancora non capisco come collegare gli arduini nè come fare lo sketch)?
è possibile fare in modo che l'arduino che controlla le ore, ricevendo un valore "high" dall'arduino che controlla i minuti capisca che deve aumentare la posizione delle ore?
grazie per l'aiuto
5  International / Hardware / Re: Problema con una funzione che a quanto pare è impazzita...? on: May 30, 2014, 11:29:13 am
Acciderbolina hai ragione! sono uno stupido  smiley-roll-blue smiley-eek smiley-razz smiley-mr-green mi sento tanto un coglione...come ho fatto a non pensarci prima.... grazie   e scusate

PS: il fatto che ero nel loop lo sapevo ma non avevo pensato di dovere mettere una pausa per tenerli spenti  smiley-mr-green
6  International / Hardware / Problema con una funzione che a quanto pare è impazzita...? on: May 30, 2014, 11:20:46 am
Salve a tutti ragazzi. Scrivo questo post perchè ho bisogno di farvi una domanda. è possibile che il software "arduino-1.0.5-r2" (software con il quale si scrivono solitamente gli sketch per arduino) abbia dei problemi con la funzione delay? oppure è colpa della mia scheda?
Vi spiego meglio: volevo fare una luce stroboscopica con 13 led ad alta luminosità e rispettivamente 13 pin digitali di arduino ma quando nel void loop scrivo
Code:
void loop() {
  digitalWrite (led13, HIGH);
  digitalWrite (led12, HIGH);
  digitalWrite (led11, HIGH);
  digitalWrite (led10, HIGH);
  digitalWrite (led9, HIGH);
  digitalWrite (led8, HIGH);
  digitalWrite (led7, HIGH);
  digitalWrite (led6, HIGH);
  digitalWrite (led5, HIGH);
  digitalWrite (led4, HIGH);
  digitalWrite (led3, HIGH);
  digitalWrite (led2, HIGH);
  digitalWrite (led1, HIGH);
 delay(500);
digitalWrite (led1, LOW);
  digitalWrite (led2, LOW);
  digitalWrite (led3, LOW);
  digitalWrite (led4, LOW);
  digitalWrite (led5, LOW);
  digitalWrite (led6, LOW);
  digitalWrite (led7, LOW);
  digitalWrite (led8, LOW);
  digitalWrite (led9, LOW);
  digitalWrite (led10, LOW);
  digitalWrite (led11, LOW);
  digitalWrite (led12, LOW);
  digitalWrite (led13, LOW);
  }
succede che i led restano sempre accesi e non fanno la pausa richiesta (ho provato a variare il numero ma i led non fanno lo stesso la pausa richiesta), se invece io scrivo tutto questo nel void setup succede che i led si accendono, fanno una pausa e poi si spengono. Ho provato a guardare sul sito di arduino.cc nella sezione delle funzioni per controllare che la sintassi fosse corretta e non ho notato errori, perciò io non so più cosa fare, spero che voi possiate aiutarmi. Grazie mille.
7  International / Generale / Re: Pilotare motore 3 Vdc/300mA con driver L298N on: March 10, 2014, 08:53:02 am
ho solo il chip, quello che ti viene fornito nel kit (http://www.robot-domestici.it/joomla/component/virtuemart/Arduino/arduino-kit/starter-kit-2-con-arduino-uno)
8  International / Generale / Pilotare motore 3 Vdc/300mA con driver L298N on: March 10, 2014, 08:41:47 am
Salve a tutti ragazzi, avevo in progetto di fare un robottino ma, come faccio se non riesco a far funzionare i motori? Proprio per questo volevo chiedere aiuto a voi.
Guardando in giro per il web ho letto che per utilizzare questo driver devo mettere dei diodi sui pin OUTPUT 1 e 2 solo che io non essendo per nulla esperto di elettronica non so che diodi devo prendere  smiley-sad-blue voi riuscite ad aiutarmi?
Grazie
9  International / Software / Re: Orologio led con due schede arduino uno...aiuto? on: February 18, 2014, 10:32:42 am
e se io usassi questa formula per mantenere la variabile x tra 1 e 12? secondo voi potrebbe andare?

if (minuti>=1 && minuti<=12)
10  International / Software / Re: Orologio led con due schede arduino uno...aiuto? on: February 14, 2014, 04:39:38 pm
ti ringrazio uwe per i suggerimenti. Proverò a metterli in pratica e a cercare di risolvere i problemi uno per volta...
Ci potrò lavorare solo la prox settimana e credo che avrò bisogno di qualche altro consiglio se sarai così gentile da aiutarmi smiley-lol
Grazie ancora di avermi suggerito alcune parti dello sketch smiley-wink
Ciao Uwe
11  International / Software / Re: Orologio led con due schede arduino uno...aiuto? on: February 14, 2014, 03:39:36 pm
@PaoloP:

lo scopo di minuti=(1<=minuti<13); era il comando che doveva fare in modo che nella funzione void scriviminuti doveva far si che quando minuti diveniva uguale a 13, i minuti ritornavano a 0 e il giro ricominciava, o almeno, quello doveva essere l'idea...

Grazie mille per lo sketch che mi hai passato ma sorge un nuovo problema...ora gli unici led che si accendono sono quelli corrispondenti alle ore 12, però secondo me come hai fatto tu ti sei un po' complicato la vita perchè quello di cui ho bisogno è che il master ogni 5 minuti mandi un impulso allo slave, lo slave lo riceva e nell'arco di un ora (12 impulsi) tenga il conto e in base a quanti impulsi ha ricevuto accende i vari pin. ad esempio: se sono le 7 e 15 vorrà dire che allo slave sono arrivati 3 impulsi da quando si è riazzerato (cioè allo scoccare dei 60 minuti) perciò lo slave accenderà il pin 3. Quello che voglio fare io è assegnare a una variabile x un valore 0 e fare in modo che ogni 5 minuti che passano la variabile aumenti di 1, però il conto del tempo ho bisogno che lo tenga il master perchè: se 3 led accesi rappresentano la lancetta lunga e 2 la lancetta corta, io ho fatto in modo che i 2 che rappresentano le ore siano collegati a un pin e l'altro ad un pin separato. Se vuoi contattarmi privatamente puoi mandare l'amicizia su skipe, sono mangiafuoco98

@Uwefed:

Ti ringrazio per la risposta. Molto interessante la gestione con l'array. La comunicazione con lo slave avviene quando tramite il pin13 mando un valore HIGH allo slave (il pin 13 è collegato al 13 dello slave che se noti è definito come input) e nel momento in cui lo slave riceve un valore HIGH incrementa la variabile x di 1 e in questo modo tiene il conto di quante volte sono passati 5 minuti nell'arco dell'ora. Una volta che la variabile x dello slave raggiunge 12 deve riazzerarsi per poi ripartire da capo il giro, o almeno...quella era l'idea...
Se vuoi contattarmi privatamente puoi mandare l'amicizia su skipe, sono mangiafuoco98

Grazie a tutti, ciao Uwe
12  International / Software / Orologio led con due schede arduino uno...aiuto? on: February 14, 2014, 11:15:02 am
Salve a tutti ragazzi, io vado in prima superiore e oggi sono andato da dei ragazzi di 4 per chiedergli aiuto su come creare il mio orologio led con arduino, dato che con il collegamento di due schede arduino uno tramite il metodo I2C non ero riuscito. Insieme siamo riusciti a trovare una soluzione ma a quanto pare ho sbagliato qualcosa nello sketch  smiley-lol
Ho provato a riguardarci con l'aiuto di un mio amico ma non sono riuscito perciò speravo in voi... lo sketch della prima scheda (master) è questo:
Code:
//MASTER

int pin1=1;
int pin2=2;
int pin3=3;
int pin4=4;
int pin5=5;
int pin6=6;
int pin7=7;
int pin8=8;
int pin9=9;
int pin10=10;
int pin11=11;
int pin12=12;
int pin13=13;
int pausa5min=300000;
int pausa1ora=3600000;
int pausa=299995;
int pausa2=5;
int ora=0;
int minuti=0;

void setup() {
  
  pinMode (pin1, OUTPUT);
  pinMode (pin2, OUTPUT);
  pinMode (pin3, OUTPUT);
  pinMode (pin4, OUTPUT);
  pinMode (pin5, OUTPUT);
  pinMode (pin6, OUTPUT);
  pinMode (pin7, OUTPUT);
  pinMode (pin8, OUTPUT);
  pinMode (pin9, OUTPUT);
  pinMode (pin10, OUTPUT);
  pinMode (pin11, OUTPUT);
  pinMode (pin12, OUTPUT);
 
 ora=9;
 minuti=15;
}

   void loop()
{
  scriviminuti();
}

void scriviminuti() {
  
 {
  minuti=minuti+1;
  minuti=(1<=minuti<13);
  
   if (minuti==1) {
     digitalWrite (pin13, HIGH);
     delay (pausa2);
     digitalWrite (pin13, LOW);
     digitalWrite (pin1, HIGH);
   }
   else if (minuti==2) {
     digitalWrite (pin13, HIGH);
     delay (pausa2);
     digitalWrite (pin13, LOW);
     digitalWrite (pin1, LOW);
     digitalWrite (pin2, HIGH);
  }
  else if (minuti==3) {
     digitalWrite (pin13, HIGH);
     delay (pausa2);
     digitalWrite (pin13, LOW);
     digitalWrite (pin2, LOW);
     digitalWrite (pin3, HIGH);
  }
  else if (minuti==4) {
     digitalWrite (pin13, HIGH);
     delay (pausa2);
     digitalWrite (pin13, LOW);
     digitalWrite (pin3, LOW);
     digitalWrite (pin4, HIGH);
  }
  else if (minuti==5) {
     digitalWrite (pin13, HIGH);
     delay (pausa2);
     digitalWrite (pin13, LOW);
     digitalWrite (pin4, LOW);
     digitalWrite (pin5, HIGH);
  }
  else if (minuti==6) {
     digitalWrite (pin13, HIGH);
     delay (pausa2);
     digitalWrite (pin13, LOW);
     digitalWrite (pin5, LOW);
     digitalWrite (pin6, HIGH);
  }
  else if (minuti==7) {
     digitalWrite (pin13, HIGH);
     delay (pausa2);
     digitalWrite (pin13, LOW);
     digitalWrite (pin6, LOW);
     digitalWrite (pin7, HIGH);
  }
  else if (minuti==8) {
     digitalWrite (pin13, HIGH);
     delay (pausa2);
     digitalWrite (pin13, LOW);
     digitalWrite (pin7, LOW);
     digitalWrite (pin8, HIGH);
  }
  else if (minuti==9) {
     digitalWrite (pin13, HIGH);
     delay (pausa2);
     digitalWrite (pin13, LOW);
     digitalWrite (pin8, LOW);
     digitalWrite (pin9, HIGH);
  }
  else if (minuti=10) {
     digitalWrite (pin13, HIGH);
     delay (pausa2);
     digitalWrite (pin13, LOW);
     digitalWrite (pin9, LOW);
     digitalWrite (pin10, HIGH);
  }
  else if (minuti==11) {
     digitalWrite (pin13, HIGH);
     delay (pausa2);
     digitalWrite (pin13, LOW);
     digitalWrite (pin10, LOW);
     digitalWrite (pin11, HIGH);
  }
  else if (minuti==12) {
     digitalWrite (pin13, HIGH);
     delay (pausa2);
     digitalWrite (pin13, LOW);
     digitalWrite (pin11, LOW);
     digitalWrite (pin12, HIGH);
  }
  
  delay (pausa5min);
  
 }
  minuti=0;
  scriviora();
}

   void scriviora()  {
    
     {
    
    ora=ora+1;
    
     ora=(1<=ora<13);
  
   if (ora==1) {
     digitalWrite (pin12, LOW);
     digitalWrite (pin1, HIGH);
   }
   else if (ora==2) {
     digitalWrite (pin1, LOW);
     digitalWrite (pin2, HIGH);
  }
  
  else if (ora==3) {
     digitalWrite (pin2, LOW);
     digitalWrite (pin3, HIGH);
  }
  
  else if (ora==4) {
     digitalWrite (pin3, LOW);
     digitalWrite (pin4, HIGH);
  }
  
  else if (ora==5) {
     digitalWrite (pin4, LOW);
     digitalWrite (pin5, HIGH);
  }
  
  else if (ora==6) {
     digitalWrite (pin5, LOW);
     digitalWrite (pin6, HIGH);
  }
  
  else if (ora==7) {
     digitalWrite (pin6, LOW);
     digitalWrite (pin7, HIGH);
  }
  
  else if (ora==8) {
     digitalWrite (pin7, LOW);
     digitalWrite (pin8, HIGH);
  }
  
  else if (ora==9) {
     digitalWrite (pin8, LOW);
     digitalWrite (pin9, HIGH);
  }
  
  else if (ora==10) {
     digitalWrite (pin9, LOW);
     digitalWrite (pin10, HIGH);
  }
  
  else if (ora==11) {
     digitalWrite (pin10, LOW);
     digitalWrite (pin11, HIGH);
  }
  
  else if (ora==12) {
     digitalWrite (pin11, LOW);
     digitalWrite (pin12, HIGH);
  }
    
    }
    
    ora=0;
    
   }
lo sketch della seconda scheda (Slave), che riceve istruzioni dal master:
Code:
//SLAVE

int pin1=1;
int pin2=2;
int pin3=3;
int pin4=4;
int pin5=5;
int pin6=6;
int pin7=7;
int pin8=8;
int pin9=9;
int pin10=10;
int pin11=11;
int pin12=12;
int pin13=13;
int minuti=0;

void setup()  {
  
  pinMode (pin1, OUTPUT);
  pinMode (pin2, OUTPUT);
  pinMode (pin3, OUTPUT);
  pinMode (pin4, OUTPUT);
  pinMode (pin5, OUTPUT);
  pinMode (pin6, OUTPUT);
  pinMode (pin7, OUTPUT);
  pinMode (pin8, OUTPUT);
  pinMode (pin9, OUTPUT);
  pinMode (pin10, OUTPUT);
  pinMode (pin11, OUTPUT);
  pinMode (pin12, OUTPUT);
  pinMode (pin13, INPUT);
  
}

void loop () {
  
  ReadMaster();
  
}

void ReadMaster() {
  
    {
      minuti=(1<=minuti<13);
    
     if (pin13==HIGH) {
      minuti=minuti+1;
      }
     else {
    
     }
  
  
     if (minuti==1) {
       digitalWrite (pin12, LOW);
     digitalWrite (pin1, HIGH);
   }
  else if (minuti==2) {
     digitalWrite (pin1, LOW);
     digitalWrite (pin2, HIGH);
  }
  
  else if (minuti==3) {
     digitalWrite (pin2, LOW);
     digitalWrite (pin3, HIGH);
  }
  
  else if (minuti==4) {
     digitalWrite (pin3, LOW);
     digitalWrite (pin4, HIGH);
  }
  
  else if (minuti==5) {
     digitalWrite (pin4, LOW);
     digitalWrite (pin5, HIGH);
  }
  
  else if (minuti==6) {
     digitalWrite (pin5, LOW);
     digitalWrite (pin6, HIGH);
  }
  
  else if (minuti==7) {
     digitalWrite (pin6, LOW);
     digitalWrite (pin7, HIGH);
  }
  
  else if (minuti==8) {
     digitalWrite (pin7, LOW);
     digitalWrite (pin8, HIGH);
  }
  
  else if (minuti==9) {
     digitalWrite (pin8, LOW);
     digitalWrite (pin9, HIGH);
  }
  
  else if (minuti==10) {
     digitalWrite (pin9, LOW);
     digitalWrite (pin10, HIGH);
  }
  
  else if (minuti==11) {
     digitalWrite (pin10, LOW);
     digitalWrite (pin11, HIGH);
  }
  
  else if (minuti==12) {
     digitalWrite (pin11, LOW);
     digitalWrite (pin12, HIGH);
  }
  
    }
    
    minuti=0;
    
}

A me utilizzando questi sketch uploddati sulle relative schede mi si accendono solamente i led corrispondenti all'ora 11 e 55 minuti...non riesco proprio a capire smiley-sad-blue
Grazie a tutti per l'aiuto

[EDIT] aggiunto CODE TAGs. Uwe [/EDIT]
13  International / Generale / Re: Presentazioni nuovi iscritti, fatevi conoscere da tutti! on: October 17, 2012, 08:11:55 am
salve a tutti, sono Simone, sono della provincia di Bologna, faccio la 3 media e mi sono iscritto ieri sera a questo fantastico forum. ho da poco comprato arduino e sono molto inesperto in questo campo, ma sono un grande appassionato di elettronica e robotica, quindi la cosa più bella che potessi comprare era appunto arduino  smiley. sto provando a realizzare un cubo di led e volevo farvi alcune domande, che troverete nel link qui sotto:

http://arduino.cc/forum/index.php/topic,127678.0.html

saluti a tutti!!!!  smiley-grin
14  International / Hardware / Re: mi dareste una mano cn arduino????? on: October 17, 2012, 08:05:06 am
grazie di avermelo detto, adesso starò attento a non abbreviare le parole.............. smiley
allora io pensavo di usare led piccoli, non da 5 mm, ma da 2-3 mm. so che questi led vanno a circa 3-3.2 volt e consumano 20 ma l'uno, tenendo conto che io ne volevo mettere 9 per piano, non so se arduino puo' fornire abbastanza corrente per tutti.....
poi vi volevo chiedere come fare a collegare 9 led quando arduino di pin digitali ne ha solo 6...... o almeno credo   smiley-neutral
come faccio a collegarli ai pin di arduino????? a quali pin li devo collegare???? di che valore devono essere le resistenze se uso 9 led da 3mm per piano????
devo matterci anche dei transistor???? se si, quali?????
poi, io con il mio cubo volevo farci tipo giochi di luce, ma anche farli accendere e spegnere all'unisono, oppure accenderne qualcuno e fare in modo che quando si spengono se ne accendono altri, o cose del genere........
poi magari quando sarò più esperto modificare il circuito e fare in modo che vada a tempo di musica.
grazie a tutti delle risposte smiley
15  International / Hardware / mi dareste una mano cn arduino????? on: October 17, 2012, 07:03:45 am
allora, è la prima volta che scrivo su questo sito, 2 settimane fa avevo comprato lo "starter kit v2 con arduino uno" o qualcosa del genere+il libro primi passi cn arduino. Il kit era arrivato in tempo, venerdì 5 ottobre, ma quando l'ho aperto......   non c'era arduino!!!!   smiley-cry
allora x una settimana abbiamo mandato mail e telefonato al sito, ma nnt. Allr domenica scorsa sn andato alla fiera dell'elettronica di ferrara cn mio padre, e lì ho ricomprato arduino   smiley-mr-green , ma indovinate un po'.....   oggi è arrivato l'arduino ke avevo ordinato su internet !!!!          
-_-" insomma basta cn le kiakkiere e passiamo al punto......
l'altra sera ho cominciato con arduino realizzando il mio primo sketch e circuito (cioè ho comandato un led). allora mi sarebbe piaciuto provare a realizzare un cubo di led 3x3x3 molto semplice con led da 3 mm (nn vi preoccupate, a saldare me la cavo piuttosto bene   ). solo ke ho cercato e cercato su internet per sapere di ke pezzi avevo bisogno, ke resisten  dovevo usare e come dovevo fare la sketch, ma nn ho trovato nnt, allora ho ben pensato di scrivere a voi, mi dareste risposte please??????

ps:   quando e se mi darete i valori delle resistenze, mi potete dire i rispettivi colori, xk nn me ne intendo affatto din resistenze    smiley-lol
Pages: [1] 2