• 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 IR RE3265R1000 (którym chciałbym zastąpić Arduinem)
#31
Finał może więc być taki? (z jednym przyciskiem)
Kod:
#include <avr/pgmspace.h>
 const int klawisz[1] PROGMEM = {
   0b11111111111111111111101000000101
   };

void setup() {
 Serial.begin(9600);
 Serial.write(klawisz[1]);
 Serial.flush();
 Serial.println(klawisz[1]);
 Serial.end();
}
void loop() {
}

...pracuje nad innym ...
 
Odpowiedź
#32
zrobiłem tak:

Kod:
#include <avr/pgmspace.h>
 const int klawisz[1] PROGMEM = {
   0b11111111111111111111101000000101
   };
   
bool running = false;    

void setup() {
 Serial.begin(9600);
}
void loop() {
 
 if(running==false){
   delay(600);
   Serial.write(klawisz[1]);
   Serial.flush();
   Serial.print(klawisz[1]);
   Serial.end();
   running=true;
   }
}


jednak na monitorze szeregowym wypisuje mi jedno '0' - czy to jest poprawnie?
 
Odpowiedź
#33
po wpisaniu tej wartości '0b11111111111111111111101000000101' bezpośrednio do serial.write itd, otrzymałem w porcie szeregowym: 4294965765 .

jak wpisałem parametr BIN do print, to tak, wyszło ok ('11111111111111111111101000000101') w przypadku bezpośredniego wpisania do funkcji wartości... a przy wpisaniu wartości z tablicy: znowu '0'...

czyli, nie odczytuje poprawnie tablicy? czemu?

Na moje potrzeby - jeden klawisz - wystarczy to rozwiązanie, ale wolałbym zrobić bardziej elegancko i uniwersalnie, tak jak zaproponował Robson Kerman... a w loop nie czyta wartości tablicy nr 1 ... może ktoś wie czemu?

podczas przeglądania wpisów zauważyłem takie coś wypisane:
Cytat:C:\Users\Leslaw K\Documents\Arduino\wlacz_TV\wlacz_TV.ino:4:5: warning: narrowing conversion of '4294965765ul' from 'long unsigned int' to 'const int' inside { } [-Wnarrowing]

     };

     ^

C:\Users\Leslaw K\Documents\Arduino\wlacz_TV\wlacz_TV.ino:4:5: warning: overflow in implicit constant conversion [-Woverflow]


Zmieniłem typ tablicy na:
Kod:
const long unsigned int klawisz[1] PROGMEM = {
   0b11111111111111111111101000000101
   };

tego 'błędu' nie ma, ale na szeregowym monit. nadal drukuje '0'....
 
Odpowiedź
#34
Jest więc na razie tak:
Kod:
#include <avr/pgmspace.h>
/*
const long unsigned int klawisze[1] PROGMEM = {
   0b11111111111111111111101000000101
   };
*/
   
bool running = false;  

void setup() {
 Serial.begin(9600);
}
void loop() {
 //klawisze[1]
 if(running==false){
   //klawisze[1]
   delay(600);
   Serial.write(0b11111111111111111111101000000101);
   //Serial.flush();
   Serial.print(0b11111111111111111111101000000101, BIN);
   Serial.end();
   running=true;
   }
}

ale ten skrypt nie wzbudza monitora, może trzeba powtórzyć sygnał?
 
Odpowiedź
#35
Podpiąłem sam czujnik pod te 3 wytypowane kabelki i ok, pilot włączył monitor, czyli wykluczyłem ten problem, że są złe kabelki...

czyli problem w przekazywanych danych (kodzie?), wysyłam po TX (na próbę próbowałem i RX)...
wcześniejsze odczytywanie kodów pilota sugerowało, że power wysyła tylko jeden kod...
nic nie zmieniało podwójne kliknięcie i dłuższe, najwyżej dawało pusty sygnał... (jak się domyślam, taż miał kod dla każdego przycisku ten sam)
 
Odpowiedź
#36
Napisałem że:
Chcąc wysłać to po kabelku do TV, wystarczy napisać:
Kod:
Kod:
Serial.write(klawisz[1]);

No ale przecież, ta biblioteka dekoduje nam ramkę tak jak to się dzieje w zwykłym odbiorniku IR, więc wysyłając to do TV, raczej nic nie zdziałamy bo TV oczekuje sygnału zakodowanego.
Biblioteka zawiera kilka ciekawych metod.
Rozpoznaje typ kodu, NEC, Sony, Panasonic, JVC, RC5 i RC6.
Ma zaimplementowaną obsługę bufora, rozpoznaje repeat przycisku, więc jest nieźle.
I co najważniejsze, wysyła zapisany bufor na wyjście w każdym z powyższych kodów, lub w RAW.

Właśnie siedzę nad tym i testuję, jest obiecująco, więc niebawem się odezwę.
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
#37
Co racja, to racja...
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości