new tests

master
Avital 5 years ago
parent 0ebfb91487
commit e2e8be180f

@ -0,0 +1,59 @@
#include "car.h"
PROGMEM const unsigned char car[] = {
80,80, //pictureresolution
// size is 60 x 60
// size is 80 x 80
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xC0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x0F,
0x00, 0x80, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x0F, 0x00, 0xE0, 0xFF, 0x00, 0x00, 0x00,
0x00, 0x00, 0xE0, 0x0F, 0x00, 0xF0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x0F, 0x00, 0xFC,
0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x0F, 0x00, 0xFE, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00,
0xE0, 0x0F, 0x00, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x0F, 0xC0, 0xFF, 0x03, 0x00,
0x00, 0x00, 0x00, 0x00, 0xE0, 0x0F, 0xE0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x0F,
0xF8, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x0F, 0xFC, 0x1F, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xE0, 0x0F, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xCF, 0xFF, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xE0, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x3F, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF,
0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xF0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x3F, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xF8, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x0F,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xE0, 0xFF, 0xE7, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xE1, 0x0F, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xFE, 0x7F, 0xE0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x1F,
0xE0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x0F, 0xE0, 0x0F, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFC, 0xFF, 0x03, 0xE0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xE0, 0x0F,
0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0x3F, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF,
0x7F, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xFF, 0x07, 0xE0, 0x0F, 0x00, 0x00,
0x00, 0x00, 0x80, 0xFF, 0xFF, 0x3F, 0xE0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF,
0xE1, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0x0F,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xF8, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0xFF, 0x1F, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF0, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0x0F, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x8F,
0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x0F, 0xFC, 0xFF, 0x03, 0x00, 0x00, 0x00,
0x00, 0x00, 0xE0, 0x0F, 0xF0, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x0F, 0x80, 0xFF,
0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x0F, 0x00, 0xFE, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00,
0xE0, 0x0F, 0x00, 0xF8, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x0F, 0x00, 0xE0, 0xFF, 0x03,
0x00, 0x00, 0x00, 0x00, 0xE0, 0x0F, 0x00, 0x80, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x0F,
0x00, 0x00, 0xFE, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0xF8, 0x3F, 0x00, 0x00,
0x00, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0xF0, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x0F, 0x00, 0x00,
0xC0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0x80, 0xFF, 0x00, 0x00, 0x00, 0x00,
0xE0, 0x0F, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0x00, 0xFC,
0x00, 0x00, 0x00, 0x00, 0xE0, 0x0F, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};

@ -0,0 +1,9 @@
#include <avr/pgmspace.h>
#ifndef CAR_H
#define CAR_H
extern const unsigned char car[];
#endif

@ -0,0 +1,23 @@
#include <TVout.h>
#include "car.h"
TVout TV;
int val=0;
void setup() {
// put your setup code here, to run once:
TV.begin(PAL);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
//TV.clear_screen();
int val_2=0;
val=analogRead(A0);
val_2=analogRead(A1);
Serial.println(val_2);
TV.bitmap(val,val_2/30,car);
delay(60);
}

@ -0,0 +1,78 @@
#include "car.h"
PROGMEM const unsigned char car[] = {
// size is 96 x 96
96,96,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x00, 0x00, 0xFE, 0xFF, 0x07,
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x00, 0x00, 0x80, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00,
0x00, 0xC0, 0x07, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x07, 0x00,
0x00, 0x00, 0x80, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFE,
0x07, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x1F, 0x00, 0x00, 0x00,
0x00, 0xF8, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0xFF,
0xFF, 0x01, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0xFF, 0xFF, 0x7F, 0x00, 0x00,
0xFE, 0x03, 0x00, 0x00, 0x80, 0x3F, 0x80, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0xF8, 0x07, 0x00, 0x00,
0xE0, 0x1F, 0xC0, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0xFC, 0x0F, 0xC0, 0x07,
0xC0, 0xFF, 0xFF, 0x01, 0xC0, 0x1F, 0x00, 0x00, 0xFF, 0x07, 0xE0, 0x03, 0x00, 0xE0, 0xFF, 0x07,
0x80, 0x3F, 0x00, 0x00, 0xFF, 0x01, 0xF0, 0x03, 0x00, 0x00, 0xFE, 0x1F, 0x00, 0x7E, 0x00, 0x00,
0x7F, 0x00, 0xF8, 0x01, 0x00, 0x00, 0xF0, 0x3F, 0x00, 0xFC, 0x01, 0x00, 0x1F, 0x00, 0xFC, 0x00,
0x00, 0x00, 0xC0, 0xFF, 0x00, 0xF8, 0x01, 0x00, 0x1F, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0xFF,
0x01, 0xF0, 0x03, 0x00, 0x1F, 0x80, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0xE0, 0x07, 0x00,
0x1F, 0xC0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0F, 0xC0, 0x0F, 0x00, 0x1F, 0xF0, 0x0F, 0x00,
0x00, 0x00, 0x00, 0xC0, 0x1F, 0x80, 0x1F, 0x00, 0x1F, 0xF0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x80,
0x3F, 0x00, 0x3F, 0x00, 0x1F, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x7E, 0x00,
0x1F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x01, 0x7C, 0x00, 0x1F, 0xF0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xF8, 0x03, 0xFC, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF0, 0x03, 0xF8, 0x01, 0x1F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x07, 0xF0, 0x01,
0x1F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x0F, 0xE0, 0x03, 0x1F, 0xF0, 0x00, 0x00,
0xE0, 0x00, 0x00, 0x00, 0x80, 0x1F, 0xE0, 0x03, 0x1F, 0xF0, 0x00, 0x00, 0xFC, 0x07, 0x00, 0x00,
0x00, 0x3F, 0xC0, 0x07, 0x1F, 0xF0, 0x00, 0x00, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x3E, 0xC0, 0x0F,
0x1F, 0xF0, 0x00, 0x80, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x7C, 0x80, 0x0F, 0x1F, 0xF0, 0x00, 0xC0,
0xFF, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x1F, 0x1F, 0xF0, 0x00, 0xC0, 0x0F, 0xFC, 0x00, 0x00,
0x00, 0xF8, 0x00, 0x1F, 0x1F, 0xF0, 0x00, 0xE0, 0x07, 0xF8, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x1E,
0x1F, 0xF0, 0x00, 0xE0, 0x03, 0xF0, 0x01, 0x00, 0x00, 0xF0, 0x01, 0x3E, 0x1F, 0xF0, 0x00, 0xF0,
0x01, 0xF0, 0x01, 0x00, 0x00, 0xE0, 0x03, 0x3C, 0x1F, 0xF0, 0x00, 0xF0, 0x01, 0xE0, 0xFF, 0x07,
0x00, 0xC0, 0x07, 0x7C, 0x1F, 0xF0, 0x00, 0xF0, 0x01, 0xE0, 0xFF, 0x07, 0x00, 0xC0, 0x07, 0x78,
0x1F, 0xF0, 0x00, 0xF0, 0x01, 0xE0, 0xFF, 0x07, 0x00, 0xC0, 0x07, 0x78, 0x1F, 0xF0, 0x00, 0xF0,
0x01, 0xE0, 0xFF, 0x07, 0x00, 0xC0, 0x07, 0x7C, 0x1F, 0xF0, 0x00, 0xF0, 0x01, 0xF0, 0x01, 0x00,
0x00, 0xE0, 0x03, 0x3C, 0x1F, 0xF0, 0x00, 0xE0, 0x03, 0xF0, 0x01, 0x00, 0x00, 0xF0, 0x01, 0x3E,
0x1F, 0xF0, 0x00, 0xE0, 0x07, 0xF8, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x1E, 0x1F, 0xF0, 0x00, 0xC0,
0x0F, 0xFC, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x1F, 0x1F, 0xF0, 0x00, 0xC0, 0xFF, 0x7F, 0x00, 0x00,
0x00, 0xFC, 0x00, 0x1F, 0x1F, 0xF0, 0x00, 0x80, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x7C, 0x80, 0x0F,
0x1F, 0xF0, 0x00, 0x00, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x3E, 0xC0, 0x0F, 0x1F, 0xF0, 0x00, 0x00,
0xFC, 0x07, 0x00, 0x00, 0x00, 0x3F, 0xC0, 0x07, 0x1F, 0xF0, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00,
0x80, 0x1F, 0xE0, 0x03, 0x1F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x0F, 0xE0, 0x03,
0x1F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x07, 0xF0, 0x01, 0x1F, 0xF0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0xF8, 0x01, 0x1F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xF8, 0x03, 0xFC, 0x00, 0x1F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x01, 0x7C, 0x00,
0x1F, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x7E, 0x00, 0x1F, 0xF0, 0x07, 0x00,
0x00, 0x00, 0x00, 0x80, 0x3F, 0x00, 0x3F, 0x00, 0x1F, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x00, 0xC0,
0x1F, 0x80, 0x1F, 0x00, 0x1F, 0xC0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0F, 0xC0, 0x0F, 0x00,
0x1F, 0x80, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x07, 0xE0, 0x07, 0x00, 0x1F, 0x00, 0x7E, 0x00,
0x00, 0x00, 0x00, 0xFF, 0x01, 0xF0, 0x03, 0x00, 0x1F, 0x00, 0xFC, 0x00, 0x00, 0x00, 0xC0, 0xFF,
0x00, 0xF8, 0x03, 0x00, 0x7F, 0x00, 0xF8, 0x01, 0x00, 0x00, 0xF0, 0x3F, 0x00, 0xFC, 0x01, 0x00,
0xFF, 0x01, 0xF0, 0x03, 0x00, 0x00, 0xFE, 0x1F, 0x00, 0x7E, 0x00, 0x00, 0xFF, 0x07, 0xE0, 0x03,
0x00, 0xE0, 0xFF, 0x07, 0x80, 0x3F, 0x00, 0x00, 0xFC, 0x0F, 0xE0, 0x07, 0xC0, 0xFF, 0xFF, 0x01,
0xC0, 0x1F, 0x00, 0x00, 0xE0, 0x1F, 0xC0, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0xF0, 0x0F, 0x00, 0x00,
0x80, 0x3F, 0x80, 0xFF, 0xFF, 0xFF, 0x07, 0x00, 0xF8, 0x07, 0x00, 0x00, 0x00, 0x7F, 0x00, 0xFF,
0xFF, 0x7F, 0x00, 0x00, 0xFE, 0x03, 0x00, 0x00, 0x00, 0xFC, 0x00, 0xFF, 0xFF, 0x01, 0x00, 0x00,
0xFF, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x01, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x7F, 0x00, 0x00, 0x00,
0x00, 0xF0, 0x03, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x03, 0x00,
0x00, 0x00, 0x00, 0xFE, 0x07, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x07, 0x00, 0x00, 0x00, 0x80, 0xFF,
0x03, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x07, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x00, 0x00, 0x00, 0x00,
0x00, 0x80, 0x0F, 0x00, 0x00, 0x80, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x00,
0x00, 0xFE, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};

@ -0,0 +1,9 @@
#include <avr/pgmspace.h>
#ifndef CAR_H
#define CAR_H
extern const unsigned char car[];
#endif

@ -0,0 +1,62 @@
#include <TVout.h>
#include <fontALL.h>
#include "car.h"
TVout TV;
unsigned char x,y,z,pixel_num,d_num;
void setup() {
x=0;
y=0;
z=0;
pixel_num=0;
d_num=0;
Serial.begin(9600);
TV.begin(PAL); //for devices with only 1k sram(m168) use TV.begin(_NTSC,128,56)
TV.select_font(font6x8);
Serial.println(TV.vres());
Serial.println(TV.hres());
}
void loop() {
TV.clear_screen();
pixel_num=0;
d_num=0;
for(x=0;x<TV.hres();x++){
z=random(TV.vres());
if(analogRead(A1)<340){
pixel_num=1;
d_num=1000;
}
if(analogRead(A1)>340 && analogRead(A1)<680){
pixel_num=2;
d_num=400;
//TV.clear_screen();
}
if(analogRead(A1)>680){
pixel_num=4;
d_num=0;
}
for(y=0;y<TV.vres();y++){
if(analogRead(A0)<205){
TV.set_pixel(x+random(TV.hres()/12),random(z,TV.vres()/4-z),pixel_num);
}
if(analogRead(A0)>205 && analogRead(A0)<410){
TV.set_pixel(x+random(TV.hres()/10),random(z,TV.vres()/2.3-z),pixel_num);
}
if(analogRead(A0)>410 && analogRead(A0)<615){
TV.set_pixel(x+random(TV.hres()/8),random(z,TV.vres()/2-z),pixel_num);
}
if(analogRead(A0)>615 && analogRead(A0)<820){
TV.set_pixel(x+random(TV.hres()/6),random(z,TV.vres()/1.2-z),pixel_num);
TV.bitmap(analogRead(A1),0,car);
}
if(analogRead(A0)>820){
TV.set_pixel(x+random(TV.hres()/4),random(z,TV.vres()-z),pixel_num);
}
//TV.set_pixel(x+random(50),y+random(y,y*5),analogRead(A0)/10);
//TV.delay(1000);
}
TV.delay(d_num);
}
}

@ -0,0 +1,112 @@
/*
* good old starfield - PASTIS 51 EDITION
*
* See starfield25 for context and more comments, otherwise it may not make much
* sense...
*
* So basically the trick used to get more stars here, is not to free memory,
* because that's not possible, but instead it's to make the stars use less memory.
* To do that we change the type from float (4 bytes) to int (2 bytes).
* The tradeoff is of course that now we have integers and not floating point numbers,
* and that prevents us to have any meaningful results when we calculate vector related
* stuff. But there's a workaround to this!
* The workaround is very simple, we use int as floats without floating points, which
* means that everytime we read from the array we convert the int to float and divide
* it by an arbitrary precision value (here we use 100), and when we want to store a
* float we multiply it by the same precision value and convert to int.
* We loose in accuray, but that does not matter here at all.
*
* ex: we want to store 12,345678
* 12,3456 * 100 = 1234,56
* int(1234,56) = 1234
* and converted back
* float(1234 / 100) = 12,34
* in the process with this trick we lost 0,005678 (who cares?)
*
* Note: most of the changes are in new_star(). There are some minor changes elsewhere,
* mostly to try optimise things cheaply, ignore.
*/
#include <TVout.h>
TVout TV;
#define STARS 51
int x[STARS];
int y[STARS];
int vx[STARS];
int vy[STARS];
void
setup()
{
randomSeed(analogRead(6)); // effective?
TV.begin(NTSC,120,96);
new_stars();
}
void
new_star(uint8_t i)
{
uint8_t x_tmp, y_tmp;
uint8_t ox = 60;
uint8_t oy = 48;
int dx, dy;
float vl;
x_tmp = 30 + random(60);
y_tmp = 24 + random(48);
dx = x_tmp - ox;
dy = y_tmp - oy;
switch(dx)
case 0: dx = 1; // CHEAT
vl = 1 / sqrt(dx*dx + dy*dy);
vx[i] = int(dx * vl * 100);
vy[i] = int(dy * vl * 100);
x[i] = x_tmp * 100;
y[i] = y_tmp * 100;
}
void
new_stars()
{
for (uint8_t i = 0; i < STARS; i++)
new_star(i);
}
void
update_stars()
{
for (uint8_t i = 0; i < 40; i++) {
x[i] = x[i] + vx[i];
y[i] = y[i] + vy[i];
if (x[i] > 12000 || x[i] < 0 || y[i] < 0 || y[i] > 9600)
new_star(i);
}
for (uint8_t i = 40; i < STARS; i++) {
x[i] = x[i] + (vx[i] << 1);
y[i] = y[i] + (vy[i] << 1);
if (x[i] > 12000 || x[i] < 0 || y[i] < 0 || y[i] > 9600)
new_star(i);
}
}
void
draw_stars()
{
for (uint8_t i = 0; i < STARS; i++)
TV.set_pixel(x[i]/100, y[i]/100, 1);
}
void
loop()
{
TV.delay_frame(1);
update_stars();
TV.clear_screen();
draw_stars();
}
Loading…
Cancel
Save