Autor Tema: Proyecto Emisora RC + arduino + modulo wifi  (Leído 7026 veces)

soko

  • Usuario de CNCs
  • ***
  • Mensajes: 1506
  • Karma: +16/-1
    • Ver Perfil
  • Ubicacin: Valladolid
Proyecto Emisora RC + arduino + modulo wifi
« en: Octubre 17, 2014, 10:48:15 am »

soko

  • Usuario de CNCs
  • ***
  • Mensajes: 1506
  • Karma: +16/-1
    • Ver Perfil
  • Ubicacin: Valladolid
Re:Proyecto Emisora RC + arduino + modulo wifi
« Respuesta #1 en: Octubre 17, 2014, 10:50:42 am »
Código: [Seleccionar]
//**********************************************************//
//   -------  Generacion PPM emisora casera  ---------- //
// ----------------------------------- //
// //
// Version de 6 canales y PIC12F683 //
// Diseado por Sokoloko //
// //
//**********************************************************//

#include <16f88.h>            // PIC USADO
#fuses NOWDT // SIN WATCH DOG TIMER
#fuses INTRC_IO // OSCILADOR INTERNO SIN CLKSALIDA
#fuses NOCPD // NO EE PROTECTION
#fuses NOPROTECT // NO SE PUEDE LEER EL CODIGO DEL PIC
#fuses NOMCLR // PIN_A3 USADA PARA ENTRADA Y NO PARA RESET
#fuses NOPUT // SIN POWER UP TIMER
#fuses NOBROWNOUT // SIN BROWNSALIDA RESET
#fuses NOFCMEN
#fuses NOIESO
#fuses NOLVP
#fuses NOWRT
#fuses NODEBUG
#fuses CCPB3
#device adc=10 // Lee entre 0 y 1024 (sin esto seria entre 0 y 256)
#use fast_io(A)
#use fast_io(B)
#use delay (clock=8000000)          // CLOCK INTERNO 8Mhz


//*********************** DEFINICIONES  ***********************************

#define OUT_PPM PIN_B4 // PAT. 10 // SALIDA PPM

// +VCC // PAT. 14// +Vcc
// MASA // PAT. 5 // MASA

//***********************  VARIABLES  ********************************************
long long CH1,CH2,CH3,CH4,CH5,CH6,CH7;   // long long IMPORTANTE pues ultiplicamos 1023 *1000 para leer entre 0 y 1023

long PULSO = 500; // NANOSG QUE DURA EL PULSO


//***********************  MAIN  ********************************************
/*
void mapeo(){    // Convierto a valores entre 0 y 1000 de forma resumida

Funcion de mapeo entre dos valores
long map (long x, long in_min, long in_max, long out_min, long out_max){
  map = (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min ;
}

En este caso seria:
map = (x - 0) * (1000 - 0) / (1023 - 0) + 0 ;
map = (x * 1000 / 1023);


CH1 = CH1 * 1000 / 1023;
CH2 = CH2 * 1000 / 1023;
CH3 = CH3 * 1000 / 1023;
CH4 = CH4 * 1000 / 1023;
CH5 = CH5 * 1000 / 1023;
CH6 = CH6 * 1000 / 1023;
CH7 = CH7 * 1000 / 1023;

}
*/
void lectura(){

set_adc_channel(0); // Establecemos el canal de lectura
// delay_ms(3);                    // Dejamos un tiempo para que cambie de canal (importante)
CH1 = read_adc(); // Leemos el valor del canal entre 0 y 1023

set_adc_channel(1); // Establecemos el canal de lectura
// delay_ms(3);                    // Dejamos un tiempo para que cambie de canal (importante)
CH2 = read_adc(); // Leemos el valor del canal entre 0 y 1023

set_adc_channel(2); // Establecemos el canal de lectura
// delay_ms(3);                    // Dejamos un tiempo para que cambie de canal (importante)
CH3 = read_adc(); // Leemos el valor del canal entre 0 y 1023

set_adc_channel(3); // Establecemos el canal de lectura
// delay_ms(3);                    // Dejamos un tiempo para que cambie de canal (importante)
CH4 = read_adc(); // Leemos el valor del canal entre 0 y 1023

set_adc_channel(4); // Establecemos el canal de lectura
// delay_ms(3);                    // Dejamos un tiempo para que cambie de canal (importante)
CH5 = read_adc(); // Leemos el valor del canal entre 0 y 1023

if(input(PIN_B2)) CH6 = 1023; // Segun B2 activamos canal 6
else CH6 = 0;

if(input(PIN_B3)) CH7 = 1023; // Segun B2 activamos canal 7
else CH7 = 0;

//mapeo();

}

void generar_PPMSUM(){

output_low(OUT_PPM); // Iniciamos el ciclo  del canal PPM
delay_us(PULSO);                    // Dejamos un tiempo para que cambie de canal (importante)
output_high(OUT_PPM); // Cambiamos la salida
delay_us(PULSO + CH1); // Generamos tiempo de seal PULSOns + valor leido en canal

output_low(OUT_PPM); // Iniciamos el ciclo  del canal PPM
delay_us(PULSO);                    // Dejamos un tiempo para que cambie de canal (importante)
output_high(OUT_PPM); // Cambiamos la salida
delay_us(PULSO + CH2); // Generamos tiempo de seal PULSOns + valor leido en canal

output_low(OUT_PPM); // Iniciamos el ciclo  del canal PPM
delay_us(PULSO);                    // Dejamos un tiempo para que cambie de canal (importante)
output_high(OUT_PPM); // Cambiamos la salida
delay_us(PULSO + CH3); // Generamos tiempo de seal PULSOns + valor leido en canal

output_low(OUT_PPM); // Iniciamos el ciclo  del canal PPM
delay_us(PULSO);                    // Dejamos un tiempo para que cambie de canal (importante)
output_high(OUT_PPM); // Cambiamos la salida
delay_us(PULSO + CH4); // Generamos tiempo de seal PULSOns + valor leido en canal

output_low(OUT_PPM); // Iniciamos el ciclo  del canal PPM
delay_us(PULSO);                    // Dejamos un tiempo para que cambie de canal (importante)
output_high(OUT_PPM); // Cambiamos la salida
delay_us(PULSO + CH5); // Generamos tiempo de seal PULSOns + valor leido en canal

output_low(OUT_PPM); // Iniciamos el ciclo  del canal PPM
delay_us(PULSO);                    // Dejamos un tiempo para que cambie de canal (importante)
output_high(OUT_PPM); // Cambiamos la salida
delay_us(PULSO + CH6); // Generamos tiempo de seal PULSOns + valor leido en canal

output_low(OUT_PPM); // Iniciamos el ciclo  del canal PPM
delay_us(PULSO);                    // Dejamos un tiempo para que cambie de canal (importante)
output_high(OUT_PPM); // Cambiamos la salida
delay_us(PULSO + CH7); // Generamos tiempo de seal PULSOns + valor leido en canal

output_low(OUT_PPM); // Generamos ciclo de sincronizacion durante el cual leo datos
delay_us(PULSO);
output_high(OUT_PPM); // En ciclo de sincronismo hago lecturas
lectura();
delay_ms(15); // Para hacer los 20 ms de sincronismo

}


void main(void){ // FUNCION PRINCIPAL
   
setup_oscillator(OSC_8MHZ|OSC_INTRC);       // Activa el oscilador interno.
setup_adc_ports(all_analog); // Usamos entradas analogicas
setup_adc(ADC_CLOCK_INTERNAL); // INICIALIZAMOS LOS CANALES A/D

output_high(OUT_PPM);
lectura(); // Hago una lectura inicial
//delay_ms(10);


while(1){

generar_PPMSUM(); // Generamos las seales de los canales 1 al 6

}
}
« Última modificación: Octubre 17, 2014, 10:53:08 am por soko »

soko

  • Usuario de CNCs
  • ***
  • Mensajes: 1506
  • Karma: +16/-1
    • Ver Perfil
  • Ubicacin: Valladolid
Re:Proyecto Emisora RC + arduino + modulo wifi
« Respuesta #2 en: Octubre 17, 2014, 10:52:22 am »
« Última modificación: Octubre 17, 2014, 11:04:35 am por soko »

rego

  • Aprendiz
  • **
  • Mensajes: 821
  • Karma: +5/-0
    • Ver Perfil
  • Ubicacin: Villanueva de Castellon (Valencia)
Re:Proyecto Emisora RC + arduino + modulo wifi
« Respuesta #3 en: Octubre 17, 2014, 12:19:15 pm »
soko es para 6 canales lo suyo era poder aprovechar al maximo y poder tener 8 canales como minimo

yo usaria este modulo de 2,4ghz y ademas tiene telemetria  ]>-) ]>-)

http://www.hobbyking.com/hobbyking/store/__17205__FrSky_DHT_8ch_DIY_Telemetry_Compatible_Transmitter_Module.html

si tienes este modelo tambien valdria

http://www.hobbyking.com/hobbyking/store/__14354__FrSky_DF_2_4Ghz_Combo_Pack_for_Futaba_w_Module_RX.html




soko

  • Usuario de CNCs
  • ***
  • Mensajes: 1506
  • Karma: +16/-1
    • Ver Perfil
  • Ubicacin: Valladolid
Re:Proyecto Emisora RC + arduino + modulo wifi
« Respuesta #4 en: Octubre 17, 2014, 04:10:46 pm »
Gracias por la informacion Rego,

Por lo que veo ese emisor va con por ejemplo este receptor:

http://www.hobbyking.com/hobbyking/store/__14351__FrSky_V8R7_II_2_4Ghz_7CH_Receiver.html?strSearch=v8r

rego

  • Aprendiz
  • **
  • Mensajes: 821
  • Karma: +5/-0
    • Ver Perfil
  • Ubicacin: Villanueva de Castellon (Valencia)
Re:Proyecto Emisora RC + arduino + modulo wifi
« Respuesta #5 en: Octubre 18, 2014, 01:23:29 am »


MODULO CON LCD:


para ver mas sensores te haria falta esto:

Miguel75

  • Aprendiz
  • **
  • Mensajes: 922
  • Karma: +14/-0
    • Ver Perfil
    • LserFoamy
  • Ubicacin: Estepona
Re:Proyecto Emisora RC + arduino + modulo wifi
« Respuesta #6 en: Octubre 18, 2014, 01:51:27 am »

rego

  • Aprendiz
  • **
  • Mensajes: 821
  • Karma: +5/-0
    • Ver Perfil
  • Ubicacin: Villanueva de Castellon (Valencia)
Re:Proyecto Emisora RC + arduino + modulo wifi
« Respuesta #7 en: Octubre 18, 2014, 04:25:20 am »
miguel es facil ya sabes como se me esta atragantando a mi lo del tester  :'( :'( :'(

lo bueno que tiene esto que con unos potenciometros de 10K (si no recuerdo mal y un arduino mini pro te haces una emisora para controlar robots, coches o lo que quieras

no tienes que aprovechar viejas emisoras si no que te puedes montar la tuya propia a tu gusto

a de mas seguro que cuando veas que esto soko lo lleva para adelante das alguna idea o resuelves alguna duda (a que me suena eso  ??? ??? ??? ???)


rego

  • Aprendiz
  • **
  • Mensajes: 821
  • Karma: +5/-0
    • Ver Perfil
  • Ubicacin: Villanueva de Castellon (Valencia)
Re:Proyecto Emisora RC + arduino + modulo wifi
« Respuesta #9 en: Octubre 18, 2014, 04:15:29 pm »

ngc1300

  • Administrador
  • Usuario de CNCs
  • *****
  • Mensajes: 2927
  • Karma: +49/-2
    • Ver Perfil
    • cncControl
  • Ubicacin: Terrassa
Re:Proyecto Emisora RC + arduino + modulo wifi
« Respuesta #10 en: Octubre 18, 2014, 04:28:52 pm »



 :)) :)) :)) :)) :)) :))
« Última modificación: Octubre 18, 2014, 04:31:18 pm por ngc1300 »

soko

  • Usuario de CNCs
  • ***
  • Mensajes: 1506
  • Karma: +16/-1
    • Ver Perfil
  • Ubicacin: Valladolid
Re:Proyecto Emisora RC + arduino + modulo wifi
« Respuesta #11 en: Octubre 18, 2014, 05:42:40 pm »

rego

  • Aprendiz
  • **
  • Mensajes: 821
  • Karma: +5/-0
    • Ver Perfil
  • Ubicacin: Villanueva de Castellon (Valencia)
Re:Proyecto Emisora RC + arduino + modulo wifi
« Respuesta #12 en: Octubre 18, 2014, 09:47:46 pm »
ncg lo que tu dices ya existe se llama FPV (vuelo en primera persona) eso es lo que quiero empezar a embarcarme ahora  ]>-) ]>-) ]>-)

soko lo del modulo en 35 no se como sera yo no se como le vas a sacar la antena  ??? ??? ??? ??? pero yo tambien tengo 1  ]>-) ]>-) ]>-)

el caso es que te comente lo del yosting por lo de manejar el quadcorter con eso ya que los que hay especificos para las emisoras se salen muchiiiiiiiiiiiiiiiiiiiiiiiiiiiisisisisimo de presupuesto pero si ves que es mucho para ti pues nada (es en plan pique para liarte un poquito)  ]>-) ]>-) ]>-) :)) :)) :))

a un que ahora que lo pienso despues de que te hagas la emisora te lio y podemos mirar como enchufar un yosting por el puerto de entrenador (profesor-alumno) de la emisora mediante un arduino   ??? ??? ??? ??? ???

no me digas que no te tienta la cosa  :)) :)) :)) :)) :)) :))

yo en principio observo y te ayudare en todo lo que pueda (sobretodo ideas)  :)) :)) :)) :)) ]>-) ]>-) ]>-)


rego

  • Aprendiz
  • **
  • Mensajes: 821
  • Karma: +5/-0
    • Ver Perfil
  • Ubicacin: Villanueva de Castellon (Valencia)
Re:Proyecto Emisora RC + arduino + modulo wifi
« Respuesta #13 en: Octubre 18, 2014, 09:51:55 pm »
ncg mira este video esta chulisimo es una carrera de quadcopers por el medio del monte

https://www.youtube.com/watch?v=ZwL0t5kPf6E

soko

  • Usuario de CNCs
  • ***
  • Mensajes: 1506
  • Karma: +16/-1
    • Ver Perfil
  • Ubicacin: Valladolid