Go Down

Topic: Otro novato. Ayuda para mi ampliación de proyecto. (Read 802 times) previous topic - next topic

Toni_Cooper

Hola a todos,

No hace falta decir que soy nuevo en el foro por ello quiero presentarme y pediros ayuda.

Desde hace algún tiempo dedico parte de mi tiempo libre al mundo de la acuariofilia y un día  buscando y navegando por internet  descubrí  Arduino de pura casualidad y las múltiples utilidades y cualidades que este me podía aportar para mi acuario.

Después de leer bastante sobre el tema decidí comprar mi kit de iniciación para empezar mi andadura arduinera.

No soy un gran experto en programación ya que no me dedico a ello pero si conozco un poco de programación como hobbie y de modo autodidacta tanto en plataforma  Visual Basic como Basic4Android, de hecho tengo realizadas bastantes aplicaciones  las cuales uso a diario tanto para mi vida personal como  profesional por ello empezar a programar algo en Arduino no lo veía muy complicado y la verdad es que me está costando más de lo que me imaginaba.

Como os dije compré mi kit de iniciación pero me pareció sencillo y fui ampliando componentes para mi proyecto.
He decidió controlar mi acuario con Arduino. La idea es poder tomar mediciones de temperatura, control de ph, luces, programación  de comederos automáticos según horario ,  corte de Co2 y calentadores dependiendo de ciertas variables que debe controlar Arduino.

Aparentemente no lo veo complicado, es más, e instalado todas las librerías necesarias  y he probando una a una todas las aplicaciones que necesito y funcionan sin problema pero al meter todas estas en una sola aplicación empiezan mis  problemas.
No se si me explico con claridad, por ello hará alguna matización sobre ello.

He pensado en las aplicaciones que necesito tanto en variables, sensores etc. por ello he ido programando estos sensores de temperatura, buzzers, lcd, reloj horario, placa Ethernet, motor paso a paso,  etc. Y todos me funcionan sin problema pero al intentar meter todo en un solo código empiezan mis problemas.

Hasta ahora tengo un placa Arduino Mega funcionando un lcd 16X2 con placa I2C, un reloj horario DS1307, un sensor DTH11, un sensor  DS18B20 y un Buzzer. Funciona perfectamente la aplicación pero cuando intento añadir el código de  la placa Ethernet o la del  motor paso a paso estos últimos no funciona y como dije antes el código está bien ya que previamente lo he probado todo de forma individual. También quiero matizar diciendo que cuando estos fallan el resto de sensores siguen funcionando, es como si la placa no diese más, lo cual me extraña muchísimo viendo lo que he visto por internet.

Cual puede ser el problema? Llevo días enganchado en esto y no saco ninguna conclusión, por favor échenme una mano.

Gracias

carmeloco

Si no pones el codigo, nadie puede ver cual es el problema...

Toni_Cooper


Si no pones el codigo, nadie puede ver cual es el problema...

Pues tienes razón!

Este es el código, algo abreviado pero básicamente está todo.
Tal y como está funciona todo menos Ethernet pero como dije antes si este código de Ethernet lo pongo sólo funciona perfectamente .

carmeloco

El problema está aqui:

Code: [Select]
OneWire  ds(10);  // conectar en pin 10 con una resistencia de 4.7K omios

El pin 10 lo usa el shield ethernet para el SS del bus SPI, con lo que debes cambiar el pin del termómetro.

El esquema de pins del Ethernet Shield:

http://arduino.cc/en/Reference/Ethernet

Toni_Cooper

#4
Sep 01, 2014, 01:44 am Last Edit: Sep 01, 2014, 01:46 am by Toni_Cooper Reason: 1

El problema está aqui:

Code: [Select]
OneWire  ds(10);  // conectar en pin 10 con una resistencia de 4.7K omios

El pin 10 lo usa el shield ethernet para el SS del bus SPI, con lo que debes cambiar el pin del termómetro.

El esquema de pins del Ethernet Shield:

http://arduino.cc/en/Reference/Ethernet


Qué fallo más tonto, no me pasó por la cabeza controlar esto!
Te agradezco muchísimo tu interés y ayuda ya que esto me estaba desbordando.

Ahora estoy poniendo el motor paso a paso y me paso lo mismo que con la placa de red.
He probado este código y perfecto pero cuando lo inserto en mi aplicación deja de girar el motor.

Este es el código que he utilizado.

Quote

#include <CustomStepper.h>  
 
//Define los parametros iniciles del motor paso a paso
CustomStepper stepper(5, 6, 7, 25, (byte[]){8, B1000, B1100, B0100,
B0110, B0010, B0011, B0001, B1001}, 4075.7728395, 12, CW);  
 
void setup()  
{  
 //Define la velocidad del motor  
 stepper.setRPM(12);  
 //Define el numero de pasos de rotación
 stepper.setSPR(4075.7728395);  
}  
 
void loop()  
{  
if (stepper.isDone())  
{  
  //Intervalo entre acionamientos  
  delay(10000);  
  //Define el sentido de rotacion (CW = Horario)  
  stepper.setDirection(CW);  
  //Define el angulo de rotacion  
  stepper.rotateDegrees(360);  
 }  

 stepper.run();  
}  


También puede ser un problema de pins?

carmeloco

En principio, no corresponde ninguno. Si la placa de motores, no usa los pins 10, 11, 12, 13 y 4, no debería haber problemas de compatibilidad.

Toni_Cooper


En principio, no corresponde ninguno. Si la placa de motores, no usa los pins 10, 11, 12, 13 y 4, no debería haber problemas de compatibilidad.


OK Gracias  :)

Go Up