Go Down

Topic: AYUDA POR FAVOR COMENZANDO CON ARDUINO (Read 3 times) previous topic - next topic

satelite

HELP ME ARDUMASTERS!

Hola otra vez pero es que estoy liadiiisimo con las funciones y variables...no logro hacer que el programa me entienda xD.

Simplemente quiero hacer un programa que lo que me lea en el pin13(SALIDA) me lo escriba tambien en el pin7(SALIDA) pasando el pin13 de nivel alto a nivel bajo con un tiempo de 1segundo, pero claro solo quiero escribir el valor del pin13 en el programa y que el programa entienda que tiene que quedar siempre memorizado que lo que hay en pin13 lo escriba en pin7.

AQUI EMPIEZA:

int nombredeVariable = 0;


void setup ()
{
  pinMode (13,OUTPUT);
  pinMode (7,OUTPUT);
  digitalWrite (13,HIGH);
  nombredeVariable = digitalRead(13);
digitalWrite(7, nombredeVariable);
}

void loop ()
{
delay(1000);
digitalWrite (13,LOW);
}

El principio funciona bien...pero una vez entra en el loop no se me guarda la memoria de que el pin7 acompañe al pin13 y se descuelga el programa...

Algun consejo?

chiva

Mi consejo es que cojas un libro y aprendas algo de C, de verdad, sin faltar el respeto ni nada, pero te hace falta
Mercadillo electrónico. Kit iniciación a Arduino, shield LCD a color y más cosas!

ionhs

Como te comenta chiva busca el tema de condicionales en un manual de c. Porque la función loop se repite constantemente y tu solo tienes 2 funciones dentro de esta que espera un segundo y pone a cero la salida 13. Luego hay un fallo de concepto, dices  "que lo que me lea en el pin13(SALIDA) " si lees lo que hay en el pin 13 tiene que ser entrada no salida (hay algo que no cuadra).

hablando en seudocodigo tienes que hacer: (suponiendo que el pin 13 es entrada)
loop()
{
mirar el valor del pin13
si ha cambiado esperar un segundo y cambiar la salida7
sino ha cambiado continuar el programa
}

Esto de una manera simple lo suyo sería como el tutorial Blink wiht out delay o con un timer, pero para un pueblo sin alcade te valdría. Salu2

satelite

e nono si yo nunca programe a este nivel, mi programacion es siemens, tranquilo que no faltas al respeto hombre xDD, malo sera, muchas gracias por el consejo, pues tendre que ponerme con un manual de C.

y creo que no me entendisteis o nose si lo puede hacer arduino, pero bueno antes voy a aprender algo de C antes de seguir diciendo barbaridades...

Si me recomiendan un buen libre de C un placer! gracias.

JRodrigo

Un manual en C creo que va ser un poco bestia para que empieces en arduino, lo digo por la complejidad ya que no tiene nada que ver con programación de siemens, KNX y similares... que son interfaces intuitivas.

nayma te a puesto un enlace donde hay muchos manuales http://arduino.cc/playground/Es/Guias ves mirando, intenta comprender el código, el porque de cada linea, ves compaginado lo con esta pagina que tienes referencias del lenguaje http://arduino.cc/es/Reference/HomePage

Ejemplo: Estas mirando un código y no te acuerdas que función hacia eso, vas a las referencias del lenguaje Ctrl + F y busca la palabra.

Así es como empece yo con la plataforma arduino, yo no montaba los ejemplo, directamente intentaba comprender el código y mentalmente me lo imaginaba, lo único bueno que yo tengo es que se programar en PHP y circuitos electrónicos básicos (=

Un saludo y bienvenido!

Go Up