Questo argomento contiene 10 risposte, ha 4 partecipanti, ed è stato aggiornato da  marco.slongo.9 1 anno, 5 mesi fa.

Stai vedendo 11 articoli - dal 1 a 11 (di 11 totali)
  • Autore
    Articoli
  • #59730

    Salve io ho acquistato arduino uno e relay module 2.
    Ho fatto un programma x l accensione a impulso e uno on/off, vorrei unirli tra loro ma nn ci riesco. Grazie

    #73456
    Piero Boccadoro
    Piero Boccadoro
    Partecipante

    Cioè vorresti creare un sketch unico?
    Che ne dici di postarli qui?

    #73461

    Questo è uno e funziona da passo passo diciamo

    #define RELAY1 13 // RELè collegato al pin digitale 13
    #define BUTTON 7 // pin di input dove è collegato il pulsante
    int val = 0; // si userà val per conservare lo stato del pin di input

    void setup() {
    pinMode(RELAY1, OUTPUT); // imposta il pin digitale come output
    pinMode(BUTTON, INPUT); // imposta il pin digitale come input
    }

    void loop() {
    val = digitalRead(BUTTON); // legge il valore dell’input e lo conserva

    // controlla che l’input siaLOW (pulsante NN PREMUTO premuto)
    if (val == LOW) {
    digitalWrite(RELAY1, HIGH); //accende il RELè
    }
    else {
    digitalWrite(RELAY1, LOW); //spegne il RELè
    }
    }

    Questo è l’altro on/off

    const int buttonPin = 6; // the number of the pushbutton pin
    const int ledPin = 12; // the number of the LED pin

    int val=0; //val will be used to store state of pin

    int old_val=0;

    int buttonState= 0;

    void setup() {
    // initialize the LED pin as an output:
    pinMode(ledPin, OUTPUT);
    // initialize the pushbutton pin as an input:
    pinMode(buttonPin, INPUT);
    }
    void loop() {

    val = digitalRead(buttonPin);
    //check if input is HIGH

    if ((val == HIGH) && (old_val == LOW)) {
    buttonState = 1 – buttonState;
    delay(10);
    }

    old_val = val;

    if (buttonState == 1) {
    // turn LED on:
    digitalWrite(ledPin, HIGH);
    }
    else {
    // turn LED off:
    digitalWrite(ledPin, LOW);
    }
    }

    #73464
    Piero Boccadoro
    Piero Boccadoro
    Partecipante

    Scusa il ritardo, ti rispondo stasera ;)

    #73466

    Antonello
    Partecipante

    Non ho capito in che senso li vuoi unire…
    Uno, come dici tu, funziona passo passo.
    L’altro fa un controllo.
    Unirli per fare cosa? In qualche modo a me sembra che il secondo “contenga” già il primo….
    Forse mi sfugge qualcosa…

    #73468
    Piero Boccadoro
    Piero Boccadoro
    Partecipante

    Allora, se ho capito bene, tu vuoi realizzare un codiche ci abbia sia la condizione on/off sia il led, giusto?
    Credo che sia molto semplice perchè, in pratica, basta utilizzare un solo pulsante, quindi scrivendo qualcosa del tipo:

    #define RELAY1 13 // stessa funzione
    #define BUTTON 7 // stessa funzione
    int val = 0; // si userà val per conservare lo stato del pin di input
    const int ledPin = 12; // stessa funzione

    int val=0; //stessa funzione

    int old_val=0; // stessa funzione

    int buttonState= 0; // ora lo vediamo

    void setup() {
    pinMode(RELAY1, OUTPUT); // imposta il pin digitale come output
    pinMode(BUTTON, INPUT); // imposta il pin digitale come input
    pinMode(ledPin, OUTPUT); // stessa funzione
    }

    void loop() {
    val = digitalRead(BUTTON); // stessa funzione!

    // mi sembra di capire che tu vuoi attivare (non accendere) il relè quando val è basso e farlo commutare quando è alto…Quindi

    if ((val == HIGH) && (old_val == LOW)) {
    buttonState = 1 – buttonState;
    delay(10);
    } // manteniamo questa condizione

    old_val = val; // serve!

    if (buttonState == 1) {
    digitalWrite(ledPin, HIGH);
    digitalWrite(RELAY1, LOW);
    } // accendo il LED E commuta il relè

    else {
    digitalWrite(ledPin, LOW);
    digitalWrite(RELAY1, HIGH);
    } // spengo il led E attivo il relè
    }

    O no?
    Che ne dici?
    Ci ho preso? :)
    Fammi sapere.

    #73472

    ciccio-1976
    Membro

    Si, sono d’accordo.
    Anche a me questa sembra la soluzione giusta.

    #73473

    La mia intenzione era forse un altra. Io ho una scheda relay modulo 2 (due relè da 5 volt)uno lo voglio azionare passo passo e riuscire a vedere se è acceso o no,l’altro on/off.. Tutto questo con due pulsanti

    #73474
    Piero Boccadoro
    Piero Boccadoro
    Partecipante

    Ah… ecco :)
    E quando dici “riuscire a vedere se è acceso” intendi dire con LED, giusto?
    Quindi si tratterebbe di poter gestire due pulsanti distinti per funzioni distinte, giusto?

    #73475
    Piero Boccadoro
    Piero Boccadoro
    Partecipante

    Meglio chiarirmi le idee subito prima di darti una soluzione :D

    #73477

    si in modo che arduino sappia se è acceso o spento

Stai vedendo 11 articoli - dal 1 a 11 (di 11 totali)

Devi aver eseguito l’accesso per poter rispondere a questa discussione.