Paso 2: Posibles correcciones a mi me funciono
Vamos a empezar con lo básico, ¿vamos?
Supongo que tener una impresora 3D que desea actualizar o que su proyecto reqiures una pantalla decente.
Como se indica en cada esquema de ejemplo de estas pantallas necesita la biblioteca de U8GLIB por su ISP de Arduino.
Usted también necesita las librerías SPI y SD.
El código de sabio que debe cubrirse mediante el estudio de la documentación de estas bibliotecas.
Era sólo para asegurarse de que usted ha incluido lo que usted necesita para este controlador.
Para firmwares de Marlin sólo se tienen que descomentar el definir para este controlador en el archivo configuration.h.
La pantalla parece no funcionar...
Comprobar si tienes 5V en todos los pines de Arduino 5V!
En mi caso las rampas modificadas escudo ya no suppied el voltaje para el Arduino y tuve que agregar un regulador de voltaje para alimentar el Arduino independiente del escudo de rampas.
Sin que la fuente de 5V para el controlador de pantalla sólo alcanzará 3.2-3.6V en vez de los 5V necesarios.
¿Aún sin suerte?
Hay un potenciómetro en el controlador, en algunos modelos es ajustar el nivel de contraste de la pantalla, en la mayoría es simplemente inútil, para probar si cambia el contraste.
¿Otra vez nada?
Ahora lo odias me ;)
Hay otro potenciómetro directamente en la parte posterior de la pantalla real.
Con esto el contraste se puede ajustar independiente de todo.
Pero antes de probar aquí todo está conectado correctamente y que tiene 5V!
He encontrado dos vías de ajuste de este pote.
a) usando la brocheta de madera y tratar de utilizar una esquina del dial para el ajuste presionando - no muy fácil, no muy precisa y muy fácil de romper el poteniometer.
b) desoldadura de la pantalla del tablero y el uso de cable de cinta así que usted puede ajustar el nivel en el camino.
Funciona bien pero es un coñazo hacerlo y podría solamente ser vale la pena si prefiere separar la pantalla lo tienes que revertir esos cambios.
Este potenciómetro es muy sensible y hay sólo un pequeño "punto dulce" donde conseguir algo para ver en la pantalla.
Demasiado mucho y todo es negro, muy poco y parece que es sólo la luz de fondo.
El codificador no está funcionando correctamente...
Puede ser difícil conseguir el codificador trabajando según lo previsto.
Aguja puede probar diferentes valores para los pasos de encoder y clics.
Para sus propios proyectos basados en los códigos de ejemplo hacen lo mismo.
Si la dirección se invierte simplemente cambie los pernos para el codificador ;)
Problemas de SD...
Después de fijar todo lo anterior o tener la suerte de conseguir un modelo que trabajó fuera de la caja le puede todavía utilizar lenguaje muy mal intentando para usar una SD con ella.
Y créeme, hice exactamente lo mismo por más de unas horas jejeje
Como se mencionó anteriormente el principal culpable aquí es la fuente de 5V sin él los 3.3V regulador para la tarjeta SD no funciona.
Pero por alguna razón este regulador también es muy exigente en términos de apoyo a todas las tarjetas SD en que pone!
Así que si tienes problemas con el check de SD 5V primero, luego utilizar el bosquejo muestra "CardInfo" de la SD biblioteca para comprobar si tienes tarjetas SD que funcionan.
Para hacerlo:
Revise el bosquejo que se utilizan los pines de derecha!
Generalmente se utiliza la conexión ICSP y dependiendo del tipo de Arduino pines 4, 8, 10 o 53 (para el Mega con rampas) se utiliza para detectar la tarjeta SD.
Algunas personas podrían pensar usando pin 49 (en la Mega) para el SD detectar es una buena cosa.
Funciona como iba a ser el interruptor físicas para él pero también enmascara cualquier problema con la biblioteca o SD
Cuando subiste el bosquejo iniciar el serial monitor y usted debe conseguir un poco de información estado diciendo no SD está presente y comprobar algunas cosas.
Cerrar la ventana de monitor serie Inserte una tarjeta SD, abra al monitor de serie otra vez y compruebe si la tarjeta es reconocida.
Si en formato de duda la SD con la herramienta de formato suministrada por SDCARD.ORG - se formatea cualquier SD a las especificaciones de fabrica, formato de Windows no es apto para esta tarea.
Hay una buena oportunidad que su primer SD no funciona, mantenga así unos pocos a mano para probar.
Mi confianza tarjeta de 2GB funciona en todos los dispositivos de edad pero no en este lector de SD, mi 32GB SHD funciona bien - ir figura...
¿Mencionado para comprobar las asignaciones de pines? Así que si varias cartas en una fila se niegan a trabajar Verifique si realmente utiliza los pines de derecha en el bosquejo, especialmente para el Mega2560!
OK, la tarjeta se reconoce cuando empuje pero no puede ver los archivos o incluso la grasa info.
Suponiendo que hiciste que los pines son realmente correctos que ahora debe tratar de una biblioteca de SD de una versión diferente de la IDE.
Todavía prefiero la 1.05 para todos mis proyectos.
Tenga en cuenta que al cambiar las cosas en la carpeta de biblioteca que necesita para cerrar todas las ventanas del IDE y volver a cargar el IDE como lo contrario nada va a cambiar.
Ahora todo debería funcionar y usted debe encontrar SD por lo menos una de su colección que trabaja.
Si puede ver el tipo de SD en CardInfo, como SD, SDHC y tal es la comunicación funciona algo pero lo más importante es que este SD es compatible.
Bien formateada pero todavía no hay archivos en él pueden significar su biblioteca SD necesita algunos cambios.
En SD. Búsqueda del archivo de H para
comenzar a Boolean (uint8_t csPin = SD_CHIP_SELECT_PIN);
y sustituir por:
comenzar a Boolean (uint8_t csPin = SD_CHIP_SELECT_PIN, spiSpeed de uint8_t = SPI_HALF_SPEED);
En SD. Búsqueda CPP de
Boolean SDClass::begin (uint8_t csPin) {}
/*
Realiza la inicialización necesaria en la biblioteca de sdfatlib.
Devuelve verdadero si la inicialización tiene éxito, false en caso contrario.
* / return card.init (SPI_HALF_SPEED, csPin) & & volume.init(card) & & root.openRoot(volume);
}
y sustituir por:
Boolean SDClass::begin (uint8_t csPin, uint8_t spiSpeed) {}
/*
Realiza la inicialización necesaria en la biblioteca de sdfatlib.
Devuelve verdadero si la inicialización tiene éxito, false en caso contrario.
* / return card.init (spiSpeed, csPin) & & volume.init(card) & & root.openRoot(volume);
}
Esto le dará más transferencia de opciones de velocidad para la comunicación serial.
Después de este último mod resort todo debería funcionar bien.