Show Posts
Pages: [1] 2 3 ... 5
1  International / Generale / Re: Problema Schede Wireless 433 MHz on: March 23, 2014, 06:59:53 am
sicuro di non aver invertito la piedinatura dell' Rx ?

Grazie per la risposta.
Ho provato entrambi i casi:

VCC-DATA-NIENTE-GND

VCC-NIENTE-DATA-GND

In ogni caso non riesco a ricevere nulla. Utilizzo due Arduino Uno, uno per il TX e uno per RX. Ho cambiato sia la frequenza trasmissiva su entrambi, avvicinati, allontanati, ma non cambia. Qualche altra idea ?
2  International / Generale / Problema Schede Wireless 433 MHz on: March 22, 2014, 03:21:08 pm
Salve a tutti,
ho un problema con l'utilizzo delle schede Wireless che lavorano sulle 433 MHz. Il problema è che non riesco a ricevere i segnali, che il TX manda al RX. Ho utilizzato i codici che sono presenti in questa pagina http://ismanettoneblog.altervista.org/blog/lezione-12-comunicazioni-wireless-low-cost-arduino/ (1° programma). Secondo voi cosa può essere ?

Ho collegato i dispositivi così

PIN  DESCRIPTION      ARDUINO PIN
1    GND              GND
2    VCC (3.5-12V)    VCC
3    TX DATA          D2

Rx MODULE CONNECTIONS:

PIN  DESCRIPTION      ARDUINO PIN
1    GND              GND
2    RX DATA          D2
3    RX DATA          N/A
4    VCC (5V)         VCC
3  International / Generale / Re: Riduzione memoria occupata programma on: March 10, 2014, 08:08:57 am
Dici che questo progetto, può essere utile inserirlo nel blog di Arduino ?
Non lo gestiamo noi mod, il blog. C'è una persona preposta alla pubblicazione degli articoli lì sopra (Zoe Romano). C'è questo link sul blog:
http://blog.arduino.cc/submit-your-project/
Serve per segnalare i propri progetti

Grazie ! Avevo già mandato qualche giorno fa la segnalazione, ma non ho ancora ricevuto nessuna risposta; dici che è normale ?
4  International / Generale / Re: Riduzione memoria occupata programma on: March 10, 2014, 08:08:08 am
Purtroppo Arduino Mega non supporta correttamente la libreria IR per la gestione dei segnali ad infrarossi; per questo motivo non è possibile utilizzare solamente Mega ! Grazie comunque per la segnalazione
Qui dice che e' stata aggiornata la libreria proprio per funzionare sul mega http://www.righto.com/2010/11/irremote-library-now-runs-on-teensy.html



Grazie per la risposta. Avevo provato qualche giorno fa, ma non riesco ad inviare correttamente i vari segnali, mentre a riceverli si.
5  International / Generale / Re: Iniziare con Arduino on: March 08, 2014, 03:27:41 pm
Ciao e benvenuto nel mondo di Arduino !
Sono sicuro che ti divertirai un casino in questo mondo, grazie anche al supporto di questo forum. Per quanto riguarda il materiale, ti posso consigliare di acquistare il tuo materiale direttamente dal sito ufficiale di Arduino. Se tu disponi già dei principali elementi elettronici, ti consiglio di acquistare solamente Arduino e di acquistare i sensori da parte. Questo perché tipicamente, nei vari kits che sono disponibili, trovi guide ed elementi elettrici di base, che molto probabilmente disponi. Se invece non hai proprio nulla, ti consiglio di guarda anche su Ebay, dove puoi trovare qualche kit interessante, sopratutto per la presenza di trasduttori utilissimi, che servono per i vari progetti. Inoltre, di consiglio di acquistare la shield Ethernet, per avere la possibilità di utilizzare la "rete" nei tuoi vari progetti. Come passo successivo (se non primo), c'è anche la possibilità di acquistare Arduino Yun, un nuovo prodotto che associa Arduino alla connettività di Linux. Forse come primo dispositivo Arduino non è il più semplice, ma vedrai che riuscirai ad usarlo al massimo !
Per quanto riguardo il materiale software/didattico, sul web trovi davvero tantissime guide. Io ti consiglio qualche link:
http://ismanettoneblog.altervista.org/blog/category/arduino/
http://www.mauroalfieri.it

Inoltre troverai nel forum molti consigli, che potranno servirti per poter iniziare ad usare Arduino Uno ! Sperando di esserti stato utile, spero che la tua esperienza con Arduino sia ottima !
6  International / Generale / Re: Riduzione memoria occupata programma on: March 08, 2014, 03:19:01 pm
Scusa jackbell16 , sul tuo sito ho visto che hai messo 2 schemettini ed in uno c'è un led collegato direttamente al pin dell'Arduino. Deduco che sia il pin iR per comandare il condizionatore.. ma non hai messo la R di limitazione della corrente. Mi sembra che la citi nell'elenco dei materiali ma lo schema non la riporta, io correggerei  smiley-wink

Grazie per la segnalazione. In realtà la questione è la seguente; la prima immagine, si riferisce alla schema da eseguire per codificare i vari codici del telecomando del condizionatore. In realtà, per questo passaggio, non è necessario inserire il LED, dal momento che stiamo solamente ricevendo i segnali. Per inviarli è necessario, come hai detto tu, una resistenza da 330 ohm, per evitare problemi di surriscaldamento con il LED. Questo scenario è spiegato nel secondo e ultimo schema, che ho realizzato io. Il primo schema, l'ho scaricato da Internet e mi pare fosse quello ufficiale della libreria, ma non vorrei sbagliarmi. Dici che questo progetto, può essere utile inserirlo nel blog di Arduino ?
7  International / Generale / Re: Riduzione memoria occupata programma on: March 08, 2014, 03:15:40 pm
due Uno ok, ci siamo, ma nel tuo articolo scrivi che serve una Uno + una Mega.
Questo lo toglierei dalla descrizione, perche' con solo la mega, che ha flash infinita (256KB) e Ram quanta quella di quattro Uno (8KB) di certo non hai problemi a far girare il tuo sketch

Grazie della condivisione, hai il tuo primo karma  smiley-wink


Purtroppo Arduino Mega non supporta correttamente la libreria IR per la gestione dei segnali ad infrarossi; per questo motivo non è possibile utilizzare solamente Mega ! Grazie comunque per la segnalazione
8  International / Generale / Re: Riduzione memoria occupata programma on: March 07, 2014, 02:58:57 pm
Quello sketch, se compilato a me non da il 93% di memoria (quale?) occupata.
A me da che occupa circa 22K di Flash e 1400 ca. byte di RAM.


93 % della memoria RAM, quella dinamica, dove sono contenute le variabili e circa 70 % la memoria flash. Tuttavia, ho sistemato con il metodo che è più semplice; utilizzo due Arduino, uno contente il webserver e l'altro contenente i vari segnali IR da inviare. Attraverso dei semplici invii di segnali ALTO-BASSO tra i due Arduino ho realizzato quello che volevo fare precedentemente con un solo dispositivo. Inoltre, ho notato, che il metodo codice precedente, non riuscivo ad accendere il condizionatore. Sperando che sia utile, lascio il link del post che ho scritto sul mio blog, che spiega come ho realizzato il progetto http://ismanettoneblog.altervista.org/blog/come-comandare-il-condizionatore-di-casa-con-arduino-anche-da-remoto/ . Spero possa servire condividere i propri amici ! Grazie a tutti per il supporto !
9  International / Generale / Re: Riduzione memoria occupata programma on: March 04, 2014, 03:52:08 pm
Grazie a tutti per i vari spunti che avete scritto. Ho aggiornato il programma come mi avete suggerito.

Code:
#include <Ethernet.h>
#include <SPI.h>
#include <WebServer.h>
#include "IRremote.h"
#include <avr/pgmspace.h>

IRsend irsend;
unsigned int uSendBuff[RAWBUF];
int khz=38; //NB Change this default value as neccessary to the correct modulation frequency
// ON and 2O C° with 1 FAN heat
PROGMEM prog_uint16_t heat[] = {3000,3000,3000,4400,550,1600,600,550,550,1650,550,550,550,550,550,1650,550,550,550,1650,500,550,550,1650,550,550,550,500,600,500,600,550,550,550,550,1650,500,550,550,600,500,1700,500,550,550,550,550,550,550,600,500,550,550,550,550,550,550,550,550,1650,550,1650,550,1650,500,1650,550,1650,550,550,550,550,550,550,550,550,550,1650,550,1650,550,500,550,550,550,1700,500,1650,550,550,550,500,600,550,550,550,550,550,550,550,550,550,550,1650,500,1700,500,550,550,550,550,550,550,550,550,550,550,600,500,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,1650,550,500,550,1700,500,550,550,550,550,550,550,1650,550};
// OFF the A/C
PROGMEM prog_uint16_t OFF[] = {3100,2900,2950,4400,700,1500,700,400,700,1500,700,400,650,450,550,1650,550,550,650,1500,600,500,600,1600,600,500,600,500,600,450,650,450,600,550,550,550,550,550,550,600,500,1600,600,500,600,500,600,550,550,500,600,500,600,550,550,550,550,1600,600,500,600,500,600,500,550,1650,550,1600,600,500,600,500,600,550,550,550,550,1600,600,1600,550,550,550,550,550,1650,550,1600,600,550,550,500,600,500,600,550,550,550,550,500,600,500,600,1600,600,1600,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,500,600,550,550,550,550,500,600,500,600,500,600,1600,600,500,600,1600,550,550,550,1600,600,550,550,550,550};
// ON and 23° with 2 FAN cold
PROGMEM prog_uint16_t cold[] = {3050,3000,3000,4400,550,1600,600,550,550,1650,550,550,550,550,550,1650,550,500,600,1600,550,550,550,1650,550,1650,550,1650,550,550,550,550,550,500,600,1600,550,550,550,550,550,1650,550,550,550,550,550,550,550,550,550,550,550,550,550,500,600,1650,500,550,550,600,500,1700,500,550,550,550,550,550,550,550,550,550,550,550,550,1650,550,1650,550,550,550,500,550,1650,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,1650,550,550,550,550,550,550,550,550,550,500,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,1650,550,1600,600,550,550};

 static byte mac_Add[] = {
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
WebServer webserver("", 80);
String state = "off";

void sendAcCommand(int index) {
  uint16_t rawlen;
  prog_uint16_t * pfSendBuff = getAcSendBuff(index);
  if (0 != pfSendBuff) {
    rawlen = pgm_read_word_near(pfSendBuff);
    memcpy_P(uSendBuff, pfSendBuff+1, rawlen * sizeof(uint16_t));
    irsend.sendRaw(uSendBuff, sizeof(uSendBuff)/sizeof(int), 38);
  }
}

void Start(WebServer &server, WebServer::ConnectionType type,
           char *url_param, bool param_complete)
{
  server.httpSuccess();
  if (type != WebServer::HEAD)
  {
    String s = "";
 
     if (param_complete == true)
    {
      s = url_param;
 
      if ( s == "cold")
      {
        Serial.println("cold");
        state = "cold";
        sendAcCommand(2);
      }
     
 
      if ( s == "warm")
      {
        Serial.println("warm");
        state = "warm";
        sendAcCommand(0);
      }
     
     if ( s == "off")
      {
        Serial.println("off");
        state = "off";
        sendAcCommand(1);
       
      }
     
    }
 
    // web page
server.print(
"<html><head><meta name='viewport' content='width=200px'/></head><body>"
"<h1>A/C Arduino Remote Controller Page!</h1>");

if(state=="off"){
  server.print(F("<h2>Stato AC : off </h2>"));
}
if(state=="cold"){
  server.print(F("<h2>Stato AC : condizionatore </h2>"));
}
if(state=="warm"){
  server.print(F("<h2>Stato AC : pompa di calore </h2>"));
}
server.println(F("<h1> </h1><BR>"));
server.println(F("<a href='/?cold'><img src='http://ismanettoneblog.altervista.org/blog/wp-content/uploads/2014/02/cold.png'>""<a href='/?warm'><img src='http://ismanettoneblog.altervista.org/blog/wp-content/uploads/2014/02/warm.jpg'><BR>"
"<a href='/?off'><img src='http://ismanettoneblog.altervista.org/blog/wp-content/uploads/2014/02/off.png'>"));

   
 
  }
}

 void setup()
{
  Ethernet.begin(mac_Add);
  webserver.setDefaultCommand(&Start);
  webserver.addCommand("index.htm", &Start);
  Serial.begin(9600);
  webserver.begin();
  delay(100);
   Serial.println(Ethernet.localIP());
}
 
void loop()
{
 webserver.processConnection();
}




prog_uint16_t * getAcSendBuff(int index) {
if ( index == 0 ) { return heat; }
if ( index ==1 ) { return OFF; }
if ( index ==2 ) { return cold; }
return 0;
}

Ora la memoria è scesa a pari il 93%. Tuttavia, ho dei problemi con il server, nel senso che va quasi subito in saturazione la memoria, dal momento che si apre una volta la pagina web, ma se premo su una icona, il webserver "crolla". Premesso che ho già provato a creare una mia libreria IRemote, la la situazione non cambia, perché 'IDE ottimizza già lui questo. Avete qualche altra idea ?
10  International / Generale / Re: Riduzione memoria occupata programma on: February 26, 2014, 02:41:26 pm
Hai tutti quei vettori di interi, all'inizio. Ogni intero occupa 2 byte in Ram.
Dovresti portare tutto in Flash con Progmem e poi recuperare i dati da lì, altrimenti non ne esci

Grazie per il consiglio. In pratica tu mi suggerisci di caricare tutti i dati nella memoria Flash e recuperare di volta in volta i dati, solo quando necessari, giusto ? Potresti fare un esempio (in codice). Grazie in anticipo
11  International / Generale / Re: Riduzione memoria occupata programma on: February 26, 2014, 02:39:47 pm
Voi dite che lo spazio è occupato maggiormente da String ? Secondo me lo spazio maggiormente occupato è per la funzione di inviare i segnali IR.
Se Tu sai le cose meglio perché ci chiedi?
Ciao Uwe

Ho visto che il grosso del peso, nasce dall'inclusione della libreria IRemote e sopratutto l'uso della funziona per l'invio del segnale
12  International / Generale / Re: Riduzione memoria occupata programma on: February 23, 2014, 07:48:02 am
Grazie a tutti per le risposte.
Ho leggermente migliorato la situazione, facendo server.print(F(....)), ma occupo il seguente spazio:
Arduino:1.5.5 (Mac OS X), Scheda:"Arduino Uno"

Lo sketch usa 22.472 byte (69%) dello spazio disponibile per i programmi. Il massimo è 32.256 byte.
Le variabili globali usano 2.361 byte (115%) di memoria dinamica, lasciando -313 byte liberi per le variabili locali. Il massimo è 2.048 byte.
processing.app.debug.RunnerException: Memoria esaurita; guarda http://www.arduino.cc/en/Guide/Troubleshooting#size per consigli su come ridurne l'utilizzo.
   at processing.app.Sketch.size(Sketch.java:1633)
   at processing.app.Sketch.build(Sketch.java:1543)
   at processing.app.Sketch.build(Sketch.java:1521)
   at processing.app.Editor$DefaultRunHandler.run(Editor.java:1915)
   at java.lang.Thread.run(Thread.java:695)

  Questo report potrebbe essere più ricco
di informazioni con
  "Mostra un output dettagliato durante la compilazione"
  abilitato in "File > Impostazioni"

Voi dite che lo spazio è occupato maggiormente da String ? Secondo me lo spazio maggiormente occupato è per la funzione di inviare i segnali IR.
13  International / Generale / Riduzione memoria occupata programma on: February 22, 2014, 03:24:35 pm
Ciao a tutti !
Ho realizzato un programma che mi permette di azionare il mio condizionatore da remoto, sfruttando la connessione di Internet di casa. Il funzionamento del programma è abbastanza semplice, tuttavia ho un problema di occupazione di memoria. Ecco il programma:

Code:
#include <Ethernet.h>
#include <SPI.h>
#include <WebServer.h>
#include "IRremote.h"


IRsend irsend;
int khz=38; //NB Change this default value as neccessary to the correct modulation frequency
// ON and 2O C° with 1 FAN heat
unsigned heat[] = {3000,3000,3000,4400,550,1600,600,550,550,1650,550,550,550,550,550,1650,550,550,550,1650,500,550,550,1650,550,550,550,500,600,500,600,550,550,550,550,1650,500,550,550,600,500,1700,500,550,550,550,550,550,550,600,500,550,550,550,550,550,550,550,550,1650,550,1650,550,1650,500,1650,550,1650,550,550,550,550,550,550,550,550,550,1650,550,1650,550,500,550,550,550,1700,500,1650,550,550,550,500,600,550,550,550,550,550,550,550,550,550,550,1650,500,1700,500,550,550,550,550,550,550,550,550,550,550,600,500,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,1650,550,500,550,1700,500,550,550,550,550,550,550,1650,550};
// OFF the A/C
unsigned OFF[] = {3100,2900,2950,4400,700,1500,700,400,700,1500,700,400,650,450,550,1650,550,550,650,1500,600,500,600,1600,600,500,600,500,600,450,650,450,600,550,550,550,550,550,550,600,500,1600,600,500,600,500,600,550,550,500,600,500,600,550,550,550,550,1600,600,500,600,500,600,500,550,1650,550,1600,600,500,600,500,600,550,550,550,550,1600,600,1600,550,550,550,550,550,1650,550,1600,600,550,550,500,600,500,600,550,550,550,550,500,600,500,600,1600,600,1600,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,500,600,550,550,550,550,500,600,500,600,500,600,1600,600,500,600,1600,550,550,550,1600,600,550,550,550,550};
// ON and 23° with 2 FAN cold
unsigned cold[] = {3050,3000,3000,4400,550,1600,600,550,550,1650,550,550,550,550,550,1650,550,500,600,1600,550,550,550,1650,550,1650,550,1650,550,550,550,550,550,500,600,1600,550,550,550,550,550,1650,550,550,550,550,550,550,550,550,550,550,550,550,550,500,600,1650,500,550,550,600,500,1700,500,550,550,550,550,550,550,550,550,550,550,550,550,1650,550,1650,550,550,550,500,550,1650,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,1650,550,550,550,550,550,550,550,550,550,500,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,1650,550,1600,600,550,550};

 static byte mac_Add[] = {
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
WebServer webserver("", 80);
String state = "off";

void Start(WebServer &server, WebServer::ConnectionType type,
           char *url_param, bool param_complete)
{
  server.httpSuccess();
  if (type != WebServer::HEAD)
  {
    String s = "";
 
     if (param_complete == true)
    {
      s = url_param;
 
      if ( s == "cold")
      {
        Serial.println("cold");
        state = "cold";
        irsend.sendRaw(cold, sizeof(cold)/sizeof(int), khz);
      }
     
 
      if ( s == "warm")
      {
        Serial.println("warm");
        state = "warm";
        irsend.sendRaw(heat, sizeof(heat)/sizeof(int), khz);

      }
     
 
      if ( s == "off")
      {
        Serial.println("off");
        state = "off";
        irsend.sendRaw(OFF, sizeof(OFF)/sizeof(int), khz);
      }
     
    }
 
    // web page
server.print(
"<html><head><meta name='viewport' content='width=200px'/></head><body>"
"<h1>A/C Arduino Remote Controller Page!</h1>");

if(state=="off"){
  server.print("<h2>Stato AC : off </h2>");
}
if(state=="cold"){
  server.print("<h2>Stato AC : condizionatore </h2>");
}
if(state=="warm"){
  server.print("<h2>Stato AC : pompa di calore </h2>");
}
server.println("<h1> </h1><BR>");
server.println("<a href='/?cold'><img src='http://ismanettoneblog.altervista.org/blog/wp-content/uploads/2014/02/cold.png'>""<a href='/?warm'><img src='http://ismanettoneblog.altervista.org/blog/wp-content/uploads/2014/02/warm.jpg'><BR>"
"<a href='/?off'><img src='http://ismanettoneblog.altervista.org/blog/wp-content/uploads/2014/02/off.png'>");

   
 
  }
}

 void setup()
{
  Ethernet.begin(mac_Add);
  webserver.setDefaultCommand(&Start);
  webserver.addCommand("index.htm", &Start);
  Serial.begin(9600);
  webserver.begin();
 
  delay(100);
}
 
void loop()
{
 webserver.processConnection();
}

Avete qualche consiglio per aumentare lo spazio disponibile ? Sto utilizzando Arduino Uno
14  Using Arduino / Project Guidance / Re: A/C IR raw code problem on: February 18, 2014, 08:56:24 am
Great to hear you have made some progress.

It could be that the signal is the off signal?? So put the A/C into a different mode first. (try some variations)

I suggest you try to copy what I provided, using a selection of other signals. Also just send one of the signals at a time. Other than that , I am out of ideas.

Regarding skype...Sorry I don't have access to it at the moment & in general I think most people prefer to provide  help via the forum only - so that everyone benefits & learns from the answers & solutions provided.

PS: Did you get the opportunity to post the model # of the Aircon unit?



Well the push button on the remote control to switch on/off the A/C is the same, but from my test, they are different IR code. BTW I found that the some settings, for example 22° WARM '3 fan change during time.  I wanna to make this test:

this is the RAW code I got from my remote IR about the following settings: 24° warm 1 Fan and also swing.

#define Something_DEC 2544958509
#define Something_HEX 97B0FC2D
Raw (150): -28872 2950 -3050 2950 -4400 550 -1650 550 -550 550 -1650 550 -550 550 -550 550 -1650 550 -500 600 -1600 550 -1650 550 -550 550 -550 550 -550 550 -550 550 -1650 550 -550 550 -500 600 -500 600 -500 600 -550 500 -600 500 -600 500 -550 550 -550 550 -550 550 -550 550 -550 550 -550 550 -550 550 -550 550 -550 550 -1650 550 -500 600 -550 550 -500 600 -500 600 -500 550 -1650 550 -1650 550 -550 550 -550 550 -1650 550 -1650 550 -500 600 -550 550 -500 600 -500 600 -550 550 -500 550 -550 550 -1650 550 -1650 550 -550 550 -550 550 -550 550 -550 550 -550 550 -500 600 -500 600 -550 550 -500 600 -500 600 -550 550 -550 500 -550 550 -550 550 -1650 550 -550 550 -1650 550 -550 550 -1650 550 -1650 550 -1600 550

Are you able to provide me a similar code you sent me before ? Right now the following code isn't send correctly to A/C unit. The A/C model is Riello EDS 525 H. Thank you again for your support.

UPDATE

The code you sent me it is able to switch off the A/C ! I found this link, I think it can be useful http://www.haier.com.hr/uploads/MB_Frigo/Download/Tehnicka_dokumentacija/Kucni/service_manual_H2SM-912H03R2-SM071225.pdf
15  Using Arduino / Project Guidance / Re: A/C IR raw code problem on: February 18, 2014, 08:26:01 am
Thank you again for your support. I have some news. I copied the code you wrote me in the Arduino sketch. Now the A/C make a beep, but it doesn't not switch on. I tried both signal you posted me. What do you think is the problem ? BTW the code I'm sending now, is the same I got back in the Arduino Serial. If you have some time, we can talk on skype. Thank you again for your support.
Pages: [1] 2 3 ... 5