Stap 3: Uitzoeken welke pinnen te gebruiken
Voor het instellen van de bedrading voor ISP programmeren, moet u de MISO draad van de programmeur verbinden met MISO van het doel van de Arduino. Sluit de MOSI-draad van de programmeur aan MOSI van het doel. SCK verbinden met SCK. Sluit 5V aan 5V en GND GND. verbinding welke pin die u voor de slaaf reset naar de eerste pin van het doel gebruikt. Zodat u kunt begrijpen en erachter alle deze out, zal de komende paar paragrafen geven veel detail.
Let op: in sommige handleidingen, schema's en gegevensbladen u kan SCK of SCLK. Deze labels zijn beide afkortingen voor dezelfde functie, seriële klok. Ik gebruik in dit Instructable SCK.
Beginnend met de UNO, als je kijkt naar de regeling van de pin van UNO ICSP-kop, op het bord en op het schema, kunt u erachter te komen dat de pinnen zijn genummerd als volgt:
D12 MISO 1 . . 2 VCC D13 SCK 3 . . 4 MOSI D11 RST 5 . . 6 GND
Op het bord moet er een stip of vierkante pad die je laat wat pin 1 van de ICSP koptekst zien is. Op de UNO is dat de linker bovenhoek van de koptekst. Op de UNO, alle van de pinnen op de kop ICSP rechtstreeks zijn verbonden met, en zijn duplicaten van pins beschikbaar elders op het bord. Pin 1 van de header is een duplicaat van digitale pin 12; pin 3 is een duplicaat van een digital pin 13, enzovoort. Dit is de reden waarom als je kijkt naar veel tutorials op het web ziet u dat zij gebruik van pins 11, 12 en 13 in plaats van met behulp van de header ICSP tonen.
Op alle van de ATmega328P gebaseerde Arduinos, zoals de Pro Mini, Mini, Nano, Duemilanove en derivaties zoals RedBoard, Metro328, de dezelfde pin-toewijzingen van toepassing. Gebruik pinnen 10, 11, 12 en 13 als je Arduino beschikt niet over een ICSP header.
Kijkend naar de Leonardo, moet je graven een beetje dieper dan de schematische voorstelling en bestuur. Het schema is een beetje verwarrend omdat de processor wordt weergegeven op twee plaatsen, en de Arduino pin-codes van de MOSI, MISO en SCK lijnen worden niet weergegeven. U wilt kijken naar het variants/leonardo/pins_arduino.h bestand in de toepassingsmap van de IDE te achterhalen van de pin-codes.
D14 MISO 1 . . 2 VCC D15 SCK 3 . . 4 MOSI D16 RST 5 . . 6 GND
Als je rond de pinnen op de Leonardo kijkt, kunt u digitale pinnen 14, 15 en 16 zijn niet beschikbaar ergens anders dan op de kop ICSP. Dus, hebt u een Leonardo, u kan niet precies tutorials u vinden dat Toon de verbindingen op de buitenrand pinnen 11, 12, 13, en u moet worden gebruikt de ICSP header volgen. Dat betekent dat de tutorial die u probeert te gebruiken, met behulp van een voldoende hoeveelheid kennis die u opgedaan uit het lezen van dit Instructable en door het doen van veel onderzoek en lezen om vertrouwd te raken met uw Leonardo passen.
Op de ATmega32U4 gebaseerde Arduinos zoals Micro gebruik Pro Micro, Esplora, pinnen 10, 16, 14 en 15 als je Arduino beschikt niet over een ICSP header.
Als u van de schets van de ArduinoISP die kwam gebruikmaakt met een versie 1.6.5 of eerder van de Arduino IDE, is de slaaf resetpin niet standaard ingesteld op 10 bij het gebruik van een Leonardo. Lees de rest van deze stap voor meer informatie. Als u van versie 1.6.6 gebruikmaakt of later van de Arduino IDE van arduino.cc zal u reset kennisgeving dat de schets heeft net de slaaf pin set aan op pin 10, zodat u kunt overslaan het lezen van de rest van deze stap en gaan naar stap 4.
Iets vindt u bij het graven in de schematische Leonardo en pins_arduino.h bestand is de SS-pin is digitale pin 17 en het gaat naar de RXLED en is niet beschikbaar op elke kop. De reden dat dit belangrijk is wordt duidelijk wanneer u de schets ArduinoISP voorbeeld in de Arduino IDE laden en staar ernaar. De RESET-lijn is ingesteld op SS, oftewel pin 10 op de UNO, maar pin 17 op de Leonardo. Dit is de draad die u wilt verbinden met de doelgroep Arduino de eerste pin. Dus, om deze schets op het Leonardo gebruikt, hebt u een beschikbare pin die u eigenlijk kunt verbinden. Verander de regel:
#define RESET SS
Aan
#define RESET 10
In plaats van met behulp van de pin door naam SS, zullen we deze toewijzen aan een specifieke pin-nummer. Gebruik maken van pin 10, die manier kunt u de gewijzigde schets op een Arduino. Ik denk dat misschien de schets moet zijn geschreven signaal de reset pin 10 in plaats van de SS-pin anyway.