No description, website, or topics provided.
HTML JavaScript CSS Other C Makefile
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
code
old
slides
.gitignore
README.md
bibliografia.md

README.md

<title>Sistemas Reativos</title>

Sistemas Reativos

Sistemas reativos interagem continuamente e em tempo real com o ambiente sob os quais estão inseridos. Eles representam um campo amplo de aplicações e plataformas: de jogos eletrônicos em desktops, passando por apps em celulares, até a emergente internet das coisas em sistemas embarcados.

Neste curso iremos abordar os sistemas reativos sob diversos aspectos de software, tais como modelos de concorrência, linguagens de programação, técnicas de programação, e aplicações em múltiplas plataformas de hardware.

Ementa: Sistemas Reativos, Modelos de Concorrência Síncrono e Assíncrono, Programação Orientada a Eventos, Callbacks e o Padrão Observer, Máquinas de Estado, Co-rotinas, Programação Reativa Funcional, Programação Reativa Estruturada, Jogos, Arduino, Redes de Sensores sem Fio, Projetos.

Projetos Antigos

2016.2

Projetos Finais

  • Adrianno e Giancarlo

    • Descrição: O projeto consiste na criação de um pequeno jogo top down de ação que consistirá em um cenário com obstáculos estáticos (alinhados a uma grade) e um jogador que poderá se movimentar horizontalmente e verticalmente no plano de forma livre usando as teclas do teclado. Espalhados pelo cenário estarão vários inimigos que tentarão alcançar o jogador, andando lentamente. Para isso, usaremos um algoritmo de pathfinding a ser decidido (provavelmente derivado de A*) que iremos adaptar para não comprometer a reatividade do jogo. O jogador também será capaz de eliminar os inimigos atirando projéteis que irão na direção do cursor do mouse, ao clicar na tela.
    • Repositório: GitHub
    • Vídeo: YouTube
  • Lucas e Rafael

    • Descrição: O objetivo do projeto é de fornecer controle para a área do conjunto de salas na 6023-F, na UERJ (Universidade do Estado do Rio de Janeiro). Tem como objetivo facilitar o acesso de todas as Pessoas as salas 6023-F. Enquanto todos que estão presentes no Banco de Dados tem acesso a sala, somente o Professor consegue adicionar ou remover Pessoas do Banco de Dados, dando a essas permissão de entrada na sala ou removendo-as da lista de acesso.
    • Repositório: GitHub
    • Vídeo: YouTube
  • Camila e Renato

    • Descrição: O Beach Raid é um jogo baseado em um famoso jogo de Atari dos anos 80, o River Raid. O jogo consiste em uma nave com combustível e munição infinitos que sobrevoa um deserto e precisa evitar ser atingida por seus inimigos (tanque de guerra, torre de guerra e helicóptero), que podem matá-la com tiros ou por colisão. O objetivo do jogo é sobreviver o máximo de tempo possível, havendo um record para cada nível de dificuldade (fácil, médio, difícil). A nave pode ser controlada via teclado ou pelo controlador Arduino.
    • Repositório: GitHub
    • Vídeo: YouTube
  • Matheus e Rodrigo

    • Descrição: Fazer um jogo de labirinto no computador, que fosse controlado pelo arduino e tivesse um elemento de interatividade com o ambiente.
    • Repositório: GitHub
    • Vídeo: GoogleDrive
  • Anny e Leonardo

    • Descrição: Este projeto é um jogo baseado no Dance Dance Revolution, e é escrito em Céu utilizando SDL e Arduino. A parte gráfica e sonora será feita por meio de SDL, enquanto que um teclado de membrana será usado, no Arduino, para simular um tapete de dança.
    • Repositório: GitHub
    • Vídeo: YouTube
  • Gustavo e Luiz Henrique

    • Descrição: A partir da leitura de cartões RFID no Arduino, usaremos o Unity3D para exibir os modelos 3D das imagens das cartas.
    • Repositório: GitHub
    • Vídeo: YouTube
  • Daniel e Diego

    • Descrição: Jogo Snake feito em Arduino (Gameduino) e controlado por Android.
    • Repositório: GitHub
    • Vídeo: YouTube
  • Rodrigo

    • Descrição: Será criado um carro robô com sensores HC-SRO4, seu sistema irá detectar objetos e irá desviar ou evitar obstáculos. O carro se movimentará sempre pra frente, caso não possa irá desviar para os lados.
    • Repositório: GitHub
    • Vídeo: OneDrive
  • Antônio

    • Descrição: Criação de uma pequena game engine construída com SDL e C++. O jogo desenvolvido será um platformer 2D, utilizando integrações sensoriais com o Arduino.
    • Repositório: GitHub
    • Vídeo: YouTube
  • Carlos e Vitória

    • Descrição: O projeto será uma melhora do mini-sdl(Pegue o Pombo). O jogo terá mais dinâmica e mecânica e a dificuldade será crescente. Usaremos um Joystick Arduino 3 Eixos para criar um controlador do mini-sdl.
    • Repositório: GitHub
    • Vídeo: GitHub
  • José

    • Descrição: O projeto é um jogo de plataforma 2D no estilo survival, baseado em pontos. O jogador deve matar os monstros que aparecem na tela e evitar que eles o matem. O jogador pode pular, andar, atirar (apenas parado), recarregar e trocar de armas. A pontuação sobe para cada monstro morto. Depois de mortos eles tem chances de deixar cair munição. Os monstros seguem o jogador apenas pelo eixo x e dão dano ao enconstá-lo. Ao Receber dano o jogador é também empurrado para trás. Cada tiro acertado paralisa os monstros por um tempo, use isso a seu favor!
    • Repositório: GitHub
    • Vídeo: YouTube
  • Igor e Tiago

    • Descrição: Projeto baseado no jogo “Frogger” em que foi utilizado o arduino como controle para o jogo. O joystick realiza a movimentação enquanto um botão se encarrega dos disparos do personagem. O objetivo do jogo é atravessar três sequências de obstáculos sem ser atingido por nenhum deles. O jogador tem direito a disparar sua arma três vezes para auxiliar na travessia. Ao concluir o objetivo o próximo nível é liberado.
    • Repositório: GitHub
    • Vídeo: YouTube
  • Lucas e Yago

    • Descrição: Criação de uma game engine construída com SDL e C. O jogo roda em uma plataforma 2D, utilizando integrações sensoriais com o Arduino.
    • Repositório: GitHub
    • Vídeo: YouTube
  • Bruno e Guilherme

    • Descrição: Jogo em SDL que aguarda interação com o usuário através de mensagem codificada em código morse pelo arduino.
    • Repositório: GitHub
    • Vídeo: ??

Mini Projetos com Arduino

  • Adrianno Sampaio, Giancarlo França, Yago Tomé
    • Descrição: O projeto consiste na criação de um carro de duas rodas com direção automatizada com base em dados obtidos através de quatro sensores de distância: um frontal, no centro; dois para visão periférica, a ~45° para cada um dos lados; e um na parte traseira. O carro seguirá em frente sempre que possível, utilizando os sensores de visão periférica para auxiliar no julgamento do melhor sentido para rotacionar caso seja detectado algum obstáculo. Se ambos os sensores laterais sinalizarem uma colisão iminente ao mesmo tempo (em um intervalo de X ms), o carro se movimentará em ré até que seja possível rotacionar para um dos lados. Se o sensor de distância traseiro detectar um obstáculo próximo durante o movimento em ré, o carro irá parar e acionar uma buzina para sinalizar que está preso.
    • Repositório: GitHub
    • Vídeo: YouTube
  • Camila e Renato

    • Descrição: O sistema de controle de acesso consiste em uma trava eletrônica, representada por um micro servo motor, que é destravada quando o usuário digita a senha correta. O sistema conta ainda com sinais sonoros e visuais que indicam ao usuário se a senha digitada está correta ou não.
    • Repositório: GitHub
    • Vídeo: YouTube
  • Igor e Tiago

    • Descrição: O projeto consiste na utilização de um sensor de distância que medirá o quão próximo um objeto se aproxima dele e a utilização de alguns LEDs. Conforme algum objeto se aproxime do sensor, os LEDs irão piscar juntos com a buzina que emitirá um som (apito) que passará a fazer barulho em intervalos cada vez menores de acordo com a proximidade do objeto.
    • Repositório: GitHub
    • Vídeo: GitHub
  • José Matheus, Matheus Stutzel, Rodrigo Braga

    • Descrição: Programar uma versão do jogo Timberman do Android no arduino.
    • Repositório: GitHub
    • Vídeo: GoogleDrive
  • Gustavo, Lucas, Luiz Henrique

    • Descrição: Nessa primeira etapa do projeto, faremos um controlador de acesso com leitor RFID.
    • Repositório: GitHub
    • Vídeo: YouTube
  • Lucas e Rafael

    • Descrição: O projeto do relógio Multifuncional dispõe de diversas modalidades. São eles: Relógio, Alarme, Timer e Cronômetro. O Relógio mostra as horas. O Alarme é para que dispare uma buzina quando o horário definido pelo usuário coincide com a hora do Relógio. O Timer é um tempo determinado pelo usuário que decresce até chegar a zero, disparando uma buzina. O Cronômetro é para medir o tempo que se passa. Apesar de ser possível visualizar apenas um módulo de cada vez, vale a pena frisar que os módulos podem funcionar simultaneamente.
    • Repositório: GitHub
    • Vídeo: GitHub

Outros Períodos (PUC-Rio)