Questo argomento contiene 10 risposte, ha 4 partecipanti, ed è stato aggiornato da  marco.slongo.9 1 anno, 6 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
    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.