Bienvenido, Invitado |
Tienes que registrarte para poder participar en nuestro foro.
|
|
|
Primer proyecto propio: Display controlado mediante teclado |
Enviado por: Electromecánico - 11-01-2014, 12:15 AM - Foro: Arduino
- Respuestas (5)
|
|
Buenas a tod@s:
Ya hace algunos días que mi primer Arduino llegó a mis manos. Desde entonces ya han pasado muchas cosas, la família Arduino se ha ampliado y las horas que me he pasado delante del ordenador o en la mesa de trabajo con Arduino, investigando, leyendo, probando, mirando tutoriales, viendo proyectos cogados en la red, etc.... son incontables.
Pero todo trabajo y esfuerzo, tarde o temprano da sus frutos. Y aquí están. Puede que sean algo flojos, y que para muchos mi primer proyecto no entrañe mucha dificultad. Sin embargo, para mi es una gran victoria, ya que hasta ahora, iba aprendiendo mediante la repetición de los tutoriales y proyectos que seguía por internet y los hacía yo en casa. Para aprender como programar la placa, y entender porqué se hacía así y que quería decir cada signo, etc.
Un buen día, me vino a la cabeza la idea de controlar un display con un teclado numerico, ya que sabía hacer funcionar un display y hacía poco que había aprendido a comandar unos leds mediante la comunicación serial, y junté las dos cosas. Y de aquí salió mi primer proyecto propio. Ya que hasta entonces siempre me había respaldado de un proyecto de otra persona, para comprobar mis errores, etc.
He estado varios días peleandome ya que no me terminaba de salir. Primero no se encendía ningun segmento del display, después conseguí que se encendiesen pero no respondían a los comandos, etc... Pero finalmete salió.
A continuación os dejo el código fuente para que podéis darle una ojeada y debajo de este os dejo un vídeo a modo de demostración de mi proyecto.
Código: void setup(){
Serial.begin(9600);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);
pinMode(9,OUTPUT);
pinMode(8,OUTPUT);
pinMode(7,OUTPUT);
pinMode(6,OUTPUT);
}
void loop(){
if (Serial.available()){
int val = Serial.read();
if (val == '0')
{
digitalWrite(12,HIGH);//Encendemos el nº0
digitalWrite(11,HIGH);
digitalWrite(10,HIGH);
digitalWrite(9,HIGH);
digitalWrite(8,HIGH);
digitalWrite(7,HIGH);
delay(1000);
digitalWrite(12,LOW);//Apagamos el nº0
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(8,LOW);
digitalWrite(7,LOW);
delay(1000);
}
if (val == '1')
{
digitalWrite(11,HIGH); //Encendemos el nº1
digitalWrite(10,HIGH);
delay(1000);
digitalWrite(11,LOW); //Apagamos el nº1
digitalWrite(10,LOW);
delay(1000);
}
if (val == '2')
{
digitalWrite(12,HIGH);//Encendemos el nº2
digitalWrite(11,HIGH);
digitalWrite(6,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
delay(1000);
digitalWrite(12,LOW);//Apagamos el nº2
digitalWrite(11,LOW);
digitalWrite(6,LOW);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
delay(1000);
}
if (val == '3')
{
digitalWrite(12,HIGH);//Encendemos el nº3
digitalWrite(11,HIGH);
digitalWrite(6,HIGH);
digitalWrite(10,HIGH);
digitalWrite(9,HIGH);
delay(1000);
digitalWrite(12,LOW);//Apagamos el nº3
digitalWrite(11,LOW);
digitalWrite(6,LOW);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
delay(1000);
}
if (val == '4')
{
digitalWrite(7,HIGH);//Encendemos el nº4
digitalWrite(6,HIGH);
digitalWrite(11,HIGH);
digitalWrite(10,HIGH);
delay(1000);
digitalWrite(7,LOW);//Apagamos el nº4
digitalWrite(6,LOW);
digitalWrite(11,LOW);
digitalWrite(10,LOW);
delay(1000);
}
if (val == '5')
{
digitalWrite(12,HIGH);//Encendemos el nº5
digitalWrite(7,HIGH);
digitalWrite(6,HIGH);
digitalWrite(10,HIGH);
digitalWrite(9,HIGH);
delay(1000);
digitalWrite(12,LOW);//Apagamos el nº5
digitalWrite(7,LOW);
digitalWrite(6,LOW);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
delay(1000);
}
if (val == '6')
{
digitalWrite(12,HIGH);//Encendemos el nº6
digitalWrite(7,HIGH);
digitalWrite(6,HIGH);
digitalWrite(10,HIGH);
digitalWrite(9,HIGH);
digitalWrite(8,HIGH);
delay(1000);
digitalWrite(12,LOW);//Apagamos el nº6
digitalWrite(7,LOW);
digitalWrite(6,LOW);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(8,LOW);
delay(1000);
}
if (val == '7')
{
digitalWrite(12,HIGH);//Encendemos el nº7
digitalWrite(11,HIGH);
digitalWrite(10,HIGH);
delay(1000);
digitalWrite(12,LOW);//Apagamos el nº7
digitalWrite(11,LOW);
digitalWrite(10,LOW);
delay(1000);
}
if (val == '8')
{
digitalWrite(12,HIGH);//Encendemos el nº8
digitalWrite(11,HIGH);
digitalWrite(10,HIGH);
digitalWrite(9,HIGH);
digitalWrite(8,HIGH);
digitalWrite(7,HIGH);
digitalWrite(6,HIGH);
delay(1000);
digitalWrite(12,LOW);//Apagamos el nº8
digitalWrite(11,LOW);
digitalWrite(10,LOW);
digitalWrite(9,LOW);
digitalWrite(8,LOW);
digitalWrite(7,LOW);
digitalWrite(6,LOW);
delay(1000);
}
if (val == '9')
{
digitalWrite(12,HIGH);//Encendemos el nº9
digitalWrite(11,HIGH);
digitalWrite(7,HIGH);
digitalWrite(6,HIGH);
digitalWrite(10,HIGH);
delay(1000);
digitalWrite(12,LOW);//Apagamos el nº9
digitalWrite(11,LOW);
digitalWrite(7,LOW);
digitalWrite(6,LOW);
digitalWrite(10,LOW);
delay(1000);
}
}
}
http://s1243.photobucket.com/user/driver...sort=3&o=1
Muchas gracias por vuestra ayuda ya que habéis puesto vuestro granito de arena en mi proyecto, ya que vosotr@s me habéis ayudado a iniciarme en el mundo Arduino y os estoy muy agradecido, y por eso he querido publicar mi primer proyecto, a modo de homenaje a tod@s vosotr@s y como muestra de agradecimiento, y para demostraros que a lo mejor, ahora soy un ignorante en el mundo Arduino, pero que poco a poco, todos vuestros consejos, posts, tutoriales, artículos, blogs, etc. Sirven de algo, para que la gente como yo, que no sabe casi nada, pueda, poco a poco, haciendo sus propios proyectos.
|
|
|
[Prusa i3] AiToR51 |
Enviado por: AiToR51 - 10-01-2014, 10:28 PM - Foro: Impresoras
- Respuestas (3)
|
|
Le compré prácticamente todo a biketrial981 y la fui montando estas navidades, pero soy muy vago y anduve algo liado y no pude abrir antes este hilo :elrisas:
Es una prusa i3 con las correas finas. Y el hotend Prusa Nozzle MK2, ya que quiero imprimir en ABS y Nylon, y para el nylon viene bien que llega a los 300º. Aunque por ahora sólo probé con PLA.
Aquí un par de fotos del proceso de montaje
Tras calibrarla un poco (no tengo aqui fotos de los intentos) empecé a hacer alguna chorradita:
un llavero para la novia:
llavero por excelencia :oops:
Uno para un chaval pequeño:
Y aquí algo más serio y con utilidad real, unas piezas para un helicóptero, que había perdido una.. Me costó bastantes intentos!
Y varias chorraditas más de las que no tengo fotos..
No sé por qué, los agujeros siempre me los hace más pequeños de lo normal.. En cambio las piezas por fuera las hace bien de medidas.
Intentando hacer unos soportes para el fin de carrera del eje Z, me fijé que a la impresora le costaba hacerlas, ya que en los puentes.. me la liaba parda.. Imprimí una pieza que vi por el foro para un ventilador de capa y unos adaptadores para mi extrusor.
El ventilador originalmente era para 24v (no tenía a mano uno de 12v y 4cm), y sopla poco puesto a 12v... Pero a pesar de eso, me enfría el hot end de una forma bestial, no es capaz de mantener los 200º, se me baja a más de 170º (y en el host repetier se ve que la salida de calentar el hotend se pone al 100%) e imprime mal.. De que puede ser?
|
|
|
[Duda] Final de carrera no para el motor |
Enviado por: odysx - 10-01-2014, 01:36 PM - Foro: Electrónica
- Respuestas (5)
|
|
Me encuentro con un problema. Todo funciona perfectamente excepto el eje Y, que al tocar el final de carrera no para. He revisado mil veces la configuración del Marlin y parece estar todo correcto, pero a pesar de que el final de carrera funciona y se enciende la luz al pulsarlo, no frena el motor. Necesito ideas de porque puede pasar esto, porque me esta volviendo loco :dale2:
Los demás finales de carrera funcionan y paran los otros motores, y he probado uno de los otro en este motor por si era el final de carrera y el otro tampoco funciona al conectarlo al eje Y. ¿Que pensáis que puede ser?
|
|
|
|