Show Posts
Pages: [1] 2 3
1  International / Hardware / Re: Antirimbalzo hardware on: July 26, 2014, 04:39:05 am
Ciao Michele,
la soluzione software è la prima che ho provato, dal libro di Margolis

Code:
const int Start=10;  //  telecomando e chiave in apertura
const int debounceDelay = 10; //  millisecondi da aspettare fino alla stabilità
volatile int fase;
boolean debounce(int pin)
{
boolean state;
boolean previousState;
previousState = digitalRead(pin); //salva lo StatoStato dell'interruttore
for(int counter= 0; counter < debounceDelay; counter++)
{
  delay(1); // aspetta 1millisecondo
  state = digitalRead(pin); // legge il pin
  if( state != previousState)
  {
    counter = 0; //azzera il contatore quando cambia lo Stato
    previousState = state; // e salva lo stato corrente
  }
 }
 
// qui quando lo stato dell'interruttore è stabile da un intervallo di tempo
// maggiore di quello di debounce
return state;
}
void setup()
{
  pinMode(Start, INPUT);
  fase=0;
    Serial.begin(9600);
  Serial.println("Setup");
 
 }
 
 void loop()
 {
   
 if(debounce(Start))  {   // premuto pulsante Start
   if(fase==0) {
      fase=1;
   }
    else
    {
    fase=4;
    }
   }
 }

Se viene premuto il pulsante e fase = 0 fase diventa 1 e il cancello si apre
se successivamente si preme il pulsante e fase > 0 il cancello si blocca
Invece alla pressione del pulsante passa in fase 1  e poi al ciclo succesivo passa in fase 4


Ho provato la libreria Bounce2
Code:
#include <Bounce2.h>
Bounce  bouncer  = Bounce();
const int Start=10;  //  telecomando e chiave in apertura
volatile int fase;
void setup()
{
  pinMode(Start, INPUT);
  fase=0;
  bouncer.attach(Start);
  bouncer.interval(5);
    Serial.begin(9600);
  Serial.println("Setup");
 
 }
 void loop()
 {
  bouncer.update();
  int stato = bouncer.read();
 
   if(stato==HIGH){
     if(fase==0) {
      fase=1;
      }
      else
      {
        fase=4;
      }
   }
 }
 

Il comportamento del programma è identico al precedente

Vi sono soluzion?
Franco
2  International / Hardware / Re: Antirimbalzo hardware on: July 26, 2014, 01:04:43 am
Ciao,
vorrei provare la prima e l'ultima soluzione.
Per il flip-flop, che integrato mi consigli?
Franco
3  International / Hardware / Antirimbalzo hardware on: July 25, 2014, 02:40:26 pm
Ciao a tutti
leggendo sui vari post ho letto che l'antirimbalzo hardware si fa connettendo un condensatore da 100 nF tra
il pin di ingresso e massa, in parallelo alla resistenza di pull_down.
Ma nel caso di una resistenza di pull-up o, con la resistenza di pull-up interna, il condensatore va nello stesso posto?
Franco

4  International / Software / IF nidificato on: July 24, 2014, 05:14:18 am
Ciao a tutti
in questo spezzone di programma
Code:
const int debounceDelay = 10; //  millisecondi da aspettare fino alla stabilità
int fase;
boolean debounce(int pin) {

boolean state;
boolean previousState;
previousState = digitalRead(pin); //salva lo StatoStato dell'interruttore
for(int counter= 0; counter < debounceDelay; counter++)
{
  delay(1); // aspetta 1millisecondo
  state = digitalRead(pin); // legge il pin
  if( state != previousState)
  {
    counter = 0; //azzera il contatore quando cambia lo Stato
    previousState = state; // e salva lo stato corrente
  }
 }
 
// qui quando lo stato dell'interruttore è stabile da un intervallo di tempo
// maggiore di quello di debounce
return state;
}

void Inizio() {
...
fase=1;
}
void setup() {
fase=0;
}
void loop()
 {
  if(debounce(Start))  {   // premuto pulsante Start
   if(fase==0) {
       Inizio();
   }
    else
    {
    IntervStart();
    }
   }

io lo interpreto così:
Se  premuto start
     Se fase è 0   fai Inizio()
     altrimenti  fai IntervStart)

con il serial.print
    esegue Inizio()
    esegue IntervStart() immediatamente dopo

Perchè?
all'inizio fase è zero quando premo il pulsante deve eseguire Inizio()
al loop successivo fase=1 ma non lo testa perchè debounce(Start) deve essere falso
(oppure no?)
Franco
5  International / Generale / Re: Stampa con l'IDE on: July 21, 2014, 12:34:58 pm
Nessun errore di sistema ma  stampa un sacco di porcheria e spreca molte pagine
6  International / Generale / Stampa con l'IDE on: July 21, 2014, 11:10:21 am
Ciao,
Ho un PC con XP prof e una stampante in rete Samsung 1865W collegata via WiFi
Non riesco a stampare lo sketch su cui lavoro.
se lo apro con Notepad lo stampo benissimo
C'è qualcosa da settare?
Franco
7  International / Generale / Re: Problemi con libreria on: July 21, 2014, 09:14:35 am
Grazie
Franco
8  International / Generale / Problemi con libreria on: July 21, 2014, 08:12:34 am
Ciao a tutti
Non riesco a caricare la libreria TimedAction.
Seguendo il Playground http://playground.arduino.cc/code/TimedAction#Download

ho scaricato il file Zip
Ho messo la cartella TimedAction in c:\Programmi\Arduino\hardware\libraries
Ho creato uno schetch dove mi ha inserito #include <TimedAction.h>

in compilazione mi da errore
In file included from sketch_jul21a.ino:1:
C:\Documents and Settings\Frankie\Documenti\Arduino\libraries\TimedAction/TimedAction.h:33:22: error: WProgram.h: No such file or directory

sono andato in Documenti e ho copiato la cartella in Arduino\Libraries\

continua a darmi lo stesso errore

mi date una dritta?
Franco
9  International / Generale / Re: ALLARME GARAGE Il mio primo progetto!!! on: August 10, 2013, 06:22:33 am
Ciao
un allarme alimentato a 220V non è molto sicuro, adesso che i contatori sono accessibili dall'esterno.
Meglio un alimentatore a 12V con batteria tampone, con una capacità sufficiente ad alimentare il tutto per 30 minuti minimo
Franco
10  International / Hardware / Re: Arduino standalone on: July 22, 2013, 03:40:45 am
Ciao, alcune domande:
@Kaspar1
Mainboard.sch con quale programma si apre?

@PaoloP
lo schema che hai proposto a video vedo solo alcuni punti neri, mentre se lo stampo alla laser viene bene(in bianco e nero)
Mi sai dire il motivo perche a video non si vede?
grazie Franco
11  International / Megatopic / Re: Ardutester - Arduino Component Tester on: July 20, 2013, 11:20:06 am
Ciao, sarei interessato a realizzare l'Ardutester. Dove posso scaricare schema e programma?
Franco
12  International / Generale / Re: Propongo nuova sezione on: July 20, 2013, 09:30:22 am
Ciao a tutti
In effetti anche io sentirei la necessita di una nuova sezione, non tanto per fare domande semplici, per questo basta fare delle search nel forum e spesso si trova la risposta (è possibile limitare la ricerca ai solo post del settore italiano?), ma per parlare di argomenti inerenti ad arduino ma che non trovano posto nelle quattro sezioni. Un Forum di programmazione che frequento ha un sottoforum chiamato Pausa caffe, rende l'idea. Ad esempio ho comperato un libro su Arduino che mi ha deluso, e non saprei dove postare le mie impressioni.
Franco
13  International / Hardware / [Risolto]MOC3031 / MOC3041 on: July 17, 2013, 04:40:18 am
Ciao a tutti
su ebay ho trovato del MOC3041 a buon prezzo
Ho guardato il datasheet ma non riesco a notare differenze significative
Posso sostituire i MOC3031 con i MOC3041 ?
Grazie per l'attenzione
Franco
14  International / Hardware / Re: Dubbi su triac on: July 04, 2013, 06:38:26 am
Ciao, sono interessato!
Un rele a stato solido come indicato da Uwe costa 23 € + spese spedizione
Se prendo il circuito  di cyberhs e lo monto iscatolato e resinato, che differenza c'è con un RSS?
Franco
15  International / Generale / Re: [OT] Mi consigliate un semplice programma free di simulazione circuitale? on: June 30, 2013, 09:11:53 am
Ciao
in estate non ho tempo ma questo inverno ho intenzione di studiarmi Multisim e Ultiboard. C'è un libro di Stefano Mirandola, Corso di elettronica e Automazione ed. Zanichelli, che contiene il CD con Multisim versione student. con l'acquisto del libro sei a posto con il software, io il libro l'ho trovato in biblioteca e mi faccio acquistare anche i due successivi
Franco
Pages: [1] 2 3