- Linux kezdőknek
- Több stúdiót is bezár költségcsökkentésként a Microsoft Xbox részlege
- Hálózati / IP kamera
- Windows 11
- Reklámblokkolók topikja
- Milyen program, ami...?
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- DIGI kábel TV
- ASUS routerek
-
IT café
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
nagyúr
válasz vidékiürge #14800 üzenetére
Szia!
"a PC hangbementén felvenni a receiver segítségével a küldött jelet (jeleket). Így mindent megtudtam a jelről"
Hát engem meglepne, hogyha egy PC hangbemenet segítségével mindent megtudtál volna.
Pontosan mi az, amit megtudtál, és az arduinoval miért nem sikerült? -
nagyúr
válasz vidékiürge #14802 üzenetére
Library nélkül próbáld meg, bitbang alapon, "kézzel" kapcsolgatni a jelet. A probléma esetleg az is lehet, hogy te egyszerű soros kommunikációként fejtetted meg a jeleket, de nekem inkább hasonlít valamilyen IR protokollra, pl. [link] (biztos nem ez, csak példának írtam), is lehet, hogy a byte értékeket vissza tudtad fejteni, de a küldő library nem biztos, hogy olyan protollon küldi vissza. Össze kéne hasonlítani a kimenő jelet a képen láthatóval, tudsz arról is ilyet csinálni?
-
nagyúr
válasz vidékiürge #14802 üzenetére
Egy jó fél óra nyomozás után csak annyit tudtam kideríteni erről a protokollról, hogy vmi egyedi, PWM alapú protokoll, [link] tehát az adó részét neked kell megírni, ahogy mondtam, egy sor digitalWrite() + delayMicroseconds() segítségével.
-
its_grandpa
tag
válasz vidékiürge #14802 üzenetére
Én egy RXB6-al + UNO simán veszem a jelet az rc-switch examples könyvtárában található ReceiveDemo_..... bármelyik . ino-val.
Adni még nem próbáltam de elvileg mennie kéne.
Wiring biztos OK ? -
nagyúr
válasz vidékiürge #14810 üzenetére
Már csak azért sem hiszem, hogy ezzel a library-vel sikerülni fog, mert nincs benne az a protokoll, ami ide kellene. A leghosszabb impulzus se éri el az 1ms-t.
* "0" bit: waveform for a data bit of value "0", {1, 3} means 1 high pulse
* and 3 low pulses, total length (1+3)*pulselength, i.e:
* _
* | |___
* "1" bit: waveform for a data bit of value "1", e.g. {3,1}:
* ___
* | |_
*A te mérésed alapján viszont inkább 1:2 és 2:1 a két bit aránya.
[ Szerkesztve ]
-
nagyúr
válasz vidékiürge #14810 üzenetére
Tessék egy library, ami szerintem működni fog.
void start(){
digitalWrite(outPin, HIGH);
delay(5);
digitalWrite(outPin, LOW);
delay(1);
}
void stop(){
digitalWrite(outPin, LOW);
delay(7);
}
void l(){ //hosszú magas jelszint
digitalWrite(outPin, HIGH);
delayMicroseconds(666);
digitalWrite(outPin, LOW);
delayMicroseconds(333);
}
void s(){ // rövid magas jelszint
digitalWrite(outPin, HIGH);
delayMicroseconds(333);
digitalWrite(outPin, LOW);
delayMicroseconds(666);
}A küldés pedig:
start ();
l(); l(); s(); s(); ...
stop();[ Szerkesztve ]
-
nagyúr
válasz vidékiürge #14816 üzenetére
-
PeterPH
senior tag
válasz vidékiürge #14816 üzenetére
Valami ilyennel azért kompaktabb lenne a kód:
sendcode(const char* sCodeString)
{
start ();
for (const char* p = sCodeString; *p; p++)
{
if (*p == '0') s();
else if (*p == '1') l();
}
stop();
}
és akkor már hívogathanád a sendcode-t:sendcode("0001010011001011011001100000000000110011");
Új hozzászólás Aktív témák
- ThinkPad (NEM IdeaPad)
- Ezek a OnePlus 12 és 12R európai árai
- VR topik (Oculus Rift, stb.)
- Hunt: Showdown
- Linux kezdőknek
- Politika
- A vártnál kevesebb iPad Pro fogyhat
- Kormányok / autós szimulátorok topicja
- Két új verzióban érhető el két Huawei okosóra
- Melyik tápegységet vegyem?
- További aktív témák...
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest