TV-B-Gone Dauerdurchlauf

OP #1877424
Lesenswert?

Hey,

Vielleicht kennt ja jemand von euch die TV-B-Gone Fernbedienung von 
LadyAda..

Ich habe mir die v1.2 nachgebaut und habe mich mal gefragt, ob es 
mögliche wäre mit einem Jumper den Code im Dauerdurchlauf laufen zu 
lassen. Wenn der Kontakt vom Jumper geschlossen wird, soll der Code im 
Dauerdurchlauf gesendet werden, wenn der Kontakt aber offen ist, soll 
das ganze normal mit dem Schalter funktionieren.

Nun zu meiner Frage, wie lässt sich das ganze realisieren? Ich habe 
bisher das ganze nur mit einem Jumper zwischen RST und GND versucht, hat 
aber leider nicht funktioniert, oder muss ich den Code dazu ertwas 
ändern?

Hat jemand eine Idee, wie sich das ganze verwirklichen lässt?

Gruß Jonas
OP #1877475
Lesenswert?

Ein Jumper ist ein kleines Stück Metall in Plastik, dass zb zwei 
Stiftleisten verbindet.

Jap, dass habe ich dann auch gemerkt.

Ich würde einfach gerne, sobald der Code ausgelaufen ist und der Jumper 
den Konatkt geschlossen hält soll der Code wieder ausgeführt werden. Ist 
der Kontakt aber offen so kann nur manuell der Code wieder ausgeführt 
werden.
#1877495
Lesenswert?

Dazu müsste man sich jetzt den Code ansehen, wie er geschrieben ist.
Ist er schlampig geschrieben, könnte es schon reichen parallel zum 
Taster einfach einen Schiebeschalter (oder einen Jumper) zu schalten. 
Ist er überbrückt simuliert er Dauerbetätigung des Tasters. Wenn die 
Software das als 'mach weiter' interpretiert, hast du schon gewonnen.
Gast #1877555
Lesenswert?

Ist doch drinn, der Loop, ich verstehe es nicht!
Du verwendest doch Version 1.2, oder?
Dann beschäftige Dich bitte nochmal damit
http://www.ladyada.net/make/tvbgone/download.html
1
Files for v1.2 
2
Here are the hardware and firmware files for v1.2, distributed under Creative Commons 2.5 Attribution, Share-Alike
3

4
•Schematic and Layout files in Eagle format
5
•Schematic in PNG
6
•Firmware for AVR-GCC
7
Caitsith modded the v1.2 firmware to support 'looping' if its set to US or EU only, check it out

1
  // determine region
2
#ifdef WORLD
3
  if (PINB & _BV(REGIONSWITCH)) { //Region switch determines which region to use. Loop is hardcoded.
4
    region = US; // US
5
    DEBUGP(putstring_nl("US"));
6
  } else {
7
    region = EU;
8
    DEBUGP(putstring_nl("EU"));
9
  }
10
#else
11
  if (PINB & _BV(REGIONSWITCH)) { //Region switch determines whether to loop or not, region is hardcoded.
12
    Loop = 0;
13
  } else {
14
    Loop = 1;
15
  }
16
  #ifdef US_CODES
17
    region = US; // US
18
    DEBUGP(putstring_nl("US"));
19
  #else
20
    region = EU;
21
    DEBUGP(putstring_nl("EU"));
22
  #endif
23
#endif

und später in main() am Ende
1
  } while (Loop == 1);
Gast #1878240
Lesenswert?

Hast Du Dir den Quellcode mal angesehen?
Kannst Du zwischen US-Code und EU-Code umschalten?
Hast Du einen Widerstand am PIN PB1?
Ist WORLD = 1 gesetzt?
Ist im Makefile NA-Code = 1 gesetzt?
Ist EU_CODE gesetzt?

NEIN!, Was steht im Makefile?
1
# Target file name (without extension).
2
TARGET = tvbgone
3
#NA_CODE = 1

Da ist eine Raute davor, also kein "NA_CODE = 1" . Das wiederum heisst, 
das der Pulldowm am PB1 nicht zwischen EU und AMILAND umschaltet, 
sondern zwischen Einzel- und Dauerfeuer.

Konnte man das nicht aus meinem Post oben herauslesen oder denke ich nur 
wieder mal so quer? Dann sorry.

Wenn Du also den CAITSITH Mod der V1.2 geflashed hast, musst Du Pin B1 
auf Masse legen, damit Du Dauerfeuer hast.
Zeile 266:
1
do {  //Execute the code at least once.  If Loop is on, execute forever.

>

>Muss ich jetzt den Code modifiziern oder geht das ganze auch nur mit
>Hardware und ohne Timer?

Nichts von alledem, PB1 beim Start mindestens 5ms an GND.


@all

Ist das wirklich soo schwer? Was ist ein "Arduino" und warum muss man 
daher nichts mit Code und der Sprache am Hut haben? Was muss man denn 
dann mit einem "Arduino" machen, wenn nicht programmieren?

Man, ich kenn mich doch auch nicht soo doll aus.
GEschweige, das ich das Projekt schonmal compiliert habe. Aber das sieht 
man doch, was die hier mit dem TV-BE-GONE Dingens machen. Bin ich der 
einzige, was seht ihr? Auf welchen Schwierigkeitsgrad stuft ihr das ein?

Ich finds jedenfalls blöd, das immer mehr nur irgentwas nachbauen, ohen 
auch nur das geringste Interesse an der Sache zu zeigen.

Axelr.
#1878369
Lesenswert?

Axel Rühl schrieb:

> @all
>
> Ist das wirklich soo schwer?

Ernsthafte Antwort?

Nein. WEnn man das schon mal gemacht hat, ist es eine Sache auf 2 
Minuten.

> Was ist ein "Arduino" und warum muss man
> daher nichts mit Code und der Sprache am Hut haben?

Sprache stimmt so nicht. Auch für den Arduino schreibt man Programme. 
Sieht sogar sehr ähnlich wie C aus.

Ansonsten ist ein Arduino eine Kombination aus definierter Hardware und 
einem Programmiersystem, gedacht für Leute die sonst nichts mit 
Programmierung am Hut haben. Künstler, etc ...

> man doch, was die hier mit dem TV-BE-GONE Dingens machen. Bin ich der
> einzige, was seht ihr? Auf welchen Schwierigkeitsgrad stuft ihr das ein?

Um ehrlich zu sein, tendiere ich immer mehr dazu, mich aus den Threads 
rauszuhalten, bei denen es im Wesentlichen darum geht, dass wieder mal 
jemand Wollen mit Können verwechselt. Wenns möglicherweise eine einfache 
Möglichkeit gibt, die übersehen wurde, geb ich mal meinen Senf dazu. 
Aber ansonsten lass ich es.

Ich will auch vieles. Aber wenn ich es nicht kann, dann hab ich nur 2 
Möglichkeiten: darauf verzichten oder lernen.

> Ich finds jedenfalls blöd, das immer mehr nur irgentwas nachbauen, ohen
> auch nur das geringste Interesse an der Sache zu zeigen.

Du sagst es.


(Und tschüss in diesem Thread. Ich bleib meiner Maxime treu)
OP #1879052
Lesenswert?

Natürlich habt ihr recht und ich führe mich hier so auf, aber ich weiß 
halt nicht wie das geht und habe mich auch nicht mit dem Code 
beschäftigt. Ich wollte das ganze "nur mal so" kurz erledigen, da ich 
nur aus Spaß den TV-B-Gone nachgebaut habe und mich eigentlich auch 
nicht weiter mit beschäftigen wollte.

Ich habe wie nach dem Schaltplan den 10K Widerstand zwischen PB1 und GND 
geschaltet, wenn ich das richtig verstanden habe muss ich jetzt noch den 
CAITSITH Mod der V1.2 auf den Chip flashen. Kann mir entweder die 
HEX-File aus den Daten machen oder mir eine Erklärung geben in der es 
beschrieben steht?

Ich denke ich unterschätze das grad und merke, dass ich erst noch viel 
lernen muss um das von selbst zu verstehen und zu bauen.

Jonas
Gast #1881219
Lesenswert?

Du kannst auch die "normale" Version 1.2 verwenden, musst aber in der 
"main.c" die lokale Variable "LOOP" auf "1" setzen und das ganze neu 
compilieren.
1
int main(void) {
2
  uint16_t ontime, offtime;
3
  uint8_t i,j, Loop;
4
  uint8_t region = US;     // by default our code is US
5
  
6
  //Loop = 0;              // by default we are not going to loop
7
  Loop = 1;                // now we are going into loop
8
  TCCR1 = 0;       // Turn off PWM/freq gen, should be off already
9
  TCCR0A = 0;
10
  TCCR0B = 0;

hexfile mit gesetztem "LOOP-Bit" ungetestet im Anhang.
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren