buona sera vorrei comandare 8 rele tra cui 5 rele devono funzionare impulsivi (cioe mi deve dare un contatto per 1 secondo e poi si deve riaprire ) e 3 passo passo , tutto tramite scheda ethernet io ho un modulo shield w 5100 mi servirebbe la programmazione mi potete aiutare
grazie e scusate
Buongiorno,
essendo il tuo primo post, nel rispetto del regolamento, ti chiedo cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie.
Guglielmo
Se metti il codice che fino ad ora hai scritto (... mi raccomando, in conformità al regolamento, punto 7, racchiuso tra i tag CODE che, in fase di edit, ti inserisce il bottone </> ... primo a sinistra) e spieghi cosa c'è che non va ... magari possiamo aiutarti ... :
Guglielmo
Scusami ma io non capisco come fuunsuona questo forum non riasco.neanche a capire come si risponde il cross point che cos e non lo capisco
Ho letto il regolamento e mi scuso nuovamente
Bene, ora se vogliamo proseguire ... hai letto quanto ti ho chiesto al post #2 ?
Guglielmo
Stasera lo rileggo per bene con tranquillita perche non voglio piu sbagliare
spero di non sbagliare mi funziona una sola volta e poi impazzisce.
[/
#include <SPI.h>
#include <Ethernet.h>
boolean statop1 = false;
boolean statop2 = false;
boolean statop3 = false;
boolean statop4 = false;
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address
byte ip[] = { 192, 168, 1, 177 }; // ip in lan
byte gateway[] = { 192, 168, 1, 1 }; // internet access via router
byte subnet[] = { 255, 255, 255, 0 }; //subnet mask
EthernetServer server(80); //server port
String readString;
//////////////////////
void setup(){
pinMode(7, OUTPUT); //pin selected to control
digitalWrite(7,HIGH);
pinMode(6, OUTPUT); //pin selected to control
digitalWrite(6, HIGH);
pinMode(5, OUTPUT); //pin selected to control
digitalWrite(5,HIGH);
pinMode(3, OUTPUT); //pin selected to control
digitalWrite(3, HIGH);
//start Ethernet
Ethernet.begin(mac, ip, gateway, subnet);
server.begin();
Serial.begin(9600);
Serial.println("Domotic Server test 1.0"); // so I can keep track of what is loaded
}
void loop(){
// Create a client connection
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
//read char by char HTTP request
if (readString.length() < 100) {
//store characters to string
readString += c;
//Serial.print(c);
}
//if HTTP request has ended
if (c == '\n') {
///////////////
Serial.println(readString); //print to serial monitor for debuging
client.println("HTTP/1.1 200 OK"); //send new page
client.println("Content-Type: text/html");
client.println();
client.println("<!DOCTYPE html><html><head><meta name='apple-mobile-web-app-capable' content='yes'><meta name='apple-mobile-web-app-status-bar-style' content='black-translucent'><link rel='stylesheet' type='text/css' href='http://homeautocss.net84.net/a.css'><TITLE>Domotic Home Controller</TITLE></HEAD><BODY><H1>Domotic Home Controller</H1><hr>
<ul><li><p align=\"left\">Light 1:<a href=\"/?light1on\">Turn On</a><a href=\"/?light1off\">Turn Off</a></li></p>
<li><p align=\"left\">Light 2:<a href=\"/?light2on\">Turn On</a><a href=\"/?light2off\">Turn Off</a></li></p>
<li><p align=\"left\">Light 3:<a href=\"/?light3on\">Turn On</a><a\"/a></li></p>
<li><p align=\"left\">Light 4:<a href=\"/?light4on\">Turn On</a><a \"/a></li></p>
</ul></BODY></HTML>");
delay(1);
//stopping client
client.stop();
///////////////////// control arduino pin
if(readString.indexOf("?light1on") >0)//checks for on
{
statop1 = true;
}
if(readString.indexOf("?light1off") >0)//checks for off
{
statop1 = false;
}
if(readString.indexOf("?light2on") >0)//checks for on
{
statop2 = true;
}
if(readString.indexOf("?light2off") >0)//checks for off
{
statop2 = false;
}
if(readString.indexOf("?light3on") >0)//checks for on
{
statop3 = true;
}
if(readString.indexOf("?light4on") >0)//checks for on
{
statop4 = true;
}
if ( statop1 == true)
{
digitalWrite(7,LOW );
}
if ( statop1 == false)
{
digitalWrite(7, HIGH);
}
if(statop2 == true)
{
digitalWrite(6, LOW);
}
if(statop2 == false)
{
digitalWrite(6, HIGH);
}
if(statop3 == true)
{
digitalWrite(5, LOW);
delay(200);
digitalWrite(5,HIGH);
}
if(statop4 == true)
{
digitalWrite(3, LOW);
delay(200);
digitalWrite(3,HIGH);
}
//clearing string for next read
readString="";
}
}
}
}
}
]
Scommetto che alimenti la scheda relè con i 5V di Arduino ?
no ho un alimentatore esterno da 5 v
Puoi mettere uno schema dei collegamenti ? Anche un disegno fatto a mano, purché comprensibile, che includa sia le alimentazioni che i segnali.
Guglielmo
come faccio a caricare un immagine ?
Due possibilità ...
-
la carichi su uno dei tanti server pubblici di immagini e poi la inserisci nel post con l'apposito bottone (quello subito dopo la tavolozza colori)
-
se è di dimensioni inferiori a 1.2MB la puoi allegare al post con l'apposito bottone in basso a sinistra "Attachments and other options"
Guglielmo
- Quei 5V da dove e cosa arrivano ?
- Come alimenti Arduino ?
- Non vedo il GND dell'alimentatore 5V collegato con il GND di Arduino
- Che scheda relè è ? link
I 5 v arrivano da un alimentatore a spina , arduino viene alimentato da un alimentatore a spina .
poi io non penso che sia un problema di alimentazione o di collegamenti perché se carico uno schech in cui tutti e 4 i relay mi funzionano on off mi funsiona perfettamente al momento in cui modifico lo schech e aggiungo il tempo per far diventare il rele che mi chiude il contatto per un secondo , una volta funziona perfettamente la seconda ogni volta che schiaccio un tasto mi da sempre un inpulso sia al relay 3 e sia al 4 contemporaneamente anche se accendo il rele 1 mi da l inpulso al 1 ,3 ,4 insieme
Ho trovato quale il problema , ho caricato lo schect con tutti i 4 relay on e off e nel rele 3 e 4 o messo che su on mi danno un inpulso solo , e qui funziona tutto perfettemente se io ho on al rele 4 lui mi fa un inpulso e si ferma pero io devo sciacciare anche il tasto off per fermarlo completamente se no qualunque tasto io sciaccio lui mi da sempre un inpulso come faccio a configurare che nel broser se sciaccio e on appena lascio diventa off in automatico ? Mi potete aiutare vi ringrazio in anticipo
indistruttibile:
Ho trovato quale il problema , ho caricato lo schect con tutti i 4 relay on e off e nel rele 3 e 4 o messo che su on mi danno un inpulso solo , e qui funziona tutto perfettemente se io ho on al rele 4 lui mi fa un inpulso e si ferma pero io devo sciacciare anche il tasto off per fermarlo completamente se no qualunque tasto io sciaccio lui mi da sempre un inpulso come faccio a configurare che nel broser se sciaccio e on appena lascio diventa off in automatico ? Mi potete aiutare vi ringrazio in anticipo
L'italiano non è poi cosi' indistruttibile :o
Non ho capito nulla.
Devo configurare che nella pagina web il tasto per far eccitare il rele mi diiventi tipo un pulsante se schiaccio e on se lascio diventi off. Io sopra volevo spiegare il difetto che mi fa , ce qualche modo per fare cio sulla pagina web???