Tabla de contenido:
- Paso 1: Retire el cable de alimentación de CA y retire la batería de 9 V
- Paso 2: conecte los cables de puente
- Paso 3: Encienda el RPi
- Paso 4: Instale Avrdude
- Paso 5: Edite el archivo de configuración de Avrdude
- Paso 6: Descargue o copie el archivo Flash.hex en / home / pi
- Paso 7: Verifique que Avrdude pueda hablar con el ATMEGA48V-10PU
- Paso 8: Actualice el archivo.hex en ATMEGA48V-10PU
- Paso 9: Solución de problemas simple si falla el flash
Video: Cómo usar los pines GPIO de una Raspberry Pi y Avrdude para el programa Bit-bang DIMP 2 o DA PIMP 2: 9 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Estas son instrucciones paso a paso sobre cómo usar una Raspberry Pi y el comando de código abierto gratuito avrdude para programar bit-bang-un DIMP 2 o DA PIMP 2. Supongo que está familiarizado con su Raspberry Pi y LINUX. línea de comando. No es necesario que esté familiarizado con la programación del chip AVR, pero ayuda si algo sale mal porque puede leer la salida de avrdude y tener una idea de qué hacer.
Este procedimiento debería tomar alrededor de 1 hora la primera vez y de 5 a 10 minutos cada vez después.
Necesitará:
1) Una Raspberry Pi con pines GPIO y fuente de alimentación. Estoy usando una Raspberry Pi Zero W con pines GPIO soldados. El sistema operativo debe ser Raspberry Pi OS (anteriormente Raspbian). Estoy usando Raspbian Lite (Stretch), que es algo antiguo. Estos comandos aún deberían funcionar en la última versión del sistema operativo Raspberry Pi.
En el futuro, me referiré a la Raspberry Pi como "RPi".
2) Cables de puente de hembra a hembra. Obtenga uno de cada uno de estos colores: rojo, negro, azul, amarillo, verde, morado. Estoy usando marrón en lugar de morado.
3) Un DIMP 2 o DA PIMP 2 con el encabezado ICSP opcional de 10 pines soldado. Estoy usando un DIMP 2 aquí, pero las instrucciones son las mismas para el DA PIMP 2.
4) Acceso a Internet para el RPi para que pueda instalar el comando de código abierto gratuito avrdude.
5) Una copia del archivo flash.hex para su DIMP 2 o DA PIMP 2. Puede crear el archivo.hex usted mismo a partir del código fuente sin procesar, pero no le mostraré cómo hacerlo aquí.
6) Alguna forma de iniciar sesión en el RPi: use una conexión de red o acceso directo a la consola. Necesita poder ejecutar comandos en él.
Paso 1: Retire el cable de alimentación de CA y retire la batería de 9 V
Primero, verifique si el cable de alimentación de CA está conectado al DIMP 2 o DA PIMP 2 y si está conectado a la red de CA. Si es así, PELIGRO: PELIGRO DE DESCARGA LETAL. Use guantes de goma y luego apague el interruptor principal en el DIMP 2 o DA PIMP 2. Luego, desenchufe el cable de alimentación de CA de la red de CA y desconecte el cable de alimentación de CA del DIMP 2 o DA PIMP 2. Puede tomar Quítese los guantes de goma una vez que retire el cable de alimentación de CA.
Luego, retire la batería de 9V. El RPi proporcionará energía al DIMP 2 a través de los cables rojo (Vcc) y negro (GND). Apague el interruptor deslizante del DIMP 2 o DA PIMP 2 por si acaso.
Paso 2: conecte los cables de puente
Con el RPi apagado, comience a conectar los cables de puente. En el futuro, los pines GPIO están en la Raspberry Pi y los pines ICSP están en el DIMP 2 (encabezado J3) o DA PIMP 2 (encabezado J1).
Consulte el diagrama que improvisé y las fotos si está perdido.
La parte RPi del diagrama es de pinout.xyz.
La parte ATMEGA48V-10PU del diagrama tiene copyright 2016 de Atmel Corp.
Estoy reclamando un uso justo de estos dibujos debido a las adiciones significativas y transformadoras.
El negro va del pin 6 de GPIO al pin 10 del ICSP. Esto es GND (tierra)
El amarillo va del pin 12 de GPIO al pin 9 de ICSP. Esto es MISO.
El verde va del pin 16 de GPIO al pin 1 de ICSP. Este es MOSI.
El azul va del pin 18 de GPIO al pin 7 de ICSP. Esto es SCK o SCLK (SClock)
El púrpura (marrón en mis fotos) va del pin 32 de GPIO al pin 5 del ICSP. Esto es RESET.
El rojo va del pin 4 de GPIO al pin 2 de ICSP. Este es Vcc (alimentación de 5 V)
Paso 3: Encienda el RPi
Ahora, adelante, enciende el RPi. La parte del voltímetro de DIMP 2 o DA PIMP 2 también debería encenderse, pero no lo sabrá al mirar la pantalla. En caso de duda, mida el voltaje con la sonda roja en el pin 20 del ATMEGA48V-10PU y la sonda negra en el pin 4, 6 u 8 del encabezado ICSP. Debería ser de alrededor de 5 V CC.
Paso 4: Instale Avrdude
Mis instrucciones solo mostrarán comandos de línea de comandos. Si tiene una GUI en ejecución, querrá abrir una Terminal para ejecutar estos comandos de línea de comandos.
Inicie sesión como el usuario pi predeterminado. La contraseña predeterminada es frambuesa.
Instale el comando avrdude escribiendo lo siguiente en el símbolo del sistema de la terminal:
sudo apt-get install avrdude
Paso 5: Edite el archivo de configuración de Avrdude
Edite el archivo de configuración avrdude escribiendo:
sudo nano /etc/avrdude.conf
Agregue estas líneas al medio del archivo donde están las otras definiciones del programador. Lo que hice fue copiar la sección del programador justo encima de ella para id = "linuxgpio", luego pegarla justo debajo (en la línea 1274) y luego editar la nueva sección.
programador
id = "pi_1"; desc = "Use la interfaz sysfs de Linux para bitbang líneas GPIO"; type = "linuxgpio"; reiniciar = 12; sck = 24; mosi = 23; miso = 18;;
Luego guarde el archivo presionando: Ctrl-O
Y luego salga del editor nano presionando: Ctrl-X
Paso 6: Descargue o copie el archivo Flash.hex en / home / pi
Copie el archivo flash.hex al RPi. Supongo que sabes cómo hacer esto. SUGERENCIA: Utilice el comando wget, curl, git o scp para bajar el archivo de la web al RPi.
El archivo.hex de DIMP 2 está aquí, junto con el código fuente:
github.com/dchang0/dimp2
Una versión personalizada del archivo.hex de DA PIMP 2 está aquí. ¡No he probado esto!
github.com/jcwren/DaPimp2
Si la versión anterior del archivo.hex de DA PIMP 2 no funciona, el código fuente original de DA PIMP 2 de Mikey Sklar está aquí. Tendrá que compilarlo usted mismo en un archivo.hex funcional. No cubro eso en estas instrucciones porque será un tutorial largo (pero no difícil). Programé con éxito varias unidades DA PIMP 2 en funcionamiento usando este código fuente:
drive.google.com/open?id=0Bx5Als-UeiZbSUdH…
O puede ir a la página principal de DA PIMP 2 aquí y hacer clic en el enlace al código fuente.
mikeysklar.blogspot.com/p/da-pimp-battery-…
Coloque el archivo.hex en esta ruta y el nombre de archivo en el RPi …
Para el DIMP 2:
/home/pi/dimp2.hex
Para DA PIMP 2:
/home/pi/da_pimp2.hex
Paso 7: Verifique que Avrdude pueda hablar con el ATMEGA48V-10PU
Ejecute el comando avrdude para asegurarse de que pueda hablar con el chip ATMEGA48V-10PU en el DIMP 2 o DA PIMP 2.
cd / home / pi
sudo avrdude -c pi_1 -p m48 -v
Obtendrá aproximadamente una página de salida. Mira el final. Si obtiene una respuesta como esta, puede continuar.
avrdude: dispositivo AVR inicializado y listo para aceptar instrucciones
Lectura | ############################################### | 100% 0,00 s
Si no es así, algo anda mal y deberías resolverlo. Lo más probable es que sea un cableado incorrecto, pero otra queja común que he visto es que el chip ATMEGA48V-10PU es falso. Parece que muchos de los que se venden en Amazon o eBay son falsificaciones. Los vendidos por Mouser o Digikey y otros distribuidores autorizados son genuinos.
Paso 8: Actualice el archivo.hex en ATMEGA48V-10PU
Ejecute este comando para hacer la programación del chip …
Para el DIMP 2:
cd / home / pi
sudo avrdude -c pi_1 -p m48 -U flash: w: dimp2.hex
Para DA PIMP 2:
cd / home / pi
sudo avrdude -c pi_1 -p m48 -U flash: w: da_pimp2.hex
Obtendrá aproximadamente una página de salida. Busque estas líneas:
avrdude: escritura flash (1528 bytes):
Escritura | ############################################### | 100% 0,79 s
avrdude: verificando…
avrdude: 1528 bytes de flash verificado avrdude: safemode: Fusibles correctos (E: FF, H: DF, L: 62)
Si llegó tan lejos, debería ver la pantalla LED mostrando ceros para el voltaje. Si ve los ceros, ¡ya está! Si no es así, salte al siguiente paso.
Si ve los ceros, apague elegantemente su RPi con este comando:
sudo shutdown -h ahora
Cuando la luz de encendido del RPi se apague (el DIMP 2 o DA PIMP 2 todavía estarán encendidos), puede desconectar la fuente de alimentación del RPi. Luego, desconecte los cables de puente entre el RPi y el DIMP 2 o DA PIMP 2.
Paso 9: Solución de problemas simple si falla el flash
Si no ve ceros en la pantalla de su DIMP 2 o DA PIMP 2, entonces es hora de solucionar el problema.
Nuevamente, primero revise su cableado.
Luego, verifique los estados de los fusibles mostrados por avrdude. Es posible que su chip venga con los fusibles configurados en valores diferentes a los predeterminados de fábrica. Es posible que sea necesario restablecer los fusibles del chip, lo que requiere un dispositivo de hardware totalmente diferente. Este es un problema con muchos de los chips ATMEGA48V-10PU falsos que se venden en eBay: son chips viejos extraídos de hardware desechado, los fusibles se han colocado y el vendedor no se molestó en restablecer los fusibles.
A veces, el chip ni siquiera es un ATMEGA48V-10PU. Podría ser un chip diferente reetiquetado. Por lo general, puede reconocer estas falsificaciones observando cuidadosamente las marcas en la parte superior e inferior del chip. Es más prudente obtener su ATMEGA48V-10PU a través de un proveedor confiable como Mouser o Digikey.
Recomendado:
Controlar varios LED con Python y los pines GPIO de su Raspberry Pi: 4 pasos (con imágenes)
Controlar varios LED con Python y los pines GPIO de su Raspberry Pi: este Instructable demuestra cómo controlar varios pines GPIO en su RaspberryPi para alimentar 4 LED. También le presentará parámetros y declaraciones condicionales en Python.Nuestro Instructable anterior Usando los pines GPIO de su Raspberry Pi para
LED parpadea con Raspberry Pi - Cómo usar pines GPIO en Raspberry Pi: 4 pasos
LED parpadea con Raspberry Pi | Cómo usar pines GPIO en Raspberry Pi: Hola a todos, en estas instrucciones aprenderemos a usar GPIO de Raspberry pi. Si alguna vez ha usado Arduino, probablemente sepa que podemos conectar el interruptor LED, etc.a sus pines y hacer que funcione como. haga que el LED parpadee o reciba la entrada del interruptor, así que
Inglés / Portugués: S4A Como Instalar E Usar / S4A Cómo instalar y usar: 7 pasos
Inglés / Portugués: S4A Como Instalar E Usar / S4A Cómo instalar y Usuario: O S4A (ou Scratch para Arduino) é um sistema que no se basa en Scratch que permite interagir directamente con Arduino. É uma forma muito hizo á tica de ensinar programa ç ã o e verificar em tempo real a intera ç & atild
Desarrollo de aplicaciones utilizando pines GPIO en DragonBoard 410c con sistemas operativos Android y Linux: 6 pasos
Desarrollo de aplicaciones usando pines GPIO en DragonBoard 410c con sistemas operativos Android y Linux: El propósito de este tutorial es mostrar la información necesaria para desarrollar aplicaciones usando el pin GPIO en la expansión de baja velocidad DragonBoard 410c. Este tutorial presenta información para desarrollar aplicaciones usando los pines GPIO con SYS en el Andr
Enchufe ISP de 6 pines a 8 pines: 4 pasos
Enchufe ISP de 6 pines a 8 pines: La razón por la que construí este proyecto principalmente fue para programar el ATTiny45, que tiene una conexión de 8 pines, mientras que mi USBtinyISP (de Ladyada) solo tiene una conexión de 10 pines y 6 pines. Después de husmear en Internet durante aproximadamente 3-4 semanas, no encontré nada qué