Funziona al contrario. help
buona notte tutti,
ho da poco acquistato un arduino mega , relativa scheda di rete ed una scheda da "ben" 8 relè
non sono un programmatore ma leggendo il forum qualcosa siete riusciti ad insegnarmela
veniamo al dunque:
scritto il codice e effettuato collegamenti mi ritrovo con tutti relè sotto tensione che corrisponde esattamente al contrario di quello che volevo.
ho provato e riprovato ma nulla. non riesco venirne capo.
fiducioso in un vostro aiuto posto il codice
notte notte
ho da poco acquistato un arduino mega , relativa scheda di rete ed una scheda da "ben" 8 relè
non sono un programmatore ma leggendo il forum qualcosa siete riusciti ad insegnarmela
veniamo al dunque:
scritto il codice e effettuato collegamenti mi ritrovo con tutti relè sotto tensione che corrisponde esattamente al contrario di quello che volevo.
ho provato e riprovato ma nulla. non riesco venirne capo.
fiducioso in un vostro aiuto posto il codice
code: [select]
//includo la libreria spi
#include <spi.h>
//includo la libreria per l'ethernet shield
#include <ethernet.h>
//stabilisco l'indirizzo mac
byte mac[] = {0x90, 0xxx, 0xxx, 0xxx, 0xxx, 0xxx };
//stabilisco l'indirizzo ip
byte ip[] = { 192, 168, 1, 150 };
//stabilisco il subnet
byte subnet[] = {
255, 255, 255, 0 };
//stabilisco la porta
ethernetserver server(80);
string readstring;
//dichiaro vari pin
byte out_1 = 22;
byte out_2 = 24;
byte out_3 = 26;
byte out_4 = 28;
byte out_5 = 30;
byte out_6 = 32;
byte out_7 = 34;
byte out_8 = 36;
void setup()
{
ethernet.begin(mac, ip);
//imposto vari pin in uscita
pinmode(out_1, output);
pinmode(out_2, output);
pinmode(out_3, output);
pinmode(out_4, output);
pinmode(out_5, output);
pinmode(out_6, output);
pinmode(out_7, output);
pinmode(out_8, output);
}
void loop(){
ethernetclient client = server.available();
if (client) {
boolean currentlineisblank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
readstring.concat(c);
if (c == '\n' && currentlineisblank) {
//se leggi la stringa on1 allora accendi il pin 1 (ecc.)
if(readstring.indexof("on_1") > 0) {
digitalwrite(out_1, high);
delay (400);
digitalwrite(out_1, low);
}
if(readstring.indexof("on_2") > 0) {
digitalwrite(out_2, high);
delay (400);
digitalwrite(out_2, low);
}
if(readstring.indexof("on_3") > 0) {
digitalwrite(out_3, high);
delay (400);
digitalwrite(out_3, low);
}
if(readstring.indexof("on_4") > 0) {
digitalwrite(out_4, high);
delay (400);
digitalwrite(out_4, low);
}
if(readstring.indexof("on_5") > 0){
digitalwrite(out_5, high);
delay (400);
digitalwrite(out_5, low);
}
if(readstring.indexof("on_6") > 0) {
digitalwrite(out_6, high);
delay (400);
digitalwrite(out_6, low);
}
if(readstring.indexof("on_7") > 0) {
digitalwrite(out_7, high);
delay (400);
digitalwrite(out_7, low);
}
if(readstring.indexof("on_8") > 0) {
digitalwrite(out_8, high);
delay (400);
digitalwrite(out_8, low);
}
// pagina html
client.println("http/1.1 200 ok");
client.println("content-type: text/html");
client.println();
client.print("<html><head><title>spirito santo controllo web</title><meta http-equiv='content-type' content='text/html; charset=iso-8859-1' ></head><body>");
client.print("<br><br>");
client.print("spirito santo controller");
client.print("<p>");
client.print("<br>");
if (digitalread(22)== true) client.print("<a href=/?off_1>");
else client.print("<a href=/?on_1>");
client.print(" <-- cancello");
client.print("<br>");
if (digitalread(24)== true) client.print("<a href=/?off_2>");
else client.print("<a href=/?on_2>");
client.print(" <-- viale nord");
client.print("<br>");
if (digitalread(26)== true) client.print("<a href=/?off_3>");
else client.print("<a href=/?on_3>");
client.print(" <-- piazzale anteriore");
client.print("<br>");
if (digitalread(28)== true) client.print("<a href=/?off_4>");
else client.print("<a href=/?on_4>");
client.print(" <-- piazzale anteriore fari bassi");
client.print("<br>");
if (digitalread(30)== true) client.print("<a href=/?off_5>");
else client.print("<a href=/?on_5>");
client.print(" <-- piazzale posteriore");
client.print("<br>");
if (digitalread(32)== true) client.print("<a href=/?off_6>");
else client.print("<a href=/?on_6>");
client.print(" <-- piazzale box auto");
client.print("<br>");
if (digitalread(34)== true) client.print("<a href=/?off_7>");
else client.print("<a href=/?on_7>");
client.print(" <-- viale box auto");
client.print("<br>");
if (digitalread(36)== true) client.print("<a href=/?off_8>");
else client.print("<a href=/?on_8>");
client.print(" <-- fontana");
client.println("</body></html>");
readstring="";
delay(5);
client.flush();
client.stop();
}
}
}
}
}
notte notte
chiedo venia.
ho fatto un controllo con il tester e la situazione è la seguente:
sul contatto n.c. mi da un impedenza paria 1 che passa 0 quando invio l'impulso.
e' normale che la luce rossa accanto al relè sia rossa e si spegne quando mando l'impulso!?
penso di essermi fatto ingannare da una lucina...
come faccio sapere se la bobina del relè si eccita o si diseccita quando mando l'impulso?
grazie ancora per le risposte che vorrete darmi
ho fatto un controllo con il tester e la situazione è la seguente:
sul contatto n.c. mi da un impedenza paria 1 che passa 0 quando invio l'impulso.
e' normale che la luce rossa accanto al relè sia rossa e si spegne quando mando l'impulso!?
penso di essermi fatto ingannare da una lucina...
come faccio sapere se la bobina del relè si eccita o si diseccita quando mando l'impulso?
grazie ancora per le risposte che vorrete darmi
Arduino Forum > International > Italiano > Generale (Moderator: leo72) > Funziona al contrario. help
arduino
Comments
Post a Comment