Show Posts
Pages: [1] 2
1  Using Arduino / Networking, Protocols, and Devices / RF 433.92 Remote Toch RGB LED - Control over RF433 on: May 28, 2014, 05:12:39 am
Hi to all,

does anybody know how to control this Device.... i tried to log over my RF433.... but no sucess.



Thx for your help!!!

Greetings Tom
2  International / Deutsch / Re: Serial auswerten - bin nicht zufrieden mit meiner Lösung.. on: December 13, 2013, 06:32:01 pm
DANKE - an Euch BEIDE!!!

Es hat mir geholfen, den Ablauf von Serial besser zu vestehen.

Hab das Sketch schon ein wenig verändert.... nun kommt der Dauertest.

Viele Grüße
Tom
3  International / Deutsch / Serial auswerten - bin nicht zufrieden mit meiner Lösung.. on: December 13, 2013, 04:46:29 pm
Hallo Experten,

ich hab einen Arduino Uno per USB an einem Android Tablet hängen. Vom Tablet aus werden Befehle für einen 433MHZ Transmitter gesendet.

Diese kommen im Arduino als Serial-Text an.

Mein Sketch funktioniert (meist) - ich bin aber nicht ganz sicher ob es nicht zuverlässiger und besser geht.
Code:
#include <RemoteTransmitter.h>
String inputString = ""; 
void setup() {
  Serial.begin(9600);
  Serial.println("Arduino ist mit 9600 bereit");
   }

void loop() {
  if (Serial.available() > 0)  {
    char inByte = Serial.read();
    inputString  += inByte;
             if (inputString == "7,522451,285,3") {RemoteTransmitter::sendCode(7, 522451, 285, 3);  }         
             
                                                   
      }   
   
     else {

             delay(50);
             inputString="";
          }
}
 

Könnte mal jemand drüber schauen und mir einen Tip geben.


Vielen Dank für Eure Hilfe!

VG Tom


4  International / Deutsch / ELV FS20 UART ansteuern... aber wie? on: December 13, 2013, 02:53:08 pm
Hallo zusammen,

hoffentlich kann mir jemand helfen. Ich versuche den

FS20 UART von ELV http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=35109

mit einem Arduino MEGA zu steuern...

Das Schalten am FS20 UART per Taster funktioniert.... und auch ohne Arduino mit HTerm am USB-RS232-Wandler funktioniert z.B. der Befehl: 02 06 F1 00 00 00 12 00 als Hex.

Nur komme ich mit dem HEX im Arduino nicht klar - vielleicht hab ich ja noch einen einen anderen Fehler drin:

Code:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11);
void setup()
{
mySerial.begin(9600);
Serial.begin(9600);
}

void loop()
{
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}


Wenn ich dann Serial Monitor etwas eingebe - kommt nur Müll.

Danke für Eure Tips!

Viele Grüße
Tom
5  International / Deutsch / Webserver Befehle empfanen.... Steckdosen schalten on: September 19, 2013, 04:57:02 am
Hallo Arduino-Freunde,

vorweg bitte ich um Entschuldigung - ich bin weder in HTML noch im Arduino ein Experte. Sollte ich mich etwas komisch ausdrücken hat es damit zu tun....

Mein Webserver läuft und ich bin ganz zufrieden damit.... Nun wollte ich mein Projekt erweitern und merke, dass ich in einer Sackgasse bin.

Ich sende von einem Webbrowser im lokalen Netzwerk einen Behfel:

192.168.178.99/B3 

Dieser wird vom Arduinospript zerlegt und der Befehl "3" (ein RF433 Befehl) wird als ausgeführt. Der Browser lädt dann die Seite 192.168.178.99/B3... da das B3 wohl ignoriert wird, sehe ich im Browser wieder den Webserver.... und könnte dann den nächsten Befehl wählen.

Möchte ich aber nun diesen Befehl in einer anderen Webseite einbauen (diese liegt z.B. lokal auf dem Tablet) lande ich nach ausführten Befehl auf dem Arduino und nicht wieder auf der gewünschten lokalen Seite.

Ich such also eine Möglichkeit, auf dem Tablet, eine Taste zu drücken.... diese sendet einen Befehl an den Arduino - ohne das zu der Seite gewechselt wird.

Versteht mich jemand?

Also mein Wunsch: Auf dem Tablet laufen Webcams im Wechsel (geht schon), dann möchte ich einen Button drücken und der Arduino soll einen HTTP-Befehl bekommen - ohne das der Webserver auf dem Tablet erscheint...

Mein bisheriges Script habe ich angehängt...

Vielen Dank für Eure Hilfe!

VG Tom


char line[129];
char c_alt;
int count_hole = 0;
int count_Host=0;
int count = 0;
char c;
int befehl = 0;

#include <Ethernet.h>
#include <RemoteTransmitter.h>
#include <SPI.h>   


byte mac[] = {
  0x54, 0x55, 0x58, 0x10, 0x00, 0x24 };  // für Ethernetboard I - entspricht einer MAC von 84.85.88.16.0.36
byte ip[]  = {   
  192, 168, 178, 99};                 
byte gateway[] = { 
  192, 168, 178, 1 };               
byte subnet[]  = { 
  255, 255, 255, 0 };
EthernetServer server(80);

void setup()
{
  Ethernet.begin(mac, ip, gateway, subnet);
  server.begin();
  Serial.begin(9600);
  Serial.println("Fange an.... Webserver_Hager_v01");
}

void loop()
{

  count = 0;  count_Host=0;   befehl = 0;
 
  EthernetClient client = server.available();
  if (client) {
    Serial.print("Server ist verfuegbar ");
    boolean current_line_is_blank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
       if (count < 7) {
          if (c =='1')  (befehl =1);
          if (c =='2')  (befehl =2);
          if (c =='3')  (befehl =3);
          if (c =='4')  (befehl =4);
          if (c =='5')  (befehl =5);
          if (c =='6')  (befehl =6);
          if (c =='7')  (befehl =7);
          if (c =='8')  (befehl =8);
          if (c =='9')  (befehl =9);
          if (c =='A')  (befehl =10);
          if (c =='l')  (befehl =99);
          count++;
        }
        count_Host++;

        if (c == '\n' && current_line_is_blank) {
     
            client.println("HTTP/1.1 200 OK");
            client.println();
            client.write("<html><head><meta http-equiv='refresh' content='10; URL=http://192.168.178.99'>");
            client.write("<title>TM Webserver</title>  ");
            client.write("<style type='text/css'>");
            client.write("A {text-decoration: none;} A:Hover {text-decoration: underline;}");
            client.write("#anA  {float:left;margin:5px;background-color:yellow;border:1px solid black;height:70px;width:70px;text-align:center}");
            client.write("#anB  {float:left;margin:5px;background-color:yellow;border:1px solid black;height:70px;width:70px;text-align:center}");
            client.write("#anC  {float:left;margin:5px;background-color:yellow;border:1px solid black;height:70px;width:70px;text-align:center}");
            client.write("#anE  {float:left;margin:5px;background-color:yellow;border:1px solid black;height:70px;width:70px;text-align:center}");
            client.write("#ausA  {float:left;margin:5px;background-color:lightgrey;border:1px solid black;height:70px;width:70px;text-align:center}");
            client.write("#ausB  {float:left;margin:5px;background-color:lightgrey;border:1px solid black;height:70px;width:70px;text-align:center}");
            client.write("#ausC  {float:left;margin:5px;background-color:lightgrey;border:1px solid black;height:70px;width:70px;text-align:center}");
            client.write("#ausE  {float:left;margin:5px;background-color:lightgrey;border:1px solid black;height:70px;width:70px;text-align:center}");
            client.write("#ausAlle  {float:left;margin:5px;background-color:lightgrey;border:1px solid black;height:170px;width:120px;text-align:center}");
            client.write("</style></head><body>");
            client.write("<a href='C9' > <div style='font-family:Verdana; font-size:110%' id='ausAlle'>Alle Aus</div> </a> ");
            client.write("<a href='A1' > <div style='font-family:Verdana; font-size:110%' id='anA' >A <br>Kamin</div> </a>");
            client.write("<a href='B2'><div style='font-family:Verdana; font-size:110%'  id='anB'>B <br>Schrank Farbe</div> </a>");
            client.write("<a href='E8' > <div style='font-family:Verdana; font-size:110%' id='anE' >E <br>Schrank hell</div> </a>");
            client.write("<a href='C3' > <div style='font-family:Verdana; font-size:110%' id='anC' >C <br>Steh</div> </a><br><br><br><br><br>");
           client.write("<a href='A4' > <div style='font-family:Verdana; font-size:110%' id='ausA'>A </div> </a>");
            client.write("<a href='B5'><div style='font-family:Verdana; font-size:110%'  id='ausB'>B </div></a>");
            client.write("<a href='E7' > <div style='font-family:Verdana; font-size:110%' id='ausE'>E </div> </a>");
            client.write("<a href='C6' > <div style='font-family:Verdana; font-size:110%' id='ausC'>C </div> </a><br><br><br><br>");
            client.write("</body></html>");


          break;
        }
        if (c == '\n') {
       
          current_line_is_blank = true;
        }
        else if (c != '\r') {
   
          current_line_is_blank = false;
        }
      }
    }
    delay(1);
    client.stop();


   
    if (befehl == 4 ) {
      Serial.println("Sende Befehl 4 RF433 WZ 1 OFF");
      RemoteTransmitter::sendCode(7, 522451, 285, 3); //WZ B OFF
      delay(1000);
      RemoteTransmitter::sendCode(7, 522451, 285, 3); //WZ B OFF

    }


    if (befehl == 5 ) {
      Serial.println("Sende Befehl 5 RF433 WZ 2 OFF");
      RemoteTransmitter::sendCode(7, 523909, 285, 3); //WZ B OFF
      delay(1000);
      RemoteTransmitter::sendCode(7, 523909, 285, 3); //WZ B OFF

    }


    if (befehl == 6 ) {
      Serial.println("Sende Befehl 6 RF433 WZ 3 OFF");
      RemoteTransmitter::sendCode(7, 524395, 285, 3); //WZ B OFF
      delay(1000);
      RemoteTransmitter::sendCode(7, 524395, 285, 3); //WZ B OFF
    }

    if (befehl == 7 ) {
      Serial.println("Sende Befehl 7 RF433 WZ E OFF");
      RemoteTransmitter::sendCode(7, 266789, 188, 3); //WZ B OFF
      delay(1000);
      RemoteTransmitter::sendCode(7, 266789, 188, 3); //WZ B OFF
    }




    if (befehl == 1) {
      Serial.println("Sende Befehl 1 RF433 WZ 1 ON");
      RemoteTransmitter::sendCode(7, 522453, 285, 3); //WZ B ON
      delay(1000);
      RemoteTransmitter::sendCode(7, 522453, 285, 3); //WZ B ON
    }

    if (befehl == 2) {
      Serial.println("Sende Befehl 2 RF433 WZ 2 ON");
      RemoteTransmitter::sendCode(7, 523911, 285, 3); //WZ B ON
      delay(1000);
      RemoteTransmitter::sendCode(7, 523911, 285, 3); //WZ B ON
    }




    if (befehl == 3) {
      Serial.println("Sende Befehl 3 RF433 WZ 3 ON");
      RemoteTransmitter::sendCode(7, 524397, 285, 3); //WZ B ON
      delay(1000);
      RemoteTransmitter::sendCode(7, 524397, 285, 3); //WZ B ON

    }


    if (befehl == smiley-cool {
      Serial.println("Sende Befehl 8 RF433 WZ E ON");
      RemoteTransmitter::sendCode(7, 266793, 188, 3); //WZ B ON
      delay(1000);
      RemoteTransmitter::sendCode(7, 266793, 188, 3); //WZ B ON
    }





    if (befehl == 9) {
      Serial.println("Sende Befehl 4 RF433 WZ 1 OFF");
      RemoteTransmitter::sendCode(7, 522451, 285, 3); //WZ A OFF
      delay (1000);
      Serial.println("Sende Befehl 5 RF433 WZ 2 OFF");
      RemoteTransmitter::sendCode(7, 523909, 285, 3); //WZ B OFF
      delay (1000);
      Serial.println("Sende Befehl 6 RF433 WZ 3 OFF");
      RemoteTransmitter::sendCode(7, 524395, 285, 3); //WZ C OFF
      delay(1000);
      RemoteTransmitter::sendCode(7, 266789, 188, 3); //WZ B OFF
      delay(1000);
      RemoteTransmitter::sendCode(7, 522451, 285, 3); //WZ A OFF
      delay (1000);
      Serial.println("Sende Befehl 5 RF433 WZ 2 OFF");
      RemoteTransmitter::sendCode(7, 523909, 285, 3); //WZ B OFF
      delay (1000);
      Serial.println("Sende Befehl 6 RF433 WZ 3 OFF");
      RemoteTransmitter::sendCode(7, 524395, 285, 3); //WZ C OFF
      delay(1000);
      RemoteTransmitter::sendCode(7, 266789, 188, 3); //WZ B OFF

    }

  }

}















 





6  International / Deutsch / Re: Abfrage ob eine externe Spannung anliegt... on: February 16, 2013, 05:40:14 am
Strom durch die LED oder sogar mehrere. Anderseits ist das bei Anwendung wahrscheinlich nicht wichtig, oder?

Dein Anzeigeinstrument ist zwar schick, aber teuer!  smiley

Genau... auf die paar Sekunden kommt es nicht an.... es geht nur darum, ob der Druckschalter nicht einen Fehler hat. Das ist mir im Januar passiert, da hat sich wohl etwas Dreck verklemmt und der Druckschalter fing an zu pulsen....

Das "Anzeigeinstrument" ist für mich billig.... der Arduino steht im Haushaltsraum und dazwischen sind 10m.... die Kabel wären teuerer als die 120,00 € für das WLAN-Tablet.

Viele Grüße

Tom
7  International / Deutsch / Re: Abfrage ob eine externe Spannung anliegt... on: February 15, 2013, 11:30:32 am
Ich habe es dir mal skizziert.

Hallo Uwe, halle Gunter,

vielen Dank für Eure Hilfe und vielen Dank für die Skizze,

genau so habe ich es jetzt gemacht und es funktioniert.

Die 5V-Spannung fällt zwar nur langsam ab (trotz zusätzlicher LED - immer noch 3-4sec bis AnalogRead auf 0 ist) aber es geht...

So sieht es jetzt auf meinem "Überwachungstablet" am Kühlschrank aus..... grafisch muss ich noch einig arbeiten. Aber die Textanzeige "Pumpe An" und "Pumpe Aus" ist da....

Viele Grüße

Tom


8  International / Deutsch / Re: Abfrage ob eine externe Spannung anliegt... on: February 09, 2013, 03:04:51 pm
Hallo Uwe,

vielen Dank für den Tip... mit dem Widerstand habe ich nicht ganz verstanden.

Den Widerstand zwischen GND mit angeschlossenen Minus vom Steckernetzteil und AnalogIn mit den angeschlossenen +5V vom Steckernetzteil?

Danke!

VG Thomas
9  International / Deutsch / Abfrage ob eine externe Spannung anliegt... on: February 09, 2013, 10:33:35 am
Hallo zusammen,

ich möchte mit dem Arduino Mega erkennen ob eine Pumpe eingeschaltet ist.

Diese Pumpe wird über einen Druckschalter geschaltet - sobald der Wasserhahn aufgedreht wird fällt der Druck ab und die Pumpe wird eingeschaltet. Wird der Wasserhahn geschlossen erhöht sich der Druck und ab 1,5bar schaltet der Druckschalter ab.

Meine Idee war nun, ein 5V Steckernetzteil parallel zu der Pumpe an den Druckschalter zu klemmen.....

Somit: Pumpe bekommt 230V  = Steckernetzteil bekommt 230V = 5V am Ausgang des Steckernetzteil

Nur wie kann ich diese 5V an - am Arduino erkennen? Gibt es eine Möglichkeit das ohne ein Relais oder Transistorschaltung das zu realisieren?

Ich steh auf dem Schlauch..... sorry!

Vielen Dank!

Viele Grüße

Tom

PS: Wenn es nur mit einer Transistorschaltung geht würde - dann würde ich mich über einen Tip, welchen ich nehmen soll und wie der verdrahtet werden müsstet, sehr freuen.
10  International / Deutsch / Re: SainSmart 3.2" TFT Touch Screen LCD wieviel Kabel und wohin? on: February 09, 2013, 10:16:46 am
Danke für den Link....

die Seite mit dem Link zu:

hatte ich auch schon gesehen, aber mit dieser Verdrahtungsskizze komme ich nicht klar....

Gibt es vielleicht noch eine andere Skizze oder Plan dazu?

Das Shield soll dran bleiben, das stört mich nicht... ich brauche nur Zugang zu den Analog-/Digital-Pin´s.

Vielen Dank!

VG Tom
11  International / Deutsch / SainSmart 3.2" TFT Touch Screen LCD wieviel Kabel und wohin? on: January 31, 2013, 07:37:24 am
Hallo Experten,

ich muss gestehen, ich bin kein Freund von Schaltbildern und Datenblättern.... nicht weil ich es nicht will, sondern weil ich die Dinger einfach nicht so richtig verstehen.

Darf ich trotzdem um Eure Hilfe bitten?

Ich einen Mega 2560 und ein SainSmart 3.2" TFT Touch Screen LCD!

Wenn ich das Shield mit dem Display auf den Mega stecke und die Library von Hennig Karlsen UTFT +  UTFT-Touch verwende funktioniert das Ding wunderbar.....

Nun sind aber alle meine PIN verdeckt.... also kann ich keine Sensoren etc anschließen.....

Wenn ich aber mit Jumperkabel verdrahten möchte stehe ich vor der Aufgabe.... wohin welches Kabel.

Im Sketch steht z.B.
UTFT        myGLCD(ITDB32S, 38,39,40,41); 
UTouch      myTouch(6,5,4,3,2);

Die hab ich verdrahtet und zusätzlich noch GND +5V +3,3V etc.... (siehe Bild im  Anhang) aber nicht kommt an.... nur die Hintergrundbeleuchtung geht.

Hat jemand einen Tip für mich welche PIN ich alle verdrahten muss?


DANKE!

Vielen Dank!

Tom

 





12  International / Deutsch / Re: SainSmart Mega 2560 + EthernetShield - Zugriff auf SD Karte on: January 06, 2013, 11:20:57 am
Hallo Desert-Fox,

hab auch das Shield und den Mega im Einsatz... mein Code nutzt aber diese Basis aus der der SD-Lib:

Code:
#include <SD.h>
const int chipSelect = 4;

void setup()
{
 Serial.begin(9600);
 }


  Serial.print("Initializing SD card...");
  pinMode(10, OUTPUT);
 
  if (!SD.begin(chipSelect)) {
    Serial.println("Card failed, or not present");
    return;
  }
  Serial.println("card initialized.");
}

void loop()
{
  String dataString = "";

  for (int analogPin = 0; analogPin < 3; analogPin++) {
    int sensor = analogRead(analogPin);
    dataString += String(sensor);
    if (analogPin < 2) {
      dataString += ",";
    }
  }

  File dataFile = SD.open("datalog.txt", FILE_WRITE);

  if (dataFile) {
    dataFile.println(dataString);
    dataFile.close();
    Serial.println(dataString);
  } 
  else {
    Serial.println("error opening datalog.txt");
  }
}


Also auch auf dem Mega wird der PIN4 genutzt.

Viele Grüße

Tom
13  International / Deutsch / Re: Temperatur unter Wasser messen on: January 04, 2013, 06:44:53 am
Hallo Nils,

ich hab diese im Einsatz....


http://www.ebay.de/itm/High-Quality-Waterproof-Digital-Temperature-Temp-Sensor-Thermal-Probe-DS18B20-/400338132625?pt=LH_DefaultDomain_0&hash=item5d36031e91

wie schon gesagt: Etwas mehr Programmieraufwand.... aber genau und zuverlässig.

Am Mastersensor kommt noch ein Widerstand mit 4,7KOhm ran....

VG Tom
14  International / Deutsch / Re: 433 MHz Funkthermometer decodieren on: November 14, 2012, 03:42:19 am
Hallo zusammen,

hab mich auch mal an dem Script versucht....

Code:
#define _Whole_Data_length    116
int pin = 2;
byte tempten;
byte tempone;
byte tempcom;
byte humiten;
byte humione;
byte valuepos=0;
byte bitpos=0;
byte bitcounter=1;
byte array_pos=0;
unsigned long duration;
int whole_array[_Whole_Data_length];   

void setup()
{
  pinMode(pin, INPUT);
    Serial.begin(9600);
    Serial.println("Give it to me...");
    delay(2000);
}

void loop()
{
  duration = pulseIn(pin, HIGH);
  if ((duration>600)&&(duration<1000)) {
    whole_array[array_pos] = 1;   
    array_pos++;
  }
  if ((duration>1200)&&(duration<4000)){
    whole_array[array_pos] = 0;   
    array_pos++;
  }
 
  if (array_pos>=_Whole_Data_length) {
        for (int valuepos=22;valuepos<=25;valuepos++) {
          bitWrite(tempten, bitpos, whole_array[valuepos]);
          bitpos++;
        }
        bitpos=0;
 
        for (int valuepos=26;valuepos<=29;valuepos++) {
          bitWrite(tempone, bitpos, whole_array[valuepos]);
          bitpos++;
        }
        bitpos=0;

        for (int valuepos=30;valuepos<=33;valuepos++) {
          bitWrite(tempcom, bitpos, whole_array[valuepos]);
          bitpos++;
        }
        bitpos=0;

        for (int valuepos=34;valuepos<=37;valuepos++) {
          bitWrite(humiten, bitpos, whole_array[valuepos]);
          bitpos++;
        }
        bitpos=0;       

        for (int valuepos=38;valuepos<=41;valuepos++) {
          bitWrite(humione, bitpos, whole_array[valuepos]);
          bitpos++;
        }
        bitpos=0;       

        Serial.print("Es sind ");   
        Serial.print(tempcom,DEC);   
        Serial.print(tempone,DEC);
        Serial.print(",");
        Serial.print(tempten,DEC);
        Serial.print(" Grad Celsius bei ");
        Serial.print(humione,DEC);   
        Serial.print(humiten,DEC);
        Serial.println(" Prozent Feutigkeit.");       
        array_pos=0;
  }
}


Nur sieht der SM nicht so toll aus:

Code:
Es sind 118,12 Grad Celsius bei 31 Prozent Feutigkeit.
Es sind 30,3 Grad Celsius bei 47 Prozent Feutigkeit.
Es sind 156,7 Grad Celsius bei 1114 Prozent Feutigkeit.
Es sind 107,0 Grad Celsius bei 69 Prozent Feutigkeit.
Es sind 27,5 Grad Celsius bei 35 Prozent Feutigkeit.
Es sind 100,10 Grad Celsius bei 08 Prozent Feutigkeit.
Es sind 1213,14 Grad Celsius bei 129 Prozent Feutigkeit.
Es sind 1214,7 Grad Celsius bei 711 Prozent Feutigkeit.
Es sind 713,15 Grad Celsius bei 1315 Prozent Feutigkeit.
Es sind 1513,10 Grad Celsius bei 612 Prozent Feutigkeit.
Es sind 88,12 Grad Celsius bei 58 Prozent Feutigkeit.
Es sind 410,6 Grad Celsius bei 67 Prozent Feutigkeit.
Es sind 78,5 Grad Celsius bei 410 Prozent Feutigkeit.
Es sind 133,5 Grad Celsius bei 120 Prozent Feutigkeit.
Es sind 84,8 Grad Celsius bei 92 Prozent Feutigkeit.
Es sind 1314,1 Grad Celsius bei 1515 Prozent Feutigkeit.
Es sind 118,3 Grad Celsius bei 815 Prozent Feutigkeit.
Es sind 63,1 Grad Celsius bei 153 Prozent Feutigkeit.
Es sind 915,2 Grad Celsius bei 133 Prozent Feutigkeit.

Ist das nur rauschen?

Danke und viele Grüße

Tom
15  International / Deutsch / Re: Serial 9600-7E1 lesbar machen on: November 11, 2012, 02:14:41 pm
@ Gerd: Vielen Dank für den Link, das ist mir leider ein weinig zu schwierig..... soweit bin ich noch nicht.... (leider)

@ Pylon:so einfach - hätte ich nicht gedacht!!!

Danke!!!

VG Tom
Pages: [1] 2