#include <TVout.h>
#include <IRremote.h>
#include "a.h"
#include "e.h"
#include "m.h"
#include "o.h"
#include "u.h"
#include "disturbance1.h"
#include "disturbance2.h"
#include "font6x8.h"
TVout tv;
IRrecv receiver(2);
int tv_state=0,last_tv_state=0;
void speaking_animation(int x, int y){
char message[] = "Robot World News ";
tv.print(30,80, message);
for (int i = 0; i < 5; i++){
tv.bitmap(x,y,a);
tv.delay(100);
tv.bitmap(x,y,e);
tv.delay(100);
tv.bitmap(x,y,m);
tv.delay(100);
tv.bitmap(x,y,o);
tv.delay(100);
tv.bitmap(x,y,u);
tv.delay(100);
}
}
void starting_animation(){
for (int i = 0; i < 10; i++){
tv.bitmap(0,0,d1);
tv.delay(40);
tv.bitmap(0,0,d2);
tv.delay(50);
}
}
void setup(){
//tv.begin(PAL);
tv.select_font(font6x8);
Serial.begin(9600);
enable_recevier();
//tv.clear_screen();
//tv.delay(100);
//starting_animation();
//tv.clear_screen();
//tv.delay(100);
//speaking_animation(35,0);
//tv.clear_screen();
}
void loop(){
if (receiver.decode()){
int response= receiver.decodedIRData.command;
if(response==162)tv_state=!tv_state;
television(response);
receiver.resume();
}
}
void enable_recevier(){
tv.end();
receiver.enableIRIn();
}
void disable_recevier(){
receiver.disableIRIn();
tv.begin(PAL);
}
void television(int button_pressed){
disable_recevier();
if (tv_state){
if (last_tv_state==0){
starting_animation();
select_channel();
last_tv_state=tv_state;
}
else if(last_tv_state==1){
if(button_pressed==104)news_channel();
else if(button_pressed==48)dance_channel();
}
}
else {
tv.clear_screen();
tv.delay(100);
last_tv_state=tv_state;
}
enable_recevier();
}
void select_channel(){
tv.println(30,40,"SELECT A CHANNEL");
tv.println(45,50,"0 :NEWS");
tv.delay(100);
}
void news_channel(){
speaking_animation(30,0);
select_channel();
}
void dance_channel(int x,int y){
for(int i=0;i<20;i++){
int frame= random(0,5);
if(frame==0)tv.bitmap(x,y,dance1);
else if(frame==1)tv.bitmap(x,y,dance2);
else if(frame==2)tv.bitmap(x,y,dance3);
else if(frame==3)tv.bitmap(x,y,dance4);
tv.delay_frame(5);
}
tv.clear_screen();
tv.delay(100);
select_channel();
}