Go Down

Topic: richiesta modifica codice (Read 1 time) previous topic - next topic

fracrema

Ciao a tutti,
è da tempo che ho un piccolo progetto fermo perchè non sono in grado di terminare la programmazione del codice.

Il progetto consiste nel controllo della sezionale del garage con dei contatti magnetici, una scheda relè, rtc e un lcd i2c.

Il codice è già fatto ma, a detta di una persona di fiducia che non ha tempo di aiutarmi, manca la parte "anti rimbalzo" per i contatti magnetici e praticamente senza quella mi dice che non fa funzionare bene la scheda.

La mia richiesta è..c'è qualcuno che può aiutarmi? io purtroppo non conosco la programmazione e quindi dovrei imparare troppe cose e per ora non ho tempo da dedicare :)

Siccome che la pappa pronta non è bella da chiedere se qualcuno fosse intenzionato ad aiutarmi sarei disposto a dare una piccola retribuzione :)

Ciao, buona serata!

leo72

Basta mettere anche un semplicissimo delay di qualche decina di millisecondi fra 2 letture consecutive del pin collegato al sensore. Se la seconda lettura è sempre HIGH o LOW, allora il pulsante o sensore è veramente premuto o attivato e non si tratta di un rimbalzo.

Code: [Select]
if (lettura == HIGH)
  delay(50)
  if (lettura == HIGH)
    ....esegui qualcosa

Ci sono anche sistemi più sofisticati ma già questo svolge egregiamente il suo scopo ed a me non ha mai dato problemi.

fracrema

Ti ringrazio molto.

Ora proverò a mettere tutto in sesto e vedere se da ancora problemi.

Caso mai non funzionasse posso postare il codice e la configurazione per avere un vostro parare?


leo72

PS:
ovvio che per "lettura" intendo una digitalRead sul pin in questione.


Caso mai non funzionasse posso postare il codice e la configurazione per avere un vostro parare?

Certo

cyberhs

Quote
Siccome che la pappa pronta non è bella da chiedere se qualcuno fosse intenzionato ad aiutarmi sarei disposto a dare una piccola retribuzione


Sul Forum non è possibile ricevere denaro, ma sono assai graditi "scambi culturali" (vino, formaggio, salumi, nutella, ecc.)  :smiley-yell:

PaoloP


Quote
Siccome che la pappa pronta non è bella da chiedere se qualcuno fosse intenzionato ad aiutarmi sarei disposto a dare una piccola retribuzione


Sul Forum non è possibile ricevere denaro, ma sono assai graditi "scambi culturali" (vino, formaggio, salumi, nutella, ecc.)  :smiley-yell:


Non solo, se vorrai condividere il codice da te creato potrebbe essere utile in futuro per altre persone.
Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

pablos

#6
Sep 12, 2012, 10:44 am Last Edit: Sep 12, 2012, 11:02 am by pablos Reason: 1
metti questo condensatore in parallelo al contatto, non so come è fatto il tuo programma e che devono fare questi contatti, ma buona parte dei rimbalzi li tagli fuori, provare per credere. Fammi sapere

ciao

ps come fate a mettere "qui" con un link collegato?
no comment

Michele Menniti


metti questo http://www.google.it/imgres?imgurl=http://img.alibaba.com/photo/305011283/china_capacitor_104.jpg&imgrefurl=http://italian.alibaba.com/product-gs/china-capacitor-104-305011283.html&h=800&w=800&sz=47&tbnid=FA5zkN6Hkeop8M:&tbnh=90&tbnw=90&prev=/search%3Fq%3Dcondensatore%2B104%2Bceramico%26tbm%3Disch%26tbo%3Du&zoom=1&q=condensatore+104+ceramico&usg=__Uom1UbbafraXMZjtzdirTPsrUQw=&docid=L7PLywH0GFD83M&hl=it&sa=X&ei=ZElQUKrCNPDS4QTivIC4Dw&ved=0CC0Q9QEwAg&dur=19 in parallelo al contatto, non so come è fatto il tuo programma e che devono fare questi contatti, ma buona parte dei rimbalzi li tagli fuori, provare per credere

ciao

ps come fate a mettere "qui" con un link collegato?

così:
url=link vero]qui[/url]
ho tolto la quadra iniziale per farti vedere la sintassi, in pratica dopo il primo url aggiugi = ed il link e tra i due url scrivi la parola "qui"
aggiungendo una R in serie diventa più semplice calcolare la costante di tempo e favorire pressioni ripetute rapidamente.
Ciao :)
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

pablos

no comment

sciorty

#9
Sep 12, 2012, 12:20 pm Last Edit: Sep 12, 2012, 12:22 pm by sciorty Reason: 1
Ma forse il problema potrebbe essere anche un altro.. mettiamo che nel codice verifica se lo stato del pin è alto esegue delle operazioni, se è di nuovo alto (si ripreme il pulsante) fa altre operazioni.
Code: [Select]
if(stato==1){
fai questo;
 if (stato==1){
  fai quest'altro;
 }
}

In questo caso se non mette il delay dopo la prima serie di operazioni, quando preme il bottone la prima volta(essendo che lo preme una persona :D) non potrebbe avere il tempo di rilasciarlo che il codice ha già passato il secondo controllo!

fracrema

grazie per l'interesse ragazzi :)

Vi spiego come funziona il mio progetto:

Arduino 1 rev3
display lcd 20x4 i2c preso su ebay con relativa libreria
scheda da 4 relay presa sempre su ebay
rtc della df robot ( df...??non ricordo bene )
2 contatti magnetici, i classici da antifurto
scheda ethernet originale

Il magnete  e' collegato alla porta sezionale del garage in modo tale che l'arduino sappia sempre in che stato si trova la porta.
Collegati a 2 relay ci sono 2 led a 230v che sono al piano di sopra, in cucina.
Praticamente quando la porta e' chiusa ci sara' un led verde acceso, quando da chiusa si apre lampeggera' un led rosso e quando sara' aperta rimarra' acceso il led rosso con il verde spento.
ovviamente quando si stara' chiudendo lampeggera' il led verde.

un terzo relay e' utilizzato, inseme all'rtc, per fare in modo che si possa accendere la luce del garage quando si e' in un perido dell'anno e del giorno in cui ci sara' scuro. tipo da ottobre ad aprile quando si apre il garage dalle 17:00 alle 8:00 si dovra' accendere la luce.

il display serve cosi di bellezza per far vedere l'ora e lo stato della porta.

la scheda ethernet volevo usarla inizialmente per creare una pagina web con lo stato della porta e dei pulsanti per poter aprire/chiudere la porta ( relay 4 sul contatto della centralina ) e magari accendere la luce.

Come  vedete il progetto non ha chissa quale utilita' ma ho deciso di fare questo lavoro in garage per la facilita' di spostamento con i cavi e la possibilita' di montare una cassetta di derivazione con dentro le varie schede.

Io sono un elettricista per lavoro quindi so dove mettere le mani per collegare i relay con tensioni pericolose.

Inizialmente mi ero stampato una scheda con il press and peel con il circuito di alimentazione, l'rtc, i relay e i morsetti per collegare il bus i2c e i contatti magnetici. Purtroppo pare che per inesperienza la scheda non sia molto stabile e non offre una precisione sul segnale. Per questo ho deciso di comprare tutto a parte con i relay, rtc e l'alimentatore 5v 1A

Questa sera postero' il codice, ora sono in pausa pranzo con il tablet e faccio un po' fatica a recuperarlo da gdrive.

Scusate per le lettere accentate ma non so come mai ma non me le da :)

Buon pomeriggio, grazie!

gingardu

tu stai cercando guai seri  ]:D   non puoi motorizzare automaticamente una porta/cancello  se non ci sono tutte le cose omologate e certificate tipo fotocellule,  laMPEGGIANTI GIALLI,

non è che non si puo   e che non è legale ,

se l'impianto no ha "tutto" e anche di un certificato di istallazione rilasciato da un tecnico
Le cose si possono considerare facili in due casi: quando le si conosce bene o quando non le si conosce affatto...

sciorty

Che siete maliziosi :P Si capisce che il progetto è per casa sua, ha pure detto che non ha una grande utilità!

pablos


Che siete maliziosi :P Si capisce che il progetto è per casa sua, ha pure detto che non ha una grande utilità!


Tra l'altro non legge e perde i pezzi
no comment

Paolo S

eppoi chi lodice che non può progettare ed installare un impianto di apertura - chiusura con un microcontrollore??

Go Up