INFRA rojo mando ROBOCAR usando AVR (ATMEGA32) MCU (5 / 5 paso)

Paso 5: Programas de Avr

1. sensor de control remoto:


#include
#include

#include "remote.h"

Globales volátiles unsigned int tiempo; Contador de tiempo principal, guarda tiempo en 10us, //Updated de ISR(TIMER0_COMP) volátil unsigned char BitNo; Pos de siguiente poco volátiles unsigned char ByteNo; Posición de Byte actual

char sin signo volátiles IrData [4]; Los datos de cuatro Bytes de paquete Ir //2-Byte Dirección 2 bytes datos volátiles unsigned char IrCmdQ [QMAX]; //Final recibió el comando (tampón)

volátiles sin firmar char PrevCmd; Utilizado para repetir

Variables utilizadas para empezar repitiendo solamente después que se pulsa una tecla durante cierto tiempo

char sin signo volátiles repetir; 1 = Si 0 no = volátiles unsigned char RCount; Número de repeticiones

carácter volátil QFront =-1, QEnd =-1;

char sin signo volátil estado; Estado del receptor

char sin signo volátiles borde; Borde de interrupción [levantamiento = cae OR 1 = 0]

parada de volátil int sin signo;

/**********************************************************************************************/ /* F U N C T I O N S S T A R T S */ /**********************************************************************************************/

void RemoteInit() {}

char i; para (i = 0; i < 4; i ++) IrData [i] = 0;

detener = 0; Estado = IR_VALIDATE_LEAD_HIGH; Borde = 0; Repetir = 0;

Configuración Timer1 / /---TCCR0| = ((1<

TIMSK| =(1<

OCR0 = TIMER_COMP_VAL; Set Compare el valor

unsigned char GetRemoteCmd(char wait) {unsigned char cmd;

while(QFront==-1) de if(Wait); if(QFront==-1) demás volver (RC_NONE);

CMD = IrCmdQ [QFront];

if(QFront==QEnd) QFront = QEnd =-1; else {if(QFront==(QMAX-1)) QFront = 0; else QFront ++;}

volver cmd;

}


2. main():


int Main
{

uint8_t cmd = 0; DDRB = 0X08;

DDRD = 0 X 80;

DDR = 0X0F; PORTC = 0 X 00;

mientras que //Infinite (1) bucle activo sensor IR {}

CMD=GetRemoteCmd(1);

{Switch(CMD)}

caso xx: {//BOT se desplaza hacia adelante //Ch+ btn forwardmotor();

rotura; Ambos motores hacia adelante

}

..........................................................

..........................................................

..........................................................

por defecto: PORTC = 0 x 00; break; Detener los motores izquierdos y derecho}

}

} / * Fin de la principal /

....................................................................................................................................

Es un modelo básico, pero podemos usarlo en modo PWM... saludos!!!

/ * ## #Rudra Narayan PAUL ###

M. TECNOLOGÍA (ORDENADOR CIENCIA ENGG.), FUT, ODISHA,

####################################################*/

Artículos Relacionados

Infra rojo chaleco código

Infra rojo chaleco código

es este instructable sobre el código y los dispositivos utilizados para el chaleco infra rojo. El coser que tienes que inventar tú mismo!Este chaleco muestra los códigos de infrarrojos que nos están bombardeando todo el tiempo en las habitaciones. In
Infra rojo intervalometro para Canon EOS M o los Nikon D50

Infra rojo intervalometro para Canon EOS M o los Nikon D50

Me encantan los vídeos de lapso de tiempo.Así que cuando recibí mi primera cámara decente no podía esperar para hacer una. El proceso es bastante simple. Encontrar una visión interesante, tomar una foto cada pocos segundos, cuando tienes unos cien tr
Sistema de control de temperatura usando Labview (Atmega32)

Sistema de control de temperatura usando Labview (Atmega32)

RESUMENEste trabajo describe un marco de encendido, sistemas de control de temperatura proporcional y lineal. El diseño e implementación de este proceso se realiza utilizando LABVIEW, el software de banco de trabajo virtual. El proyecto incluye la ad
Un escudo personalizado para la hélice ASC - mando a distancia Infra-rojo - y múltiples dientes!

Un escudo personalizado para la hélice ASC - mando a distancia Infra-rojo - y múltiples dientes!

En mi primer proyecto se añadió una pantalla LCD de 2 líneas a la placa Arduino Shield Compatible (ASC).(  )En este proyecto también introducimos el uso de múltiples dientes, una característica única de la viruta de propulsor de la paralaje.Pantalla
Reproducción de vídeo en color de nokia LCD usando un ATmega32

Reproducción de vídeo en color de nokia LCD usando un ATmega32

Hola,Yo estoy presentando a mi nuevo reproductor de vídeo constituida un atmega32 microcontrolador y nokia LCD a color. Tengo un 65K color LCD de un viejo nokia 6030 celular.  Yo directamente soldadas alambre de cobre esmaltado fino 10 desde el área
Conectar Nokia 3310 LCD al USB usando AVR

Conectar Nokia 3310 LCD al USB usando AVR

¿Qué haces con un teléfono antiguo, un microcontrolador y un montón de tiempo?Usted gancho pantalla de LCD de teléfono antiguo para el USB de la computadora por supuesto!En este proyecto a que vamos comunicar con un display de Nokia 3310 LCD por el p
Monitor de baterías caseras usando AVR

Monitor de baterías caseras usando AVR

chicos,Quiero compartir mi experiencia con el divisor de voltaje, ADC y AVRMonitor de baterías caseras con AVREs bastante simple el sensor son solo dos resistores y diodos zener con capasitor, no comprarlos, lo encontré en mi caja.Podemos usarlo para
Emulador de logotipo usando AVR

Emulador de logotipo usando AVR

hace cuarenta años, los investigadores desarrollaron un lenguaje de programación que se convertiría en una brillante herramienta educativa. Logo era un lenguaje de programación interesante, diseñado por Seymour Papert para niños, una vez utilizado en
Control de Pan e inclinación mecanismo vía Infra rojo (IR) TV remoto.

Control de Pan e inclinación mecanismo vía Infra rojo (IR) TV remoto.

Arduino wireless es un pedazo de pastel con un Sensor IR y un control remoto de TV. En este post I "ll mostrará cómo construir un mecanismo de inclinación de la cacerola con el servo y luego controlarla mediante un Remote(TV remote) IR. Mi parte favo
BLUETOOTH ROBOCAR controlados usando ANDROID SMART PHONE

BLUETOOTH ROBOCAR controlados usando ANDROID SMART PHONE

El objetivo de este proyecto a las cosas de control vía wireless en una banda de Bluetooth. Ahora un teléfono inteligente Android de días es una palabra de moda y muchas cosas pueden ser controladas por Android a través de Bluetooth, WiFi. Por lo tan
IPhone Learing mando a distancia Universal con Arduino

IPhone Learing mando a distancia Universal con Arduino

Hola y Bienvenidos a mi primer Instructable.No sé ustedes, pero nunca puedo encontrar el control remoto para mi TV. Siempre parece desaparecer cuando lo necesito y luego sólo aparece días más tarde como cuña dentro del sofá por uno de los niños. Una
Cómo utilizar Sensor IR usando Op amp y Arduino

Cómo utilizar Sensor IR usando Op amp y Arduino

¿qué es infrarrojo (IR)? Infrarrojo es una onda electromagnética que longitud de onda está entre 0.75 micrones a 1000 micrones (1 micrón = 1μm). Desde infrarrojo está fuera de gama de luz visible, no podemos ver realmente IR con ojo desnudo. Sin emba
Mantenimiento de pelo rojo vibrante

Mantenimiento de pelo rojo vibrante

Me has estado muriendo mi pelo de rojo hace 16 años y han intentado casi todos los productos que pretende dar y mantener colores vibrantes. En los últimos 8 años o menos, he tenido mi cabello varios tonos extremadamente brillante rojo, jengibre rojo,
Inalámbrico infrarrojo rojo dispositivo de detección perimetral

Inalámbrico infrarrojo rojo dispositivo de detección perimetral

Este Instructable le proporcionará las instrucciones para construir un Infra rojo perímetro detección dispositivo Wireless. El dispositivo consta de dos partes: el transmisor y el receptor. El transmisor detecta movimiento, parpadea un LED infra rojo