Pages: [1] 2 3   Go Down
Author Topic: Verstehe ich PulseIn richtig?  (Read 4211 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Sr. Member
****
Karma: 5
Posts: 342
A SWL life as a coder... I'll try.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Moin,

ich versuche gerade meine 433 MHz Funksteckdose zu knacken. Leider passt sie nicht in die RCSwitch Library smiley-sad Daher will ich die Pulse selbst messen. Frage: wenn duration=PulseIn(xxx) einen Wert 1200 ausgibtm ist das dann in µ-Sekunden? Sind das dann 1,2 Millisekunden?

Logged


Germany, Osnabrück
Offline Offline
God Member
*****
Karma: 30
Posts: 658
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Laut Dokumentation sind das Microsekunden

Arbeitsbereich dieser Funktion
Zitat: "10 microseconds to 3 minutes in length"

http://arduino.cc/en/Reference/PulseIn
Logged

Forum Moderator
BZ (I)
Online Online
Brattain Member
*****
Karma: 270
Posts: 21857
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

PulseIn mißt aber nur den Positiven Impuls oder die Länge der Pause.
PulseIn ist nicht geeignet um die Puls und Pausen-Längen einer Sequenz von Impulsen und Pausen verschiedener Längen zu messen.
Da ist es einfacher den Eingang einer Soundkarte mit dem richtigen programm als Speicheroszilloskop zu mißbrauchen.

Viele Grüße Uwe
Logged

Hamburg, Germany
Offline Offline
Full Member
***
Karma: 3
Posts: 192
Hello world!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Was sind denn das für Steckdosen (ich würde die Library gerne erweitern...)? Spuckt das ReceiveDemo Example Sketch aus der Library irgendetwas aus?

Wenn Du kein Oszi hast, hier die Version für ganz arme smiley-wink

Folgendes Sketch liest fortlaufend die Zeitabstände von 500 Changes auf Interrupt 0 (Pin2) aus und spuckt sie seriell aus. Unter http://test.sui.li/oszi/ kannst Du die ausgegebene Liste eintragen und bekommst das Ergebnis einigermaßen hübsch dargestellt. Sieht dann ungefähr so aus:


Code:
#define maxChanges 500

unsigned int changeCount;
unsigned int timings[maxChanges];
unsigned long lastTime;
int nStartValue;

void setup() {
  Serial.begin(9600);
 
  lastTime = micros();
  changeCount = 0;
 
  attachInterrupt(0, r, CHANGE);
}

void loop() {
 
}

void output() {

}

void r() {
  long time = micros();
  if (changeCount ==1) {
    nStartValue = digitalRead(2) ;
  }
  timings[changeCount++] = time - lastTime;
  lastTime = time;
  if (changeCount-1 >= maxChanges) {
    if (nStartValue == 0) {
      Serial.print(1); Serial.print(',');
    }
    for (int i = 1; i<changeCount-1; i++) {
      Serial.print(timings[i]);
      Serial.print(",");
    }
    Serial.println();
    Serial.println();
    changeCount = 0;
  }
}

Logged


0
Offline Offline
Sr. Member
****
Karma: 5
Posts: 342
A SWL life as a coder... I'll try.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi sui,

das wäre mal ein super Angebot von Dir. Es sind Schalter von Quigg. Sie heßne GT-7008AS und können codes lernen:

http://shop.zeitlos-vertrieb.de/Multimedia/Funksteckdosen/Funksteckdosenset-GT-7008A/

Ich habe die Signalfolgen aus der Mega32_Steckdosen.rar Datei von

http://www.mikrocontroller.net/topic/121567

mal in Arduino eingehackt. Dann habe ich das ganze mit dem 433 MHz Sender von Big C


http://www.conrad.de/ce/de/product/130428/SENDE-EMPFAeNGERMODULSET-433MHZ

gesendet. Wenn ich eine Quigg Steckdosen mit diesen beiden An/Aus Codes anlerne, dann kann ich eine damit schalten.

Ich habe aber noch drei weitere Dosen... Die habe ich nicht mit einem anderen Code belernen können, da ich die Systematik noch nicht kapiert habe. Daher wäre eine Erweiterung der Lib genial!

« Last Edit: September 17, 2011, 02:13:28 am by DE8MSH » Logged


0
Offline Offline
Sr. Member
****
Karma: 5
Posts: 342
A SWL life as a coder... I'll try.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

sui,

auf so ein Analysesketch habe ich schon eweig gewartet!!! Der hätte uns damals beim Reversen des 433 MHz Thermometers galube gut unterstützt smiley

Hier die Codes:

Dose 1 an:


Dose 1 aus:


Dose 2 an:


Dose 2 aus:




« Last Edit: September 17, 2011, 02:36:34 am by DE8MSH » Logged


0
Offline Offline
Sr. Member
****
Karma: 5
Posts: 342
A SWL life as a coder... I'll try.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Laut Dokumentation sind das Microsekunden

Arbeitsbereich dieser Funktion
Zitat: "10 microseconds to 3 minutes in length"

http://arduino.cc/en/Reference/PulseIn

Um mich Topicrelevant zu bendanken bedanke ich mich bei Dir, Jomelo, .......
Logged


0
Offline Offline
Sr. Member
****
Karma: 5
Posts: 342
A SWL life as a coder... I'll try.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

PulseIn mißt aber nur den Positiven Impuls oder die Länge der Pause.
PulseIn ist nicht geeignet um die Puls und Pausen-Längen einer Sequenz von Impulsen und Pausen verschiedener Längen zu messen.
Da ist es einfacher den Eingang einer Soundkarte mit dem richtigen programm als Speicheroszilloskop zu mißbrauchen.

Viele Grüße Uwe


..... und natürlich auch bei Dir, Uwe! smiley Das war ja Ursprünglich meine Frage.
Logged


Hamburg, Germany
Offline Offline
Full Member
***
Karma: 3
Posts: 192
Hello world!
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hier die Codes:

2an und 2aus sehen absolut gleich aus smiley-wink

Ich wollte gerade schon sagen es sei Manchester Code, weil da nur zwei verschiedene Längen mit "1*lang" so lang wie "2*kurz" ist... aber irgendwie kommt das ohne Flanke bei den ?? nicht hin, oder?



Werd' nacher mal weiterknobeln...
Logged


Forum Moderator
BZ (I)
Online Online
Brattain Member
*****
Karma: 270
Posts: 21857
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Wenn der Coder/Decoder die Bausteine HX2262/HX2272 sind dann hätte ich da eine Idee.

Der HX2262 (und kompatible) arbeitet nicht mit einer binären Logik sondern mit einer tertiären. Die Eingänge können H,L und nicht beschaltet (float) sein, also 3 Zustände haben.
Meist verwendet man nur 2 Eingangspegel aber es sind 3 möglich.

laut http://www.princeton.com.tw/downloadprocess/downloadfile.asp?mydownload=PT2262_1.pdf werden die Bits aber andes decodiert:

Jedes Bit besteht aus 2 Impulsen. Die Periodendauer eines Bits (also 2 Impulse) ist 32 Oszilatorschwingungen des 2262 lang.

Die Zahl gibt die Zeit in Oszilatorperioden an:
Bit 0 besteht aus     : 4H, 12L, 4H, 12L
Bit 1 besteht aus     : 12H, 4L, 12H, 4L
Bit float besteht aus: 4H, 12L, 12H, 4L

Im Endefekt ist die Dauer der Impulse bzw Pausen 1 oder 3 mal 4 Oszillatoperioden lang (lang ist 3*kurz).
Das stimmt aber auch wieder nicht mit der Aufzeichnung zusammen.
Meine Idee bringt auch keinen Durchbruch.

Grüße Uwe
« Last Edit: September 17, 2011, 03:30:16 pm by uwefed » Logged

0
Offline Offline
Sr. Member
****
Karma: 5
Posts: 342
A SWL life as a coder... I'll try.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi Leute,

hier nochmal neue Daten:

2 an:


2 aus:


3 an:


3 aus:


Das 2x gleiche "2er" vorhin habe ich wohl doppelt geupped smiley-wink
« Last Edit: September 17, 2011, 03:28:35 pm by DE8MSH » Logged


Forum Moderator
BZ (I)
Online Online
Brattain Member
*****
Karma: 270
Posts: 21857
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@DE8MSH Kannst Du die Fernsteuerung / Steckdose öffnen und nachsehen welches IC darin ist?
Viele Grüße Uwe
Logged

0
Offline Offline
Sr. Member
****
Karma: 5
Posts: 342
A SWL life as a coder... I'll try.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Wenn der Coder/Decoder die Bausteine HX2262/HX2272 sind dann hätte ich da eine Idee.


Hi Uwe,

das dumme ist, dass in dem Geber kein großer IC gelötet ist, sondern alles in einer schwarzen Perle versteckt ist.

EDIT: Und die doesen bekomme ich auch nicht auf, da sie so dreieckige Schrauben haben smiley-sad

« Last Edit: September 17, 2011, 03:45:33 pm by DE8MSH » Logged


Forum Moderator
BZ (I)
Online Online
Brattain Member
*****
Karma: 270
Posts: 21857
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ja, das macht das etwas schwieriger.

Mir Geber meinst Du die Fernsteuerung?

Grüße Uwe
Logged

0
Offline Offline
Sr. Member
****
Karma: 5
Posts: 342
A SWL life as a coder... I'll try.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ja, mit Geber meine ich immer die Fernbedienung smiley-wink Alter Radio- und Fernsehtechniker-Slang. Habe die Dose doch mit einem schmalen Schlitzschraubenzieher aufbekommen. Leider auch kein Chip drinnen. Nur eine Perle.
Logged


Pages: [1] 2 3   Go Up
Jump to: