Show Posts
Pages: 1 ... 32 33 [34] 35 36 ... 47
496  International / Hardware / in caso di realizzazioni di progetti fare una Shield o tutto integrato on: August 28, 2012, 03:45:13 pm
se si ha la possibilita di scegliere tra fare una shield ed un progetto tutto integrato  qual'e è la soluzione migliore?

es se devo fare lo stampato  per dei voltmetri  o  un timer  col le cifre a 7 segmenti

quale sarebbe la cosa piu giusta?  fare una shield da mettere sopra un arduino originale/autocostruito

oppure fare un solo sampato  compreso di tutto  (cosi si risparmiano i connettori  ma si incasinano i collegamenti)
497  International / Hardware / Re: simulare un analogread tramite serial monitor e tastiera on: August 27, 2012, 05:28:43 am
author=ale92

si, si possono fare molte cose (e tantissime sono state già fatte) personalmente vedo più  arduino per la domotica un po’ come una specie di supervisore/guardiano  che dovrebbe    intervenire solo su richiesta

il doppio codice 123+xxx   era più un modo di evitare  che si attivano/disattivano  cose involontariamente

il tuo codice l'ho modificato cosi aggiungendo la 3° cifra e se viene digitato qualcosa di diverso tipo una lettera o simbolo  porta x a zero e stampa un avviso  

Code:


[code



int vet[3] = { -2, -2, -2 };  //numero arbitrario, usato per vedere se è stato inserito un numero o no (non so perchè tu abbia messo -3 in quello da tre cifre, il -2 non centra niente con la dimensione dell'array) non ho
//usato -1 perchè significa che non ci sono dati da leggere (secondo la serial available) quindi si poteva fare confusione
int cont = 0;
int x = 0;

void setup()
{
  // start serial port at 9600 bps:
  Serial.begin(9600);
}

void loop()
{
  while (Serial.available() > 0)
  {
    vet[cont] = Serial.read()-48;   //trasformo da codice ascii a numero utilizzabile
    cont++;
    delay(50); //sinceramente non so il motivo tecnico ma l'ho messo perchè mi si è accesa una lampadina, senza la serial available da dei "falsi negativi" cioè legge un byte, poi anche sei hai messo 2 numeri l'istruzione //dice che non c'è più niente da leggere e quindi esce dal while, forse l'esecuzione è troppo veloce per i sui gusti, non so....
  }
  
   if (vet[0] < -2 || vet[1] < -2 || vet[2] < -2 )  Serial.println("E' STATO INSERIRTO UN CARATTERE INSERIRE SOLO NUMERI DA 1 A 999  ");

   if (vet[0] > 9 || vet[1] > 9 || vet[2] > 9)  Serial.println("E' STATO INSERIRTO UN CARATTERE  INSERIRE SOLO NUMERI DA 1 A 999  ");
  


  if(cont > 0) //se ho letto qualcosa fai la conversione altrimenti niente
  {
    cont = 0;
    if (vet[1] == -2 && vet[2] == -2) //se vet[1] = a -2 cioè il valore iniziale significa che c'era solo un numero da leggere quindi è un numero da 0 a 9
    {
      x = vet[0];
    }
    else
    if ( vet[2] == -2) //se vet[1] = a -2 cioè il valore iniziale significa che c'era solo un numero da leggere quindi è un numero da 0 a 9
    {
      x = vet[0] * 10 + vet[1];
    }
    else
    {
      x = vet[0] * 100 + vet[1]* 10+ vet[2]; //altrimenti faccio la formulina perchè è un numero da 10 a 99
    }
  
         if (vet[0] < -2 || vet[1] < -2 || vet[2] < -2 ) x =0;
   if (vet[0] > 9 || vet[1] > 9 || vet[2] > 9)  x =0;
    Serial.println(x);
    vet[0] = -2;   //fix per il bug della versione precedente
    vet[1] = -2;
    vet[2] = -2;
  }
}]
498  International / Hardware / Re: simulare un analogread tramite serial monitor e tastiera on: August 26, 2012, 03:36:17 pm
Code:

int vet[2] = { -2, -2 };  
int cont = 0;

}


se ti serve più elasticità (ad esempio anche centinaia) è da modificare
ho aggiustato il tuo codice (senza comprenderlo al 100%    smiley-cry  )     adesso come digito le cifre da 000  a 999
la variabile prende quel valore,
mi sta venendo la " malsana idea   smiley-cool che si potrebbe usare per attivare/disattivare  tutte le cose in un impianto domotico semplicemente digitando un codice a 3 cifre  o meglio   magari prima si digitano 3 cifre (es: 123) e si attiva un qualcosa per 5 secondi  e finche e attivata si puo inviare il codice per spegnere una luce/altro  magari prima il serial monitor   ti stampa LUCE CANTINA ACCESA  445 X OFF,
si digita 123  e poi subito  445   e la luce si spegne smiley-razz

con un arduino 2 si potrebbe gestire anche un appartamento grande  lo scoglio piu grande e far visualizzare le cose attive in maniera leggibile sul serial monitor senza  bloccare troppo  il micro,
magari un refresh ogni 10 secondi

qualsiasi consiglio e ben accetto
499  International / Hardware / Re: simulare un analogread tramite serial monitor e tastiera on: August 24, 2012, 02:53:47 pm
comnque mi pare che questo codice e a buon punto
a patto che si inseriscono sempre 3 cifre da 000 a 999
la variabile x  assume il valore digitato di volta in volta
forse ha bisogno di qualche piccolo ritocco ancora ma ci siamo

Code:

int vet[3] = { -3, -3 }; 
int cont= 0 ;
int x = 0;



void setup()
{

  Serial.begin(9600);
}

void loop()
{

 
  while (Serial.available() > 0)
  {
    vet[cont] = Serial.read()-48;   
    cont++;


if (vet[cont] > 9 )  Serial.println("IMMETTERE SOLO NUMERI "); 

 x= vet[0]*100 + vet[1] *10 + vet[2];

  if (cont < 3  )  Serial.println("IMMETTERE SEPRE 3 CIFRE");

 
       Serial.print("vet[0]    "); Serial.println(vet[0]);
       Serial.print("vet[1]    ");Serial.println(vet[1]);
       Serial.print("vet[2]    "); Serial.println(vet[2]);
       
         if (vet[0] < 0 || vet[0] > 9 )  Serial.println("IMMETTERE SOLO NUMERI  0 ");
           if (vet[1] < 0 || vet[1] > 9  )  Serial.println("IMMETTERE SOLO NUMERI  1 ");
             if (vet[2] < 0 || vet[2] > 9  )  Serial.println("IMMETTERE SOLO NUMERI  2 ");
         
        Serial.println(x);
        Serial.println(cont);
   
       

 if (cont >= 3) cont=0;



    }
   
 
  } 
500  International / Hardware / Re: simulare un analogread tramite serial monitor e tastiera on: August 24, 2012, 02:42:35 pm
ciao
puoi provare questo:
Code:
#include <string.h>       

oppure questo:
stefano

ok  dai li ho provati   e mi sa che uno di noi due deve cambiare spacciatore,  smiley-cool comunque a parte gli scherzi
grazie per la tua collaborazione,  li ho provati il secondo fa piu o meno cosi:
se si scrive un qualcosa esempio,  arduino  stampa le lettere a 2  a 2 doppie  aa rr dd ecc
e po sempre l'ultima in ripetizione   associata  a  incoming_char 
incoming_char  assume il valore dell'ultima lettera/numero scritto e lo mantiene   e non so (almeno io ) che uso se ne puo fare,

la prima cosi com'è   stampa e fa assumere alla variabile  stringOne  quello che immetti nel seria monitor
il che ci siamo quasi  a quello che intendevo io all'inizio,

pero non riconosce la fine di una serire di cifre o lettere
se metto 123 stampa 123   se attendo 10 secondi  e immetto 567  stampa 123567  e fa sempre cosi  smiley-money

dopo un secondo di attesa all'inserimento di una nuova serie di caratteri /cifre   dovvrebbe cancellare il vecchio  e  tenere il nuovo es se metto 123 attendo 1 secondo  e metto 445   dovrebbe usare solo 445
501  International / Hardware / Re: simulare un analogread tramite serial monitor e tastiera on: August 24, 2012, 09:47:46 am
per tenere insieme l'invio ho usato questo
Code:
...
while(cell.available()>0)
  {
    delay(50);
      incoming_char=Serial.read();
   
       stringOne+=String(incoming_char);
         
   
   }
Serial.println(stringOne);  //stampa di controllo
...

+= sia con numeri che caratteri

stefano

purtroppo cosi  com'è   non mi riesce di provarlo  non so se bisogna caricare anche qualche libreria,
per quello che intendo io  se nel serial monitor metto 436 e faccio invio     stringOne  deve prendere il valore   436      se succede questo  siamo a cavallo
502  International / Hardware / Re: simulare un analogread tramite serial monitor e tastiera on: August 24, 2012, 08:37:06 am
quello che hai scritto puo funzionare  ma solo un carattere/numero per volta
il problema è quando devi inviare 2 o pi caratteri/numeri  e temerli assieme anche nell'arduino

es:    se metto  if Serial.read() == A   digitalvrite (13)  HIGH

mettendo la A  nel serial monitor il led si accende,

se al posto della  A   voglio mettere 2 lettere o due numeri (o una parola tipo LUCE_SCALE)  non funziona piu
503  International / Hardware / Re: simulare un analogread tramite serial monitor e tastiera on: August 24, 2012, 08:00:23 am
Code:

int vet[2] = { -2, -2 };  
int cont = 0;
int x = 0;

void setup()
{
  // start serial port at 9600 bps:
  Serial.begin(9600);
}

void loop()
{
  while (Serial.available() > 0)
  {
    vet[cont] = Serial.read()-48;  
    cont++;
    delay(50);
  }
  if(cont > 0)
  {
    cont = 0;
    if (vet[1] == -2)
    {
      x = vet[0];
    }
    else
    {
      x = vet[0] * 10 + vet[1];
    }

    Serial.println(x);
  }
}


con questo codice dovresti risolvere, il serial print finale serve solo per controllare che va tutto bene...è fatto di fretta e solo per numeri di 1-2 cifre...se ti serve più elasticità (ad esempio anche centinaia) è da modificare

ok la faccenda di sottrarre 48 l'avevo intuita e provata anch'io  ma mi ero fermato a un solo numero per volta

questa idea e quella giusta e se commenti le righe  in modo comprensoibile del lavoro che svolgono comprendiamo dui piu,

ha anche un qualcosa da aggiustare mi pare se metto i numeri da 1 a 9  pare che non funziona bene
invece da 11 a 99 sembra tutto ok

es:  se metto un numero a 2 cifre es: 67  e poi metto 1  scrive 17  smiley-money
es:  se metto un numero a 2 cifre es: 89  e poi metto 5  scrive 59 smiley-money
504  International / Hardware / Re: simulare un analogread tramite serial monitor e tastiera on: August 24, 2012, 07:01:53 am
ciao
per una mia applicazione ho risolto in questo modo
Code:
if(Serial.available()>0)
 {
   input-char=Serial.read(); 
   }

i caratteri, come mi hanno spiegato nel forum, vengono letti uno alla volta quindi potrebbe essere piu' utile questo

Code:
if(Serial.available()>0)
 {
   input-char+=Serial.read(); 
   }

stefano

mah   sembra strano che possa funzionare perche non vedo come possa distinguere come possa fermarsi dall'associare una serie di numeri da un altra
o ci dovrebbe essere un limite temporale tipo se i numeri vengono inviati entro 100 millisecondi vengono considerati appartenere alla stessa cifra,

oppure il dato dovrebbe contenere un simbolo di inizio e uno di fine  tipo *789#  per il numero 789
505  International / Hardware / Re: COR ripetitore .... finalmente funziona tutto on: August 24, 2012, 02:16:46 am
Ho appena concluso la parte logica di un controller per ponti ripetitori.



 se a qualcuno interessasse.. sono qui ... grazie ciao

mah..   sono un radioamatore   ma non ho mica capito che cosa intendi fare di preciso
e sopratutto manca la parte fisica  circuito stampato e almeno una simulazione su breadbord

poi un ponte ripetitore minimo  deve avere almeno i sub tono audio standard  per essere attivato
se no  ad ogni tuono/lampo, o se si alza il QRM  (QRM=rumore di fondo)   si attiva senza motivo

non bastano un paio di ricetrasmettitori e una schedina per fare un ponte
la parte "esterma" e la piu importante dove viene piazzato la disposizione delle antenne, sopratutto i "filtri in cavità"  altrimenti la trasmissione stessa del ponte azzera la ricezione del ricevitore (per troppa vicinanza)
506  International / Software / Re: lentezza assurda per aprire ide in win 7 on: August 24, 2012, 01:11:13 am
In genere sono i dispositivi con porte seriali (tipo chiavette bluetooth) che causano rallentamenti perché all'avvio scansiona le porte disponibili

Ciao

tanks, smiley-cool  mi sa che hai centrato il bersaglio sembra proprio che sia una chiavetta usb per il bluetooth

da solo non ci sarei arrivato facilmente a scoprire la cosa
507  International / Software / (RISOLTO) lentezza assurda per aprire ide in win 7 on: August 23, 2012, 02:56:55 pm
riscontro un lentezza di circa  50  secondi per aprire arduino.exe  nessuno sketch    e 20 secondi per aprire il seria monitor

insomma una lentezza generale,

questo   non si verifica con il sistema operativo appena reistallato  ma man mano che inizio ad usare l'ide sembra che si affossi sempre di piu fino ad arrivare a questo punto,

ho provato a pulire il disco dai file temporanei rimettere l'ide 1.0.1   da capo
ma nulla   provato anche ha cancellare tutti  i registri degli eventi

qualche suggerimento ?
508  International / Hardware / Re: domanda su undervolt on: August 22, 2012, 04:41:04 pm
a meno che non lo fai apposta ad andare giu piano piano di tensione nella realta di solito la tensione va via e si spegne tutto
e quando sei sotto la soglia limite ( che probalilmente non è 4.99 volt)  iniziano i malfunzionamenti

un micro che funziona male è identico a un micro spento o rotto   tutti e 3 non fanno quello che dovrebbero fare
509  International / Hardware / simulare un analogread tramite serial monitor e tastiera on: August 22, 2012, 03:44:55 pm
volevo qualche "indizio" per poter mettere il valore a una variabile  (tipo analogRead per intenderci)
tramite la tastiera e il serial monitor,
es inviare tramite  tastiera un numero  tra 0 e 99  la variabile  "x"  si associa al numero inviato e lo mantiene
fino a non se ne invia un altro
510  International / Hardware / Re: Arduino e interferenze?? on: August 22, 2012, 01:19:57 pm
e diffile capire cosa cosa intendi per interferenze elettromagnetiche,

quasi sicuramente hai sbagiato qualcosa tu nel codice, oppure hai un alimentatore talmente schifoso  che manda/riceve  talmente tanti disturbi   

le cose potrebbero essere svariate  anche un loop di massa tra i vari componenti
Pages: 1 ... 32 33 [34] 35 36 ... 47