Il y a un fil à ce sujet sur le forum Arduino - quelqu'un avait une question similaire.
J'ai trouvé un schéma (ci-dessous) qui n'est pas pour cette carte, mais les broches d'en-tête sont étiquetées de la même manière que vous avez trouvé, donc c'est plausiblement similaire.
Il semble que l'en-tête soit utilisé pour le "mode de bit binaire synchrone" comme indiqué ici: Modes de bit bang pour le FT232R et FT245R (Note d'application AN_232R-01, référence document: FT_000339)
Vous pouvez en fait configurer cet en-tête pour qu'il soit un programmeur SPI, comme décrit par exemple dans FT232R Bitbang Programmer .
J'ai fait un test car j'avais une planche similaire dans mon tiroir de pièces:
Il avait prévu un en-tête à 6 broches similaire au vôtre. En retournant la planche, nous pouvons voir qu'ils étaient étiquetés exactement comme les vôtres:
J'ai soudé sur un en-tête (en jaune, pour être cohérent) me donnant ceci:
J'ai ajouté un point blanc pour indiquer la broche 1 (visible sur le bord) alors je branche le câble dans le bon sens.
Lorsque j'ai essayé d'utiliser le forum, j'ai reçu ce message d'avrdude:
avrdude: erreur: pas de support libftdi ou libusb. Installez libftdi1 / libusb-1.0 ou libftdi / libusb et exécutez à nouveau configure / make
Il fallait donc le compiler à partir de zéro! J'utilise Ubuntu 14.04 si vous essayez de suivre. :)
Télécharger avrdude
Allez sur le site http://www.nongnu.org/avrdude/
J'ai téléchargé la source de la version 6.3: http://download.savannah.gnu.org/releases/avrdude/avrdude-6.3.tar.gz
Installez libusb et libftdi
Avant de compiler, j'ai dû saisir libusb et libftdi:
sudo apt-get install libusb-1.0-0-dev
sudo apt-get install libftdi-dev
Compiler avrdude
Maintenant, nous faisons avrdude après avoir extrait l'archive et navigué vers son dossier:
./configure --enable-libusb --enable-libftdi
make
Trouver la configuration correcte
Dans le avrdude.conf
fichier fourni avec avrdude, j'ai trouvé (après quelques réflexions) que cela semble être la bonne entrée:
# see http://www.geocities.jp/arduino_diecimila/bootloader/index_en.html
# Note: pins are numbered from 1!
programmer
id = "arduino-ft232r";
desc = "Arduino: FT232R connected to ISP";
type = "ftdi_syncbb";
connection_type = usb;
miso = 3; # CTS X3(1)
sck = 5; # DSR X3(2)
mosi = 6; # DCD X3(3)
reset = 7; # RI X3(4)
;
Le mappage des broches aux nombres fonctionne comme ceci ... Du PDF sur le mode bit bang mentionné ci-dessus, nous avons ce tableau, avec des annotations en bleu par moi:
Les nombres se réfèrent au numéro de bit (c'est-à-dire dans la plage de 0 à 7) dans l'octet de données "bit banged". Nous pouvons voir d'après le schéma précédent que, par exemple, MISO sur l'en-tête ICSP est câblé à CTS sur le FT232RL. Ainsi, MISO est le bit de données 3, que nous indiquons à avrdude dans la configuration ci-dessus. De même SCK est le bit de données 5, et ainsi de suite.
J'ai essayé de tester comme ça:
./avrdude -C avrdude.conf -carduino-ft232r -pm328p -v
Autorisations de correctifs
J'ai obtenu une erreur d'autorisation qui a été corrigée en créant un fichier dans le dossier /etc/udev/rules.d/
appelé 71-FTDI.rules
. À l'intérieur c'est:
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE:="0666"
Les nombres peuvent varier pour votre planche. Vous devez trouver le fournisseur et l'ID du produit. Dans Ubuntu, vous pouvez faire lsusb
et voir (entre autres):
Bus 003 Device 061: ID 0403:6001 Future Technology Devices International, Ltd FT232 Serial (UART) IC
^^^^ ^^^^
Notez les deux nombres hexadécimaux, qui sont copiés dans le fichier de règles.
Après cela, dites au système de recharger les règles:
sudo udevadm control --reload-rules
Débranchez et rebranchez ensuite la carte FTDI pour lui faire remarquer les nouvelles autorisations.
Détection de la carte de test
Enfin, la ligne avrdude ci-dessus fonctionne et lit la puce:
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: safemode: hfuse reads as DE
avrdude: safemode: efuse reads as FD
avrdude: safemode: hfuse reads as DE
avrdude: safemode: efuse reads as FD
avrdude: safemode: Fuses OK (E:FD, H:DE, L:FF)
avrdude done. Thank you.
J'avais le mien branché sur un ATmega328P.
Exemple connecté à un Diavolino
Une fois que nous sommes arrivés jusqu'ici, il vous suffit de connecter la carte FTDI à votre carte cible avec un câble droit.
Résumé
La carte FTDI que vous avez (et celle que j'ai) peut être utilisée comme programmeur ICSP pour les puces AVR, comme décrit ci-dessus. Ainsi, une simple carte peut être à la fois un convertisseur USB vers série et également un programmeur ICSP.
Je vois des planches similaires se vendre sur eBay pour environ 5 $, ce qui est probablement une option de programmation assez bon marché.