• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Odbiornik do sygnalizatorów fischtronic (videotronic nova)
#21
To tak jestem uparty, z ta zmiana częstotliwości  nano nie ogarniam.(morze kiedyś znajdę dobry poradni )
Lecz po dwóch dniach użytkowania bateryjki nie dają rady szkoda zasięg spada do 1 metra( w zależności od piszczałki )
Ale ja jestem osioł uparty zakupiłem ATTINY85  i pomyślałem zrezygnować z biblioteki całkowicie.
No i rozkmina poszłem do przodu i znowu do tyłu....
Kod:
int code_vcr1[]={1,1,2,0,2,0,0,0,1};///////
int code_vcr2[]={1,1,2,0,2,0,0,1,0};//////ten uzywam testowo
int code_vcr3[]={1,1,2,0,2,0,1,0,0};/////Podac kody odbiornikow
int code_vcr4[]={1,1,2,0,2,1,0,0,0};///
int code_alar[]={1,1,2,0,2,0,0,0,0};//
/////////////////////////////////////
int code[]={0,0,0,0,0,0,0,0,0}; //// Wygenerowac to z 18 bitow i porownac z kodami odbiornikow
///////////////////////////////////
int binaryh[17];                 //18 bitow H do wygenerowania code
//////////////////////////////////
unsigned long staryczas = 0;   //
unsigned long nowyczas  = 0;  /////micros do synchronizacji
unsigned long czassynch = 14500;//
/////////////////////////////////
unsigned long czas_hig = 0; // Odczytane czasy twania wysokiego stanu
/////////////////////////////
void setup() {
Serial.begin(9600);
pinMode(2, INPUT);
}
void loop() {
 
synchronizacja();
odczyt();
}
////////////////////////////////////////////////////
void synchronizacja(void){
if (digitalRead(2)==HIGH) {
staryczas = micros();
}
if (digitalRead(2)==LOW) { 
nowyczas = micros();
}
}
//////////////////////////////////////////////////
void odczyt (void) {
if (nowyczas>=staryczas+czassynch){
for (int B=0;B<=17;B++){
czas_hig=pulseIn(2,LOW);
Serial.print(czas_hig);
Serial.print(",");
}
Serial.println("");
}
}
 
Przy odczycie kiedy jest :
  czas_hig=pulseIn(2,LOW);
jest prawie zajebiście wygląda to tak:


Kod:
279,282,283,276,279,1861,1868,1861,280,1861,1859,1861,1859,1858,284,285,1861,14507,
278,280,281,275,278,1858,1859,1861,280,1858,1859,1857,1858,1855,284,285,1865,14506,
280,281,283,271,275,1864,1863,1863,287,1860,1860,1859,1859,1864,284,282,1860,14504,
278,280,275,270,270,1859,1859,1857,283,1858,1857,1862,1862,1857,275,280,1857,14499,
276,278,279,278,279,1861,1861,1860,286,1861,1867,1864,1858,1859,279,285,1859,14493,
271,275,281,275,277,1857,1857,1857,283,1865,1858,1856,1855,1855,280,283,1857,14489,
281,282,284,277,280,1859,1858,1863,284,1860,1859,1857,1856,1856,282,283,1858,14487,
278,281,282,276,276,1857,1864,1863,277,1857,1857,1855,1856,1857,281,287,1859,14493,
279,281,283,276,280,1866,1862,1858,279,1859,1857,1856,1856,1856,283,285,1863,14491,
279,281,281,277,276,1861,1857,1857,278,1856,1856,1856,1855,1855,281,283,1863,14489,
279,283,283,275,281,1857,1858,1857,283,1859,1856,1857,1854,1855,283,283,1858,14489,
278,279,280,277,272,1858,1858,1855,282,1857,1856,1858,1854,1855,283,283,1855,14488,
279,280,284,269,270,1858,1858,1855,284,1860,1856,1855,1855,1861,283,279,1858,14487,
gdy odczytuje czasy stanów  niskich ostatni czas jest długi a ja bym chciał go mieć w zakresie 1855 no można by skopiować 17 czas do 18 bo ostatnie 8 czasów  /2 = 4 bity są 2 stanowe
no ale wolał bym  lepiej.......

   

Moja myśl lepiej zapisać czasy wierzchołków ( coś nie do końca wypala)
Po zmianie linii z low na high:
czas_hig=pulseIn(2,HIGH); 
Kod:
1826,1824,1823,1820,1821,1819,243,1821,251,251,1829,252,1831,1824,1822,1821,241,241,
239,248,252,1819,1828,1825,1822,1818,1816,246,1825,241,241,1823,246,1820,1826,1833,
1830,249,247,249,245,245,1825,1830,1830,1834,1832,1825,251,1820,250,245,1819,244,
1832,1822,1821,1821,247,247,249,249,235,1815,244,1820,1817,1816,1816,240,245,236,
239,1826,240,1822,1821,1819,1819,1817,241,241,248,250,1827,246,1824,1822,1821,1820,
1823,1821,1821,1819,1817,238,243,242,1832,247,248,249,247,248,1817,1818,247,1821,
1816,1819,1827,243,240,247,250,251,1817,1838,1830,1828,1828,1821,249,1820,245,251,
1838,1838,1820,1820,1817,249,250,251,243,242,245,1818,1821,1827,1822,1816,1816,246,
1821,1820,1827,1823,1818,247,248,242,1818,240,242,235,245,243,1831,247,1823,1821,
1820,1825,242,1819,249,249,1822,250,1825,1822,1823,1820,239,248,1824,250,247,1817,
1821,1821,1819,1817,1824,248,1823,246,250,1817,243,1821,1828,1827,1825,240,248,250,
250,1820,248,1830,1827,1829,1819,1819,244,1825,252,253,1820,241,1826,1821,1819,1819,
242,1818,249,240,1816,248,1827,1820,1817,1817,1816,247,231,240,242,1825,248,1829,
1827,1820,1819,241,1820,237,249,1834,250,1824,1829,1829,1821,1819,242,250,244,245,

Nie odzwierciedla czasów wierzchołków (gdyby się to udało myślę ze nie było by problemu już zamienić na zera i jedynki .
jakaś różnica występuje przy dwóch podobnych  funkcjach(liczę na pomoc bo próbowałem blokować i analizować i lipa
plan zamontować  ATTINY85 +  Najprostsze zasilanie +( kolega ma drukarkę ma ogarnąć koszyk na akumulatory doklejany pod spód na nakrętka a miejsce na baterie pójdzie elektronika)
 
Odpowiedź
  


Wiadomości w tym wątku
RE: Odbiornik do sygnalizatorów fischtronic (videotronic nova) - przez Dzimi87 - 14-10-2022, 12:12

Skocz do:


Przeglądający: 1 gości