Home
Accesso / Registrazione
 di 

Arduino uno

10 risposte [Ultimo post]
ritratto di marco.slongo.9
Offline
Titolo: User+
Utente+
Ultima visita:
24 settimane 1 giorno fa
Utente dal: 20/01/2013
Messaggi: 17

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

ritratto di Piero Boccadoro
Offline
Titolo: Moderator
Moderatore
Ultima visita:
19 ore 45 min fa
Utente dal: 28/06/2011
Messaggi: 868
Utente PREMIUM
Cioè vorresti creare un

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

ritratto di marco.slongo.9
Offline
Titolo: User+
Utente+
Ultima visita:
24 settimane 1 giorno fa
Utente dal: 20/01/2013
Messaggi: 17
Questo è uno e funziona da

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);
}
}

ritratto di Piero Boccadoro
Offline
Titolo: Moderator
Moderatore
Ultima visita:
19 ore 45 min fa
Utente dal: 28/06/2011
Messaggi: 868
Utente PREMIUM
Scusa il ritardo, ti rispondo

Scusa il ritardo, ti rispondo stasera ;)

ritratto di Antonello
Offline
Titolo: User+
Utente+
Ultima visita:
3 settimane 5 giorni fa
Utente dal: 06/02/2013
Messaggi: 26
Utente PREMIUM
Non ho capito in che senso li

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...

ritratto di Piero Boccadoro
Offline
Titolo: Moderator
Moderatore
Ultima visita:
19 ore 45 min fa
Utente dal: 28/06/2011
Messaggi: 868
Utente PREMIUM
Allora, se ho capito bene, tu

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.

ritratto di ciccio-1976
Offline
Titolo: User
Utente
Ultima visita:
1 anno 12 settimane fa
Utente dal: 02/05/2013
Messaggi: 9
Utente PREMIUM
Si, sono d'accordo. Anche a

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

ritratto di marco.slongo.9
Offline
Titolo: User+
Utente+
Ultima visita:
24 settimane 1 giorno fa
Utente dal: 20/01/2013
Messaggi: 17
La mia intenzione era forse

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

ritratto di Piero Boccadoro
Offline
Titolo: Moderator
Moderatore
Ultima visita:
19 ore 45 min fa
Utente dal: 28/06/2011
Messaggi: 868
Utente PREMIUM
Ah... ecco :) E quando dici

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?

ritratto di Piero Boccadoro
Offline
Titolo: Moderator
Moderatore
Ultima visita:
19 ore 45 min fa
Utente dal: 28/06/2011
Messaggi: 868
Utente PREMIUM
Meglio chiarirmi le idee

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

ritratto di marco.slongo.9
Offline
Titolo: User+
Utente+
Ultima visita:
24 settimane 1 giorno fa
Utente dal: 20/01/2013
Messaggi: 17
si in modo che arduino sappia

si in modo che arduino sappia se è acceso o spento

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ci sono attualmente 43 utenti e 102 visitatori collegati.

Ultimi Commenti