Juego de evitación del obstáculo (2 / 9 paso)

Paso 2: Botones y variedad de posición

Para el botón y módulo de matriz de posición, hay dos entradas de usuario, uno para mover la posición a la izquierda y otro para mover la posición a la derecha. Esto se logró mediante el uso de los botones en la DE2-115. Para compensar las imprecisiones causadas por la mecánica de los botones, necesitábamos les debounce. Cuando se pulsa un botón, oscilará hasta niveles fuera causando muchas aristas positivas. Esto es corregido contra rebotes que sólo creará un borde positivo por empuje. El debouncing código es una adaptación de código en la Página Web de FPGA 4 Fun. Se utilizó una máquina de estado finito para asignar en la posición de una matriz de 3 bits. El bit 3 es la salida del módulo y corresponde a la posición de nuestro objeto movible.

Debouncer fuente: http://www.fpga4fun.com/Debouncer2.html

Código:

alambre L_idle = (L_state == L_sync_1);
alambre L_cnt_max = & L_cnt; verdadera cuando todos los bits de PB_cnt de 1
REG [15:0] R_cnt;
alambre R_idle = (R_state == R_sync_1);
alambre R_cnt_max = & R_cnt;

siempre clk)
if(L_idle)
L_cnt < = 0; nada va
otra cosa
comenzar
L_cnt < = L_cnt + 16' d1; algo está pasando, incrementar el contador
if(L_cnt_max) L_state < = ~ L_state; Si el contador es maximizado, PB cambiado!
final
siempre clk)
if(R_idle)
R_cnt < = 0; nada va
otra cosa
comenzar
R_cnt < = R_cnt + 16' d1; algo está pasando, incrementar el contador
if(R_cnt_max) R_state < = ~ R_state; Si el contador es maximizado, PB cambiado!
final
asignar L_down = ~ L_idle & L_cnt_max & ~ L_state;
asignar R_down = ~ R_idle & R_cnt_max & ~ R_state;

REG [0:3] Y1;
parámetro [3:0] A = 3' b001, B = 3' b010, C = 3' b100, D = 3' b000;

siempre a (clk del posedge)
comenzar
Case(Y1)
A:
if(L_down)
comenzar
hacia fuera = B;
Y1 = B;
final

B: iniciar
Si (R_down)
comenzar
hacia fuera = A;
Y1 = A;
final
if(L_down)
comenzar
a = C;
Y1 = C;
final

final

C:
Si (R_down)
comenzar
hacia fuera = B;
Y1 = B;
final
D: empezar
Y1 = B;
hacia fuera = B;
final
endcase
final
endmodule

Artículos Relacionados

EVITACIÓN del obstáculo con la KY-032

EVITACIÓN del obstáculo con la KY-032

¡Hola mundo! He realizado otro proyecto de ejemplo, estoy usando el KY-032 que le muestre cómo obstáculo evitación sensores funcionan. El código es básico pero funciona muy bien para cosas simples. El código puede construir proyectos más grandes.El s
Un infrarrojo de Arduino controlado y Robot de evitación del obstáculo

Un infrarrojo de Arduino controlado y Robot de evitación del obstáculo

Hola todo el mundo,Este Instructables se divide en dos fases, que hace conveniente para el principiante y los diseñadores de robots intermedios.La primera fase abarca el uso de la placa de arduino nano solamente como controlador. Con esto, vamos a co
Robot de evitación del obstáculo de Arduino

Robot de evitación del obstáculo de Arduino

Hola chicos,Material:1 microcontrolador Arduino - http://www.robotshop.com/en/arduino-uno-usb-microc...2 paralaje continua Servos rotacional - http://www.robotshop.com/en/parallax-futaba-contin...1 180 grado Hi-Tec HS-422 Servo - http://www.robotshop
Arduino Nano: Detector de evitación de obstáculos infrarrojo con Visuino

Arduino Nano: Detector de evitación de obstáculos infrarrojo con Visuino

Sensores infrarrojos evitación del obstáculo son baratos, pequeños sensores de uso frecuente en robots y proyecto de Arduino para detectar objetos cerca del sensor.Los sensores infrarrojos funcionan enviando una luz infrarroja con cierta frecuencia,
Cómo hacer un obstáculo evitando Arduino Robot! "Mi Robot V1"

Cómo hacer un obstáculo evitando Arduino Robot! "Mi Robot V1"

Este instructable muestra las instrucciones de pasos para hacer un obstáculo evitando robot con Arduino.Empezar a dejarmi bloghttp://robot4pro.blogspot.com/p/My-robots.htmlPaso 1: Materiales necesariosAquí le damos todo que lo necesario para hacer My
Control remoto obstáculo evitando Robot con PIC microcontrolador

Control remoto obstáculo evitando Robot con PIC microcontrolador

Utilizo el pic 16f877amódulo ultrasónico motor servo había orientada motor motor cristal conductor y 20 mhz.En robótica, evitación del obstáculo es la tarea de satisfacer algún objetivo de control sujeto a las limitaciones de la posición de no inters
Sin embargo, otra línea siguiente / obstáculo evitación 2WD coche

Sin embargo, otra línea siguiente / obstáculo evitación 2WD coche

Este coche de robot no es nada nuevo. Instructables y Youtube se sazonan con pimienta con un coche robot similar a este y sinceramente esos anuncios me inspiraban a armar este kit de robótica asequible que podría folleto en mi taller de robótica (niv
Obstáculo, evitando Robot con Arduino

Obstáculo, evitando Robot con Arduino

Hola chicos en este instructable veremos cómo hacer un obstáculo autónomo evitando Robot.This robot ha sido diseñado y programado de tal manera que evita la colisión. Básicamente, el robot se mueve hacia delante y siempre que detecte un objeto/obstác
Fácil de obstáculos láser

Fácil de obstáculos láser

en este Instructable, le mostraré cómo hacer una carrera de obstáculos de láseres.Para esto se necesita:-Puntero láser-3 espejos-Un pequeña luz accionada solar (puede encontrarse en la sección jardinería de tiendas)-Cinta-A botella de spray llena de
Juego de anillo-lanzamiento del pirata

Juego de anillo-lanzamiento del pirata

que íbamos a tener una fiesta sorpresa para mi hijo de 4 años y está muy en Jake y los piratas de nunca jamás.  Además de un curso del obstáculo de pirata quería construir a algún tipo de juego.  Una Junta de anillo-lanzamiento de Capitán Garfio pare
Ultrasónico Robot evitando obstáculo

Ultrasónico Robot evitando obstáculo

Este es mi intento de diseñar y construir un obstáculo evitando robot! RekaBot (nombrada de un hada (:) puede detectar obstáculos con un sensor de ultrasonidos que puede moverse con la ayuda de un servo. Basado en las medidas que toma, las pistas son
LEGO carrera de obstáculos - para niños

LEGO carrera de obstáculos - para niños

En Instructables anterior mencioné por qué me estaba haciendo un curso del obstáculo de Lego. Esencialmente, mi hijo tuvo su fiesta de cumpleaños de 9 años de edad en el país. Le encanta Legos. Y quiero decir que realmente ama. Por lo tanto, para su
Robot WiFi con transmisión de video en tiempo real, detección de obstáculo y sensibilidad a la luz

Robot WiFi con transmisión de video en tiempo real, detección de obstáculo y sensibilidad a la luz

INTRODUCCIÓN:Este proyecto es un vehículo robot que puede ser controlado a través de cualquier ordenador de forma inalámbrica mediante un enlace WiFi. Transmite vídeo en tiempo real a la computadora que controla usando el mismo enlace. La cámara que
Obstáculos del Robot Qtechknow

Obstáculos del Robot Qtechknow

¿Has pensado de controlar su FuzzBot de forma inalámbrica? ¿Quieres hacer un real - life video juego? ¿Quieres aprender sobre la tecnología detrás de NFC y RFID? -el Qtechknow Robot de obstáculos cómo - a guía es para usted!Por favor votar para mí (e