Table des matières:
- Étape 1: Retirez le cordon d'alimentation secteur et retirez la pile 9 V
- Étape 2: raccordez les câbles de démarrage
- Étape 3: Mettez le RPi sous tension
- Étape 4: Installez Avrdude
- Étape 5: Modifiez le fichier de configuration Avrdude
- Étape 6: Téléchargez ou copiez le fichier Flash.hex dans /home/pi
- Étape 7: Vérifiez qu'Avrdude peut parler avec l'ATMEGA48V-10PU
- Étape 8: Flashez le fichier.hex sur l'ATMEGA48V-10PU
- Étape 9: Dépannage simple en cas d'échec du flash
Vidéo: Comment utiliser les broches GPIO et Avrdude d'un Raspberry Pi pour programmer Bit-bang DIMP 2 ou DA PIMP 2: 9 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Ce sont des instructions étape par étape sur la façon d'utiliser un Raspberry Pi et la commande open-source gratuite avrdude pour programmer par bit-bang un DIMP 2 ou DA PIMP 2. Je suppose que vous connaissez votre Raspberry Pi et le LINUX ligne de commande. Vous n'avez pas besoin d'être familiarisé avec la programmation des puces AVR, mais cela aide si quelque chose ne va pas car vous pouvez lire la sortie d'avrdude et avoir une idée de ce qu'il faut faire.
Cette procédure devrait prendre environ 1 heure la première fois et 5 à 10 minutes à chaque fois.
Tu auras besoin de:
1) Un Raspberry Pi avec broches GPIO et alimentation. J'utilise un Raspberry Pi Zero W avec des broches GPIO soudées. Le système d'exploitation doit être Raspberry Pi OS (anciennement Raspbian). J'utilise Raspbian Lite (Stretch), qui est assez ancien. Ces commandes devraient toujours fonctionner sur la dernière version du système d'exploitation Raspberry Pi.
À l'avenir, j'appellerai le Raspberry Pi « RPi ».
2) Cavaliers femelle-femelle. Obtenez une de chacune de ces couleurs: rouge, noir, bleu, jaune, vert, violet. J'utilise du marron au lieu du violet.
3) Un DIMP 2 ou DA PIMP 2 avec l'embase ICSP à 10 broches en option soudée. J'utilise un DIMP 2 ici, mais les instructions sont les mêmes pour le DA PIMP 2.
4) Accès Internet pour le RPi afin que vous puissiez installer la commande open-source gratuite avrdude.
5) Une copie du fichier flash.hex pour votre DIMP 2 ou DA PIMP 2. Vous pouvez créer le fichier.hex vous-même à partir du code source brut, mais je ne vous montrerai pas comment le faire ici.
6) Un moyen de se connecter au RPi - utilisez soit une connexion réseau, soit un accès direct à la console. Vous devez pouvoir exécuter des commandes dessus.
Étape 1: Retirez le cordon d'alimentation secteur et retirez la pile 9 V
Tout d'abord, vérifiez si le cordon d'alimentation secteur est connecté au DIMP 2 ou au DA PIMP 2 et branché sur le secteur. Si c'est le cas, DANGER: RISQUE DE CHOC MORTEL. Portez des gants en caoutchouc, puis éteignez l'interrupteur à bascule principal du DIMP 2 ou du DA PIMP 2. Ensuite, débranchez le cordon d'alimentation secteur du secteur et débranchez le cordon d'alimentation secteur du DIMP 2 ou du DA PIMP 2. Vous pouvez prendre retirez les gants en caoutchouc une fois le cordon d'alimentation secteur débranché.
Ensuite, retirez la pile 9V. L'alimentation sera fournie au DIMP 2 par le RPi via les fils rouge (Vcc) et noir (GND). Désactivez l'interrupteur coulissant du DIMP 2 ou du DA PIMP 2 au cas où.
Étape 2: raccordez les câbles de démarrage
Le RPi n'étant pas sous tension, commencez à brancher les câbles de démarrage. À l'avenir, les broches GPIO sont sur le Raspberry Pi et les broches ICSP sont sur le DIMP 2 (en-tête J3) ou DA PIMP 2 (en-tête J1).
Référez-vous au schéma que j'ai bricolé et aux photos si vous êtes perdu.
La partie RPi du diagramme provient de pinout.xyz.
La partie ATMEGA48V-10PU du diagramme est sous copyright 2016 Atmel Corp.
Je revendique une utilisation équitable de ces dessins en raison des ajouts significatifs et transformateurs.
Le noir va de la broche GPIO 6 à la broche ICSP 10. C'est GND (Ground)
Le jaune va de la broche GPIO 12 à la broche ICSP 9. C'est MISO.
Le vert va de la broche GPIO 16 à la broche ICSP 1. C'est MOSI.
Le bleu va de la broche GPIO 18 à la broche ICSP 7. C'est SCK ou SCLK (SClock)
Le violet (marron sur mes photos) va de la broche GPIO 32 à la broche ICSP 5. C'est RESET.
Le rouge va de la broche GPIO 4 à la broche ICSP 2. C'est Vcc (5V Power)
Étape 3: Mettez le RPi sous tension
Maintenant, allez-y et allumez le RPi. La partie voltmètre de DIMP 2 ou DA PIMP 2 devrait également s'allumer, mais vous ne le saurez pas en regardant l'écran. En cas de doute, mesurez la tension avec la sonde rouge à la broche 20 de l'ATMEGA48V-10PU et la sonde noire à la broche 4, 6 ou 8 sur l'embase ICSP. Il devrait être d'environ 5VDC.
Étape 4: Installez Avrdude
Mes instructions n'afficheront que les commandes de ligne de commande. Si vous avez une interface graphique en cours d'exécution, vous souhaiterez ouvrir un terminal pour exécuter ces commandes de ligne de commande.
Connectez-vous en tant qu'utilisateur par défaut pi. Le mot de passe par défaut est framboise
Installez la commande avrdude en tapant ce qui suit à l'invite de commande du terminal:
sudo apt-get install avrdude
Étape 5: Modifiez le fichier de configuration Avrdude
Modifiez le fichier de configuration avrdude en tapant:
sudo nano /etc/avrdude.conf
Ajoutez ces lignes au milieu du fichier où se trouvent les autres définitions du programmeur. Ce que j'ai fait, c'est copier la section du programmeur juste au-dessus pour id = "linuxgpio", puis la coller juste en dessous (à la ligne 1274), puis j'ai édité la nouvelle section.
programmeur
identifiant = "pi_1"; desc = "Utiliser l'interface Linux sysfs pour bitbang les lignes GPIO"; type = "linuxgpio"; réinitialiser = 12; sck = 24; mosi = 23; miso = 18;;
Puis enregistrez le fichier en appuyant sur: Ctrl-O
Et puis quittez l'éditeur nano en appuyant sur: Ctrl-X
Étape 6: Téléchargez ou copiez le fichier Flash.hex dans /home/pi
Copiez le fichier flash.hex sur le RPi. Je suppose que vous savez comment faire cela. CONSEIL: utilisez la commande wget, curl, git ou scp pour transférer le fichier du Web vers le RPi.
Le fichier.hex de DIMP 2 est ici, avec le code source:
github.com/dchang0/dimp2
Une version personnalisée du fichier.hex de DA PIMP 2 est ici. je n'ai pas testé ça !
github.com/jcwren/DaPimp2
Si la version ci-dessus du fichier.hex de DA PIMP 2 ne fonctionne pas, le code source original de DA PIMP 2 de Mikey Sklar est ici. Vous devrez le compiler vous-même dans un fichier.hex fonctionnel. Je ne couvre pas cela dans ces instructions car ce sera un tutoriel long (mais pas difficile). J'ai réussi à programmer plusieurs unités DA PIMP 2 fonctionnelles à l'aide de ce code source:
drive.google.com/open?id=0Bx5Als-UeiZbSUdH…
Ou vous pouvez accéder à la page principale de DA PIMP 2 ici et cliquer sur le lien vers le code source.
mikeysklar.blogspot.com/p/da-pimp-battery-…
Mettez le fichier.hex à ce chemin et ce nom de fichier sur le RPi…
Pour le DIMP 2:
/home/pi/dimp2.hex
Pour le DA PIMP 2:
/home/pi/da_pimp2.hex
Étape 7: Vérifiez qu'Avrdude peut parler avec l'ATMEGA48V-10PU
Exécutez la commande avrdude pour vous assurer qu'elle peut parler avec la puce ATMEGA48V-10PU sur le DIMP 2 ou DA PIMP 2.
cd /accueil/pi
sudo avrdude -c pi_1 -p m48 -v
Vous obtiendrez environ une page de sortie. Regardez à la fin. Si vous obtenez une réponse comme celle-ci, vous pouvez continuer.
avrdude: appareil AVR initialisé et prêt à accepter les instructions
Lecture | ##################################################### | 100% 0,00s
Si ce n'est pas le cas, alors quelque chose ne va pas et vous devriez le découvrir. Il s'agit très probablement d'un mauvais câblage, mais une autre plainte courante que j'ai vue est que la puce ATMEGA48V-10PU est un faux. Il semble que beaucoup d'entre eux vendus sur Amazon ou ebay soient des contrefaçons. Ceux vendus par Mouser ou Digikey et d'autres distributeurs autorisés sont authentiques.
Étape 8: Flashez le fichier.hex sur l'ATMEGA48V-10PU
Exécutez cette commande pour faire la programmation de la puce…
Pour le DIMP 2:
cd /accueil/pi
sudo avrdude -c pi_1 -p m48 -U flash:w:dimp2.hex
Pour le DA PIMP 2:
cd /accueil/pi
sudo avrdude -c pi_1 -p m48 -U flash:w:da_pimp2.hex
Vous obtiendrez environ une page de sortie. Recherchez ces lignes:
avrdude: écriture flash (1528 octets):
Écriture | ##################################################### | 100% 0,79s
avrdude: vérifier …
avrdude: 1528 octets de flash vérifié avrdude: safemode: fusibles OK (E:FF, H:DF, L:62)
Si vous êtes arrivé jusqu'ici, vous devriez voir l'affichage LED indiquant des zéros pour la tension. Si vous voyez les zéros, c'est fini ! Sinon, passez à l'étape suivante.
Si vous voyez les zéros, éteignez gracieusement votre RPi avec cette commande:
sudo shutdown -h now
Lorsque le voyant d'alimentation du RPi s'éteint (le DIMP 2 ou le DA PIMP 2 sera toujours allumé), vous pouvez débrancher l'alimentation du RPi. Débranchez ensuite les cavaliers entre le RPi et le DIMP 2 ou DA PIMP 2.
Étape 9: Dépannage simple en cas d'échec du flash
Si vous ne voyez pas de zéros sur l'écran de votre DIMP 2 ou DA PIMP 2, il est temps de dépanner.
Encore une fois, vérifiez d'abord votre câblage.
Ensuite, vérifiez les états des fusibles indiqués par avrdude. Il est possible que votre puce soit livrée avec des fusibles réglés sur des valeurs différentes de celles par défaut. La puce peut nécessiter une réinitialisation de ses fusibles, ce qui nécessite un périphérique matériel totalement différent. C'est un problème avec de nombreuses fausses puces ATMEGA48V-10PU vendues sur ebay - ce sont de vieilles puces extraites de matériel mis au rebut, et les fusibles ont été réglés, et le vendeur n'a pas pris la peine de réinitialiser les fusibles.
Parfois, la puce n'est même pas une ATMEGA48V-10PU. Il pourrait s'agir d'une puce différente réétiquetée. Habituellement, vous pouvez reconnaître ces contrefaçons en regardant attentivement les marques en haut et en bas de la puce. Il est plus sage d'obtenir votre ATMEGA48V-10PU auprès d'un fournisseur de confiance comme Mouser ou Digikey.
Conseillé:
Contrôler plusieurs LED avec Python et les broches GPIO de votre Raspberry Pi : 4 étapes (avec photos)
Contrôler plusieurs LED avec Python et les broches GPIO de votre Raspberry Pi : Ce Instructable montre comment contrôler plusieurs broches GPIO sur votre RaspberryPi pour alimenter 4 LED. Il vous présentera également les paramètres et les instructions conditionnelles en Python. Notre précédent Instructable Using Your Raspberry Pi's GPIO Pins to Con
Clignotement LED avec Raspberry Pi - Comment utiliser les broches GPIO sur Raspberry Pi : 4 étapes
Clignotement LED avec Raspberry Pi | Comment utiliser les broches GPIO sur Raspberry Pi : Salut les gars dans cette instructables, nous allons apprendre à utiliser les GPIO de Raspberry pi. Si vous avez déjà utilisé Arduino, vous savez probablement que nous pouvons connecter un commutateur LED, etc. à ses broches et le faire fonctionner comme. faire clignoter la LED ou obtenir l'entrée du commutateur donc
Comment utiliser le terminal Mac et comment utiliser les fonctions clés : 4 étapes
Comment utiliser le terminal Mac et comment utiliser les fonctions clés : Nous allons vous montrer comment ouvrir le terminal MAC. Nous vous montrerons également quelques fonctionnalités du terminal, telles que ifconfig, le changement de répertoire, l'accès aux fichiers et arp. Ifconfig vous permettra de vérifier votre adresse IP, et votre annonce MAC
Convainquez-vous d'utiliser simplement un onduleur 12 V vers ligne CA pour les guirlandes lumineuses à LED au lieu de les recâbler pour 12 V. : 3 étapes
Convainquez-vous de simplement utiliser un onduleur 12V vers ligne CA pour les guirlandes lumineuses à LED au lieu de les recâbler pour 12V. : Mon plan était simple. Je voulais couper une guirlande lumineuse à LED murale en morceaux, puis la recâbler pour qu'elle fonctionne en 12 volts. L'alternative était d'utiliser un onduleur, mais nous savons tous qu'ils sont terriblement inefficaces, n'est-ce pas ? Droit? Ou sont-ils?
Prise ISP 6 broches à 8 broches : 4 étapes
Prise ISP 6 broches à 8 broches : La raison pour laquelle j'ai principalement construit ce projet était de programmer l'ATTiny45, qui a une connexion à 8 broches, tandis que mon USBtinyISP (de Ladyada) n'a qu'une connexion à 10 et 6 broches. Après avoir fouiné sur Internet pendant environ 3-4 semaines, je n'ai rien trouvé quoi