elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Dudas con código de Arduino
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Dudas con código de Arduino  (Leído 2,307 veces)
Emily

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Dudas con código de Arduino
« en: 14 Junio 2017, 10:57 am »

Hola a todos
hice este programa en arduino el cual tiene una conexión a C (C solo manda 3 datos que son la horas, los minutos y los segundos)
pero al momento de enviar mis datos de C a arduino este se va directo a las funciones y nunca lee los datos que se le envió de C
alguien de favor me podría ayudar

Código:
#include <SoftwareSerial.h>
SoftwareSerial blue(2,3);
void setup() {
  // put your setup code here, to run once:
  blue.begin(9600);
  Serial.begin(9600);
}

void loop() {
  int a,b,c;
  // put your main code here, to run repeatedly:
 if (blue.available()){
 a=blue.read();
 b=blue.read();
 c=blue.read();
 Serial.print(a+':'+b+':'+c+'\n');}
 delay(1000);
 
 if ((a<24) and  (b<60) and (c<60)){
 america(a,b,c);
 asia(a,b,c);
 africa(a,b,c);
 europa(a,b,c);
 oceania(a,b,c);
 c++;
 }
 else {
  Serial.println("Error al ingresar la hora...");
 }
 delay(30000);
  }

  
 void america (int a, int b, int c){
       if (a<23) {
        Serial.print ("Caracas Venezuela: ");
        Serial.print(a+1);
        Serial.print(":");
        Serial.print(b);
        Serial.print(":");
        Serial.print(c);
       }
       else {
        Serial.print ("Caracas Venezuela: ");
        Serial.print("00:");
        Serial.print(b);
        Serial.print(":");
        Serial.print(c);    
       }
 }
 void asia (int a, int b, int c){
   if (a<10) {
    Serial.print ("Corea del Sur: ");
    Serial.print(a+14);
    Serial.print(":");
    Serial.print(b);
    Serial.print(":");
    Serial.print(c);
   }
    if (a==10) {
    Serial.print ("Corea del Sur: ");
    Serial.print("00:");
    Serial.print(b);
    Serial.print(":");
    Serial.print(c);
   }
   else {
    Serial.print ("Caracas Venezuela: ");
    Serial.print(a-10);
    Serial.print(":");
    Serial.print(b);
    Serial.print(":");
    Serial.print(c);    
   }
 }
 void africa (int a, int b, int c){
   if (a<17) {
    Serial.print ("Egipto: ");
    Serial.print(a+14);
    Serial.print(":");
    Serial.print(b);
    Serial.print(":");
    Serial.print(c);
   }
    if (a==17) {
    Serial.print ("Egipto: ");
    Serial.print("00:");
    Serial.print(b);
    Serial.print(":");
    Serial.print(c);
   }
   else {
    Serial.print ("Egipto: ");
    Serial.print(a-17);
    Serial.print(":");
    Serial.print(b);
    Serial.print(":");
    Serial.print(c);    
   }
 }
 void oceania (int a, int b, int c){
   if (a<11) {
    Serial.print ("Sydney: ");
    Serial.print(a+13);
    Serial.print(":");
    Serial.print(b);
    Serial.print(":");
    Serial.print(c);
   }
    if (a==11) {
    Serial.print ("Sydney: ");
    Serial.print("00:");
    Serial.print(b);
    Serial.print(":");
    Serial.print(c);
   }
   else {
    Serial.print ("Sydney: ");
    Serial.print(a-11);
    Serial.print(":");
    Serial.print(b);
    Serial.print(":");
    Serial.print(c);    
   }
 }
 void europa (int a, int b, int c){
   if (a<18) {
    Serial.print ("Londres: ");
    Serial.print(a+13);
    Serial.print(":");
    Serial.print(b);
    Serial.print(":");
    Serial.print(c);
   }
    if (a==18) {
    Serial.print ("Londres: ");
    Serial.print("00:");
    Serial.print(b);
    Serial.print(":");
    Serial.print(c);
   }
   else {
    Serial.print ("Londres: ");
    Serial.print(a-18);
    Serial.print(":");
    Serial.print(b);
    Serial.print(":");
    Serial.print(c);    
   }
 }


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Dudas con código de Arduino
« Respuesta #1 en: 14 Junio 2017, 11:04 am »

deberias leer el serial si estás leyendo data por serial....

movido a C/C++


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
PalitroqueZ


Desconectado Desconectado

Mensajes: 948



Ver Perfil
Re: Dudas con código de Arduino
« Respuesta #2 en: 14 Junio 2017, 11:14 am »

¿y cómo es la programación para el puerto serial en C?

¿tiene la misma configuración de puerto serial que la de arduino?  ¿96008N1?

¿por qué no usas un monitor serial a ver si hay data viajando por el puerto?

En línea

"La Economía planificada lleva de un modo gradual pero seguro a la economía dirigida, a la economía autoritaria y al totalitarismo" Ludwig Erhard
animanegra

Desconectado Desconectado

Mensajes: 287



Ver Perfil
Re: Dudas con código de Arduino
« Respuesta #3 en: 14 Junio 2017, 11:32 am »

Hace eso porque es lo que le estas diciendo que haga.

Se va sin leer porque blue no esta available:
Código:
if (blue.available()){


entonces pasa de eso y no llega a leer nada. Si lo que quieres hacer es esperar a que te metan algo por el bluetooth tendrás que usar un bucle no un condicional. Que se quede esperando a tu entrada de datos y despues leer.

Y como siempre en arduino, revisa las conexiones. tx rx en un lado y en otro, que como el tx de uno es el rx del otro al final la terminamos liando ^^
« Última modificación: 14 Junio 2017, 17:32 pm por animanegra » En línea


42
No contesto mensajes por privado, si tienes alguna pregunta, consulta o petición plantéala en el foro para que se aproveche toda la comunidad.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con codigo arduino :S
Electrónica
Debci 4 4,579 Último mensaje 31 Mayo 2010, 17:01 pm
por SOMBRIO
codigo para controlar luces desde servidor web [arduino]
Electrónica
gabrielmellace 4 11,988 Último mensaje 18 Mayo 2015, 10:24 am
por Hurdano
[Ayuda]dudas antes de empezar en Arduino
Electrónica
Geormarsch 1 3,639 Último mensaje 4 Julio 2013, 05:47 am
por agus0
que codigo pongo para usar la pantalla lcd en arduino? « 1 2 »
Programación General
priorigi_10 11 8,692 Último mensaje 16 Marzo 2014, 00:18 am
por priorigi_10
Duda codigo arduino
Electrónica
Fox_Neo 0 2,159 Último mensaje 3 Agosto 2014, 20:16 pm
por Fox_Neo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines