Hoe een Attiny85 vanaf een Arduino Uno te programmeren

Korte tutorial die laat zien hoe je de ATtiny85 programmeert vanaf de Arduino IDE met behulp van de Arduino Uno!

Deze tutorial is aangevraagd door mijn vriend Orlando, dus ik hoop dat het helpt!

Opmerkingen, zorgen, feedback, verwelkomde verzoeken:

@ NemesisContrer 8

Stap 1: Voeg ondersteuning voor de ATtiny85 toe aan de Arduino URL Board Manager

Standaard ondersteunt de Arduino IDE de ATtiny85 niet, het is vereist om ondersteuning voor de Attiny85 toe te voegen aan de Arduino Board Manager:

  • Van de Arduino IDE Ga naar Arduino-> Voorkeuren en scrol vervolgens omlaag naar URL's van extra boardmanagers
  • Kopieer en plak het volgende (als je al een boardmanager-URL hebt, voeg dan een komma toe voordat je deze plakt)

Bedankt David, een van de oprichters van Arduino voor het schrijven van de code!

//raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json

  • Druk onderaan op "OK" en start de Arduino IDE opnieuw op

Stap 2: Installeer het ATtiny Board-pakket

  • Ga vanuit de Arduino IDE naar Tools -> Board -> Boards Manager
  • Er wordt een nieuw tabblad geopend met bovenaan het tabblad: attiny
  • Selecteer Installeren op de Attiny van David. Een Mellis
  • Start de Arduino IDE opnieuw op
  • Het ATtiny85-bord zou nu moeten worden toegevoegd! Ga naar Extra -> Bord -> Attiny85

Stap 3: Stel de Arduino Uno in ISP-modus in

Omdat we willen dat we de ATtiny85 kunnen programmeren vanaf de Arduino IDE, die nodig is om de bootloader naar de ATtiny85 te branden, moeten we de Arduino-vuist "voorbereiden" door de ISP-schets ernaar te uploaden.

Selecteer in de Arduino IDE Bestand -> Voorbeelden -> 11. Arduino ISP -> ArduinoISP

de ISP-schets zou moeten openen en uploaden naar uw Arduino Uno

Stap 4: Hoe de pinnen van een microcontroller worden gelabeld

Voordat de verbindingen worden gemaakt, is het een zeer belangrijk feit om te weten hoe pinnen op microcrontrollers / IC's worden gelabeld.

Pincodes die worden gebruikt om een ​​chip op de Arduino IDE te programmeren, zijn gebaseerd op hoe de chipfabrikant de pinnen intern heeft genoemd / gerangschikt. De fabrikant van de ATtiny85 is ATMEL (de AT in AT tiny85 staat eigenlijk voor AT MEL); het is gebruikelijk dat chips de eerste twee initialen hebben van het bedrijf dat ze maakt.

Pinnen zijn verzameld in groepen die "poorten" worden genoemd. Deze poorten hebben het label A, B, C enz. Elke poort heeft een aantal pinnen die zijn gelabeld met 0, 1, 2, 3 enz. En steken uit op verschillende delen van de chip. Daarom de fysieke pin van een microcontroller is vaak anders dan het pincode dat wordt gebruikt bij het programmeren van de chip.


Een voorbeeld:

PB0 (in het bovenstaande gegevensblad) betekent alleen dat pin 0 zich op poort B van de chip bevindt.

Als pin 0 zich op poort A bevond, zou de naam er ongeveer zo uitzien als PA0 ( P ort A pin 0 )

Om aan de complexiteit toe te voegen, kunnen pinnen meer dan één functie hebben en meerdere namen hebben.

Alles bij elkaar inpakken! :

Het schrijven van een programma om een ​​LED op pin 0 op de ATtiny85 te laten branden, kan in het begin verwarrend zijn, want alleen al door naar de chip te kijken, is er geen pin 0! Echter, door het controleren van de datasheet van de ATtiny85 van ATMEL-snippet getoond boven pin 0 bevindt zich intern op poort B van de chip (en is eigenlijk de fysieke pin 5 van de chip)!

Stap 5: de Arduino aansluiten op de ATtiny-pinnen

Heb een elektrolytische condensator - 10uF wordt aanbevolen, maar ik gebruikte een 22uF en het werkte prima - om te voorkomen dat de Arduino opnieuw opstart, is hij zelf verbonden met GND & RESET op de Arduino

Gebruik een breadboard en jumperdraden om de verbindingen van de Arduino Uno naar de ATtiny85 te maken:

 Arduino -> ATtiny85 5V Vcc GND GND Pin 13 Pin 2 Pin 12 Pin 1 Pin 11 Pin 0 Pin 10 Reset 

Stap 6: De ATtiny85 Arduino compatibel maken

Standaard kan elke gekochte nieuwe microcontroller-chip niet worden geprogrammeerd met de Arduino IDE uit de doos. Dit is waarom het nodig is om de Arduino-bootloader op de chip te branden om ervoor te zorgen dat de chip alle programma's accepteert die zijn geüpload via de Arduino IDE.

Snelle checklist voordat u op "bootloader branden" drukt

  • Ga naar Tools -> Board scroll naar beneden selecteer ATtiny25 / 45/85
  • Onder Tools -> Processor -> 8 MHz (intern)
  • Onder Tools -> Programmer -> Arduino als ISP
  • Controleer of alle bedrading, condensator en kaartselecties correct zijn
  • Selecteer ten slotte Burn Bootloader
  • laat de draden aangesloten, ze zullen in de volgende stap worden gebruikt

Er verschijnt een bericht met de melding "Done Burning Bootloader"

Stap 7: de Blink Sketch uploaden

Test of de ATtiny85 nu schetsen van de Arduino IDE kan ontvangen door het knippervoorbeeld te uploaden

  • Ga naar Bestand -> Voorbeeld -> 01. Basis -> knipperen
  • Bewerk de schets door pin 13 te vervangen door 0
  • Zorg ervoor dat u nog steeds de ATtiny85-kaartinstellingen van de vorige stap hebt geselecteerd
  • Zorg ervoor dat alle bedrading hetzelfde is als de vorige stap
  • Upload de schets
  • Sluit een LED aan door de anode te verbinden met pin 0 (fysieke pin 5) en de kathode met een 1K-weerstand die is verbonden met aarde (fysieke pin 4)
  • Hoewel een weerstand niet nodig is omdat de batterij 3 V levert (niet genoeg om een ​​LED op te blazen), wordt aanbevolen om de helderheid van de LED te verlagen

Elk verzoek voor toekomstige tutorials is welkom! Laat hieronder een reactie achter

Verwante Artikelen