Show Posts
|
|
Pages: 1 [2]
|
|
16
|
International / Software / Re: Problema para leer temperatura y luz
|
on: December 08, 2012, 03:32:46 am
|
|
Para que quieres leer el voltage? Es que la verdad no lo entiendo muy bien, con el dato que te da el analogRead (0-1023) ya puedes hacer lo que quieras o por lo menos eso creo yo, si comentas que es lo que quieres hacer te podríamos ayudar un poco mejor.
un saludo
|
|
|
|
|
17
|
International / Software / Re: Problema para leer temperatura y luz
|
on: December 07, 2012, 06:00:06 pm
|
|
Hola de nuevo,me alegro poderte haber ayudado, mi pregunta es para que quieres cambiar la luz me refiero a multiplicar por 5 y todo eso? es que no para q te vale, lee el valor del LDR y ya esta no? quiero decir de 0-1023 y listo, y pruebas dandole con una luz directa q valor te da y luego tapandolo el otro valor y con eso juegas para poder hacer lo q quieras.
un saludo
|
|
|
|
|
18
|
International / Software / Re: Problema para leer temperatura y luz
|
on: December 07, 2012, 02:51:29 pm
|
Hola DaviidPR yo tambien soy bastante nuevo en esto la verdad, pero creo que la forma de escribir el codigo no es la correcta (espero que no te moleste), podrias mirar los ejemplos que vienen en el IDE, de los ejemplos analogicos. Te he escrito como lo haría yo el programa pero no se si es lo que quieres, con lo que te he puesto te dara el valor del NTC y del LDR, pero no se cual es la conversion q tienes que usar, he utilizado la que tu has puesto en tu código (el valor obtenido x 5 y todo / 1023). Espero haberte ayudado aunque sea solo un poco, yo no he probado el codigo, pruebalo. Si no te sirve todo, espero que te servira parte. Un saludo a todos. Fermg int ntc=A0; // declaras el ntd int ldr=A1; int valor_ntc=0; // variable para guardar el dato del NTC int valor_ldr=0; // variable para guardar el dato del LDR
void setup() { Serial.begin(9600); // abrimos la comunicación Serial pinMode(ntc,INPUT); // esto realmente no hace falta pero yo siempre lo pongo pinMode(ldr,INPUT); // no hace falta por ser un aentrada analógica. }
void loop() { valor_ntc= analogRead(ntc); // guardamos el valor del NTC en una variable Serial.write("Temperatura: "); // escribimos por serial Serial.write((valor_ntc*5)/1023); // calculamos el valor del NTC valor_ldr = analogRead(ldr); // Guardamos el valor del LDR Serial.write("Luz :"); Serial.write((valor_ldr*5)/1023); delay(1000); // esperamos para no saturar el serial }
|
|
|
|
|
19
|
International / Software / Re: Duda Con Servos
|
on: October 08, 2012, 10:49:52 am
|
|
perdon que no se uqe he tocado, yo lo haría asi:
te creas una variable
int grados; int boton+=2; int boton-=3;
void setup() { configuras los puertos }
void loop() { if (digitalRead(boton+)== HIGH){ grados++; } if (digitalRead(boton-)==HIGH) { grados--; }
myservo......(grados); }
yo lo haria algo parecido a esto. espero haberte sido de ayuda. un saludo a todoso
|
|
|
|
|
20
|
International / Software / Re: Duda Con Servos
|
on: October 08, 2012, 10:46:14 am
|
hola yo tambien soy nuevo pero no le veo mucho problema solo tendras que coger dos botones y decirle que cuando pulses uno sume x grados y cuando pulses otro los restes. te creas una variable que lo que hace es guardar el valor de los grados que quieres de 0 a 180.
#include <Servo.h> Servo MiServo; int Senal;
void setup(){ MiServo.attach(9); Serial.begin(9600); }
void loop() { // Lee la señal del potenciómetro por el pin A0 (Pin 23 del ATMega328). Senal = analogRead(A0); // Adapta la lectura de 1024 niveles a 180 niveles para el Servomotor. Senal = map(Senal, 0, 1023, 0, 179); // Manda la señal corregida al Servomotor y a la Consola Serial. MiServo.write(Senal); Serial.println(Senal, DEC); // Pequeño retardo para apreciar mejor las variaciones de la señal. delay(30); } // Manda la señal corregida al Servomotor y a la Consola Serial. MiServo.write(Senal); Serial.println(Senal, DEC); // Pequeño retardo para apreciar mejor las variaciones de la señal. delay(30); }
|
|
|
|
|
21
|
International / Software / Re: 1 Pulsador 2 Led´s
|
on: September 22, 2012, 05:29:14 am
|
Hola te importaría pobrar este codigo? ya se que es mucho más simple y poco sofisticado que el de los demas pero compilar compila y a mi me a funcionado no se si es lo que quieres pero tienes la base para hacerlo. puedes cambiar los if por swicht como hiciste tu, espero haberte ayudado yo tampoco se mucho más de esto, pero bueno entre todos seguro que lo hacemos. int boton = 5; int led1 = 10; int led2 = 11; int estado = 0; int x = 1;
void setup() { // initialize the LED pin as an output: pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); // initialize the pushbutton pin as an input: pinMode(boton, INPUT); }
void loop(){ // read the state of the pushbutton value: estado = digitalRead(boton); // miramos como esta el estado del boton
if(estado == HIGH) // si está alto entra en el bucle { delay(50); //para que no cuente varias veces un delay x++; //le suma 1 a x. if(x > 2) // aqui si x es mayor de 2 { x = 1; // x igual a 1. } }
if (x == 1) // si x es igual a 1 enciende el led1 y el led2 apagado { digitalWrite(led1, HIGH); digitalWrite(led2, LOW); } if ( x == 2) // si x es igual a 2 enciende el led2 y el led1 apagado { digitalWrite(led1, LOW); digitalWrite(led2, HIGH); } }
un saludo a todos y gracias por compartir vuestros conocimientos un saldo Fermg.
|
|
|
|
|
22
|
International / Software / Re: Duda sobre 1 Pulsador 2 Led´s
|
on: September 20, 2012, 12:34:18 pm
|
|
Hola a todos, pero quieres dejar encida la luz solo cuando tengas pulsado el boton o durante un tiempo determinado
Por ejemplo, cuando pulso el boton enciendo y cuando suelto se apague, o que cuando pulse se encienda el led 5000 milisegundos y se apague, por lo que entiendo por tu codigo es la primera la de cuando este pulsado se encianda y se apague cuando se suelte no?.
tambien te digo que tu has puesto el if(x>2) {x=0;} y el caso 0, no lo contempla el swicht pero no se si eso tendra algún problema.
El antirrebote lo puedes hacer con el codigo antideboucing como a comenta el compi Eried o yo lo que hago es un delay(50) justo despues de entrar en el if(.......).
ejemplo:
if(digitalRead(pulse)==HIGH) { delay(50); // una vez que entra en el if hace una espera, y luego cuenta, haz la prueba x++; }
un saludo a todos.
Fermg.
|
|
|
|
|
23
|
International / Software / Re: Duda sobre 1 Pulsador 2 Led´s
|
on: September 20, 2012, 08:39:13 am
|
|
Yo la verdad que soy bastante nuevo con lo del arduino pero lo que quieres hacer yo lo haría de la siguiente manera:
despues del
void loop() { if (digitalRead(pulse)==HIGH) { x++; // asi le sumamos 1 a la variable x. delay(5); if ( x > 2) // si x es mayor de 2 x igual a 1. { x=1;// aqui lo que hacemos es si x va a ser mayor de 2 pasamos de nuevo el valor a 1 yo lo pondria en cero para poder apagar los 2 led // por completo } }
luego lo que haces es poner los casos que quieras con el swicht.
|
|
|
|
|
24
|
International / Software / Re: Ayuda con pantalla LCD y LiquidCrystal
|
on: September 17, 2012, 08:15:58 am
|
|
Hola, yo tuve el mismo problema cuando quise hacer un cronometro y cuantavueltas para el scalextric, intente hacer de todo pensando que estaba mal conexionado pero, el problema fue que lo intentaba hacer con el IDE 1.01 y me daba el fallo que tu comentas, probre con el IDE 0.22 y 0.23 y no me dio ningún problema, haber si te sirve de ayuda.
un saludo
Fermg
|
|
|
|
|
25
|
International / Español / Re: problema pines analogicos
|
on: August 20, 2011, 11:53:00 am
|
|
Hola la placa no se si es como esa pero creo que lo conecto bien porque si pongo algo en la zona superior lo puenteo hasta llegar a masa o a +5v, nos e que pensar la verdad, acabo de cambiar el potenciometro mas cerca del led y nada hace lo mismo, miento tienes razon esta cortada por la mitad, hay una W marcada que no se quiere decir pero lo he cambiado a la parte mas cercana de la izquierda y me ha funcionado lo que no me hacia era llegar corriente, joder muchisimas gracias por todo te he vuento loco por una chorrada de nada.
|
|
|
|
|
26
|
International / Español / Re: problema pines analogicos
|
on: August 20, 2011, 10:21:02 am
|
|
Hola de nuevo, yo conecto a los pines de abajo a los A0 - A5 los he probado todos y nada he sacado 2 fotos para que veais como lo he montado y me digais si esta bien hecho yo no digo que lo halla echo mal en otras ocasiones y me halla cargado la placa que puede ser, muchas gracias cuando hay que colocar la resistencia y donde se coloca? en el positivo o en el negativo por lo he visto por ahi y cada vez lo he visto de una forma distinta. perdón por las fotos pero las he sacado con el movil porque no encontaba la camara de fotos, perdon pero conecto el rojo y azul rojo+ y azul - el verde de arriba pin 9 al positivo del led y el verde del potenciometro al A0, luego el potenciometro conecto tal como lo veis de deracha a izquierda 1º rojo+ luego verde datos y luego azul - no se vosotros me direis que hago mal que seguro que lo he jodido perdon por la expresión. el programa que acabo de hacer con la configuración que habeis visto es el de la foto. muchas gracias por ayudar a los que somos medio tontos o tontos enteros. puede ser que este escribiendo algo mal del programa pero con el ejemplo me sale igual.
|
|
|
|
|
27
|
International / Español / Re: problema pines analogicos
|
on: August 20, 2011, 02:02:12 am
|
|
hola yo tengo el Arduino Uno no tengo los pines del 14 al 19 como tu dices solo tengo del A0 al A5 y lo he conectado en todos y todos me hace los mismo me cambia los valores sin ton ni son, lo que tengo dudas es que lo halla cableado mal y por eso me la halla podido cargar la placa(tiene 2 dias). muchas gracias a todos por vuestra compresión.
un saludo desde Bilbao Fermg
|
|
|
|
|
28
|
International / Español / Re: problema pines analogicos
|
on: August 19, 2011, 03:50:00 pm
|
|
Hola gracias por responder tan rapido, la verdad que lo había dejado por imposible, te dejo un par de pantallazo del programa que tenía echo (una chorrada) y uno de ejemplo en los 2 hace lo mismo se vuelve loco el led porque sin tocar el potenciometro cambia los valores constantemente, te comento del potenciometro llevo a 5 voltios, a tierra y al A0 sin resistencia, Hay que ponerle? donde? y el led lo mismo saco coloco un led la protoboard y saco de + a pwm9 y de negativo lo llevo con una resistencia de 220 ohm. me ha parecido verlo asi en todos los sitios
|
|
|
|
|
29
|
International / Español / problema pines analogicos
|
on: August 19, 2011, 01:45:52 pm
|
|
Hola a todos, he comprado una placa Arduino Uno, la he comprado en Hong Kong, la verdad no se si es la original porque no vienen ni las marcas ni el texto de PWM, a lo que vamos se puede romper los puertos analogicos del Arduino si no le conectas las resistencias a la placa? yo de esto no tengo ni idea ni de programar ni de electrónica he estado viendo videos en youtube y leyendo muchos tutoriales y l agente conecta directamente el potenciometro a la placa, pero es que hace cosas muy raras, le digo que haga un analogRead(A0) y me empieza a dar dotos sin ton ni son nada me puede dar 512 con 23 o directamente me puede dar los 1023 no tengo ni idea, el otro día me lo hizo bien pero hoy me estoy volviendo loco lo he intentado programandolo yo y como he visto que no funcionaba pues he dicho voy a meter un ejemplo que seguro lo he hecho mal pero me hace lo mismo estara rota la placa? muchas gracias a todos y perdón por la chapa.
|
|
|
|
|