Страница 7 из 26

Re: Самодельная графическая приставка

Добавлено: Чт май 26, 2011 06:41:04
Microtech
Не совсем в тему, но вот. :)) Спаял за час.
Самодельная, графическая приставка. В качестве монитора видоискатель от камеры, но можно и на телевизор..
Есть режим автоматического второго игрока, скоро попробую светопистолет из деталей лазерной указки приделать.

Re: Самодельная графическая приставка

Добавлено: Чт май 26, 2011 07:06:59
Вадиматоричик
Программу сами писали и что там за игра??? :shock: :shock: :shock: Если это действительно вы сделали то :write: :)) :)) :))

Re: Самодельная графическая приставка

Добавлено: Чт май 26, 2011 07:09:20
Вадиматоричик
Прошу помаши :)) :)) :))

Re: Самодельная графическая приставка

Добавлено: Чт май 26, 2011 07:27:06
pyzhman
Игра, судя по экрану, что-то вроде тенниса. Я ж вам предлагал тренироваться на волке с яйцами.
Прошу помаши
Помахал.

Re: Самодельная графическая приставка

Добавлено: Чт май 26, 2011 07:31:12
Вадиматоричик
Можно и на волке только уже потом

Re: Самодельная графическая приставка

Добавлено: Чт май 26, 2011 08:37:17
Microtech
Это игровая приставка "до компьютерной" истории. Она подключалась к телевизору, а к приставке подключались 2 джойстика и пистолет. Несколько игр, футбол теннис, с вариантами и еще тир, в котором надо стрелять по экрану, при точном выстреле, счет увеличивается. Pong game.
[url]http://ru.wikipedia.org/wiki/К145ИК17[/url]
Микросхема К145ИК17 содрана с буржуйского аналога, но с небольшими изменениями. Выпускались игровые приставки "Видеоспорт" это была мечта почти любого школьника, купить было дорого, но была книжка - "Овечкин М. А. Любительские телевизионные игры", где автор предлагал собрать приставку на логических микросхемах... Хорошо, что мне не хватило силы воли ее спаять, в те годы.

Re: Самодельная графическая приставка

Добавлено: Чт май 26, 2011 08:54:25
Вадиматоричик
Понятно, а у моей приставки другой смысл, грубо говоря, генерируется число от 1 до 5 и 1 или 2 1 или 2 записывает в память 10 или 20 единиц и растения стояшии на ряду просто отнимают из этого числа по единички, когда всё равно нулю, то зомби исчезает и всё с начало

Re: Самодельная графическая приставка

Добавлено: Чт май 26, 2011 09:49:17
Foks
Вадиматоричик писал(а):Понятно, а у моей приставки другой смысл, грубо говоря, генерируется число от 1 до 5 и 1 или 2 1 или 2 записывает в память 10 или 20 единиц и растения стояшии на ряду просто отнимают из этого числа по единички, когда всё равно нулю, то зомби исчезает и всё с начало
О, новая порция лулзов от автора :)))

Re: Самодельная графическая приставка

Добавлено: Чт май 26, 2011 10:00:34
Вадиматоричик
Foks писал(а):О, новая порция лулзов от автора :)))
:dont_know: В смысле

Re: Самодельная графическая приставка

Добавлено: Чт май 26, 2011 11:53:43
BCluster
Вадиматоричик писал(а): В смысле
В прямом :)
Автор интересно серьезно не понимает что это все оч смешно? :)

Re: Самодельная графическая приставка

Добавлено: Чт май 26, 2011 12:00:40
Вадиматоричик
Согласен, но раде прикола сделать можно

Re: Самодельная графическая приставка

Добавлено: Чт май 26, 2011 20:02:28
Foks
У автора.... как бы это сказать... Не совсем такой способ мышления, как у нас, в силу чего он не может выражать свои мысли нормальным языком, и решать свою задачу последовательно, путает низкоуровневые проблемы с высокоуровневыми (грубо говоря).
Но с другой стороны, он хоть что-то делает, и если не забросит, то может спустя какой-то промежуток времени доведёт эту задачу до конца.

Re: Самодельная графическая приставка

Добавлено: Чт май 26, 2011 20:36:50
Modest
ааааааа!!! жесть!! прочитал всю тему, автор мочит...
если это троль то он троль всем тролям...
хотя скорее автор действительно не понимает всей развившейся здесь ситуации, одна блок схема алгоритм чего стоит
даже хороший троль не убил бы столько времени на её составление

PS: ну где же обещанная видео-презентация )))
это было бы очень.. ну очень интересно посмотреть

Re: Самодельная графическая приставка

Добавлено: Пт май 27, 2011 07:42:31
Вадиматоричик
Я понял, что на одном алгоритме никуда не уедешь, так что я начал изучать AVR и понял, что алгоритм надо переделывать немного по-другому (Я думал немного не так) Сей час изучаю, будут результаты я вам сообшю. А и еще можно исходник блока упровления деньгами.

Re: Самодельная графическая приставка

Добавлено: Пт май 27, 2011 08:36:54
Goldsmith
Продолжайте держать нас в курсе, пожалуйста. Эта тема затягивает посильнее наркотиков, без нее будет скучно.

Re: Самодельная графическая приставка

Добавлено: Пт май 27, 2011 08:50:37
pyzhman
Вадиматоричик писал(а):на одном алгоритме никуда не уедешь
Еще как уедешь! Толковый алгоритм - это все. А реализовать можно и на кирпичах, и на лазерах. Кстати насчет кирпичей...

Re: Самодельная графическая приставка

Добавлено: Пт май 27, 2011 13:49:39
a_skr
Вадиматоричик писал(а):...А и еще можно исходник блока упровления деньгами.
конечно

Код: Выделить всё

#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/pgmspace.h>
volatile uint8_t IndBuf[4];
void DecOut(uint16_t val);
//-----------------------------------------------------------------------------
void main(void)
{
  uint16_t A=0;
  DDRB = 0xFF;    DDRD = 0x0F;  
  PORTA = 0x03;  PORTD = 0x70;
  OCR0A = (uint8_t)(F_CPU/1024/300);
  TCCR0A = 1<<WGM01; 
  TCCR0B = (1<<CS02) | (1<<CS00);
  TIMSK = (1<<OCIE0A) | (1<<OCIE1A);
  sei();
  DecOut(A);
  while(1)
  {
    while((PINA&0x03)==0x03 && (PIND&0x70)==0x70);
    if((PINA&0x01)==0 && A<=9970) A += 20;
    if((PINA&0x02)==0 && A>=50)  A -= 50;
    if((PIND&0x10)==0 && A>=100) A -= 100;
    if((PIND&0x20)==0 && A>=150) A -= 150;
    if((PIND&0x40)==0 && A>=200) A -= 200;
    DecOut(A);
    while((PINA&0x03)!=0x03 || (PIND&0x70)!=0x70);
  }
}
//-----------------------------------------------------------------------------
void DecOut(uint16_t val)
{
  uint16_t a;
  uint8_t *str = (uint8_t*)&IndBuf[3];
  str[-1]=str[-2]=str[-3]=10;
  a = val%10;  *str-- = a;
  val /= 10;  a = val%10;
  if(a || val) *str-- = a;
  else return;
  val /= 10;  a = val%10;
  if(a || val) *str-- = a;
  else return;
  val /= 10;
  if(val) *str-- = val;
}
//-----------------------------------------------------------------------------
prog_char Font[] =
{
  0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0 // 0-9,' '
};
ISR(SIG_OUTPUT_COMPARE0A)
{
  static uint8_t idx = 0, pin = 1;
  PORTD = 0x70 | pin;
  PORTB = ~pgm_read_byte(&Font[IndBuf[idx]]);
  if(++idx >= 4) idx = 0;
  if((pin<<=1) > 8) pin = 1;
}
//-----------------------------------------------------------------------------

Re: Самодельная графическая приставка

Добавлено: Пт май 27, 2011 14:06:34
Вадиматоричик
Где вы все эти коды находите (В смысле кубики из которых состоит программа) И вот еще Я тут из кубиков сделал мигалку, а также мне помогли сделать так чтоб при нажатии кнопки светодиод включался, а при повторном выключался теперь вопрос как мне их слить в месте??? Вот коды
Вот текст зажигания светодиода
#include <mega16.h>
#include <delay.h>

void main(void)
{
char n;
PORTA=0xff;
DDRA=0x00;
// Port D initialization
// Func7=In Func6=In Func5=Out Func4=In Func3=Out Func2=In Func1=In Func0=In
// State7=T State6=T State5=0 State4=T State3=0 State2=T State1=T State0=T
PORTD=0x00;
DDRD=0xff;



while(1){
{ if (PINA.0==0)
if (n<1) n++; else n=0;
delay_ms(5); while (PINA.0==0);
if (PINA.1==0)
if (n>0) n--; else n=1;
delay_ms(5); while (PINA.1==0); }
if (n==0)//Åñëè ïåðåìåííàÿ ìåíþ=0
PORTD.3=0;
else //èíà÷å
PORTD.3=1;


;}
}
А вот мигалка
// загружаем библиотеки:
#include <mega16.h>
#include <delay.h>
// основная программа:
void main(void)
{
PORTA=0x01; // Включаем внутренний подтягивающий резистор на порту А бит 0
DDRA=0x00; // весь порт как вход

PORTD=0x00; //настройки порта D
DDRD=0x28; // настройки порта D на выход битов 3 и 5

ACSR=0x80;
SFIOR=0x00;

while(1) // бесконечный цикл
{
while (PINA.0==0) // проверяем если кнопка нажата (замкнута), то выполняем цикл мигалки
{

PORTD.3=1; // зажигаем красный светодиод
delay_ms(100); //ждем 100 миллисекунд
PORTD.3=0; //гасим его
delay_ms(100); //ждем 100 миллисекунд
PORTD.3=1; //зажигаем
delay_ms(100); //ждем
PORTD.3=0; //гасим

PORTD.5=1; //зажигаем синий светодиод
delay_ms(100); //ждем
PORTD.5=0; //гасим
delay_ms(100); //ждем
PORTD.5=1; //зажигаем
delay_ms(100); //ждем
PORTD.5=0;//гасим
} // как только отпустим кнопку программа дойдет до конца цикла
// и будет ждать пока не нажмем заново
}; // закрываем бесконечный цикл
} //конец программы
Вот схема мною сделанная

Re: Самодельная графическая приставка

Добавлено: Пт май 27, 2011 14:58:59
Engineer_Keen
Вадиматоричик писал(а):Где вы все эти коды находите (В смысле кубики из которых состоит программа)
Вы вообще понимаете, что такое программирование? Как работает микропроцессор/контроллер?
Эти "кубики", по-хорошему, берутся из головы - вы просто объясняете контроллеру на его языке, что он должен делать.
Вы правильно начали изучать контроллеры с мигания светодиодом, только лучше для начала просто заставить его мигать, без всяких кнопок, и текст не дергать из разных источников, а попытаться написать самому, опираясь на собственную логику и синтаксис используемого языка программирования. Благо для проверки сейчас не нужно что-либо покупать, есть встроенный симулятор AVR студии или Proteus.

Re: Самодельная графическая приставка

Добавлено: Пт май 27, 2011 15:23:46
Вадиматоричик
Я как раз и хочу найти те самые «Солганы» его языка
Engineer_Keen писал(а):
Вадиматоричик писал(а):Где вы все эти коды находите (В смысле кубики из которых состоит программа)
Вы вообще понимаете, что такое программирование? Как работает микропроцессор/контроллер?
Эти "кубики", по-хорошему, берутся из головы - вы просто объясняете контроллеру на его языке, что он должен делать.
Вы правильно начали изучать контроллеры с мигания светодиодом, только лучше для начала просто заставить его мигать, без всяких кнопок, и текст не дергать из разных источников, а попытаться написать самому, опираясь на собственную логику и синтаксис используемого языка программирования. Благо для проверки сейчас не нужно что-либо покупать, есть встроенный симулятор AVR студии или Proteus.