Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

ATtiny85 programmeren met Arduino Uno

Componenten en benodigdheden

Arduino UNO
× 1
Microchip-technologie ATtiny85
× 1
Elektrolytische ontkoppelingscondensatoren - 10uF/25V
× 1
Jumperdraden M/M
× 1

Over dit project

Ik werk aan een project waarbij meerdere sensorgegevens op verschillende locaties moeten worden gelezen. Deze vereisen slechts enkele PWM-pinnen, dus het gebruik van meerdere Arduino Uno zou duur en onnodig zijn. Dus besloot ik om de ATtiny85-microcontroller te gebruiken in plaats van Arduino Uno-ontwikkelborden. ATtiny85 is een goedkoop en krachtig alternatief als je niet te veel PWM-pinnen nodig hebt. Omdat ATtiny85 slechts een microcontroller is, hebben we een Arduino Uno nodig om het te programmeren. In dit project leg ik uit hoe je dat doet. Hieronder vindt u de pinconfiguratie van ATtiny85 en de datasheet is hier te vinden http://www.atmel.com/images/atmel-2586-avr-8-bit-microcontroller-attiny25-attiny45-attiny85_datasheet.pdf.

Arduino Uno configureren als ISP (In-System Programming)

Om de ATtiny85 te programmeren, moeten we Arduino Uno eerst in ISP-modus zetten. Verbind uw Arduino Uno met de pc. Open Arduino IDE en open het ArduinoISP-voorbeeldbestand (Bestand -> Voorbeelden -> ArduinoISP) en upload het.

ATtiny85-ondersteuning toevoegen aan Arduino IDE

Arduino IDE ondersteunt standaard geen ATtiny85, dus we moeten ATtiny-kaarten toevoegen aan Arduino IDE. Open Bestand -> Voorkeuren en geef in de URL's van Extra Boards Manager deze url https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json.

Open daarna Tools -> Board -> Board Manager

Scroll na het openen van Board Manager naar beneden in de lijst waar "attiny by Davis A. Mellis" staat. Klik daarop en installeer het.

Na de installatie zou je een nieuw item in het Board-menu kunnen zien

ATtiny85 verbinden met Arduino Uno

Nu alle bovenstaande dingen klaar zijn, beginnen we met het programmeren van de attiny85. Sluit de arduino uno aan op attiny85 met behulp van een breadboard zoals hieronder.

Arduino Uno – ATtiny85

  • 5V – Vcc
  • Gnd – Gnd
  • Pin 13 – Pin 2
  • Pin 12 – Pin 1
  • Pin 11 – Pin 0
  • Pin 10 – Reset

Voeg een 10uF-condensator toe tussen RESET en GND in arduino. Dit is om te voorkomen dat Arduino automatisch wordt gereset wanneer we het programma uploaden naar attiny85. Als u een elektrolytische condensator gebruikt, zorg er dan voor dat de anode in GND van uno gaat.

Programma uploaden naar ATtiny85

Nu terug naar Arduino IDE. Selecteer ATtiny onder Extra -> Bord. Selecteer vervolgens ATtiny85 onder Extra -> Processor. En selecteer 8 MHz (intern) onder Extra -> Klok.

Zorg er dan voor dat Arduino als ISP is geselecteerd onder Tools -> Programmer

Standaard draait de ATtiny85 op 1MHz. Om het op 8MHz te laten werken, selecteert u Tools -> Burn Bootloader.

U krijgt het bovenstaande bericht als het branden van de bootloader is gelukt.

Open nu het Blink-voorbeeld van Arduino-voorbeelden en verander de pincode van 13 in 0 en upload.

U kunt het bovenstaande bericht zien als alles is gelukt. Nu hebben we het blink-programma geüpload naar ATtiny85 en laten we het nu testen.

Nu is het tijd om te testen. Verwijder alle verbindingen van Arduino en neem een ​​stroombron. Hier zal ik een knoopcel gebruiken om ATtiny85 van stroom te voorzien.

Daar is het knipperprogramma dat draait op een ATtiny85 met alleen een batterijcel om hem van stroom te voorzien. U kunt veel projecten doen met lage kosten, weinig stroom en weinig ruimte. Alleen je fantasie is hier de limiet en het aantal PWM-pinnen natuurlijk.

Er een schild van maken

Ik heb het bovenstaande circuit geconverteerd naar een schild dat compatibel is met Arduino Uno.

(Opmerking:als softwareontwikkelaar is dit mijn allereerste project over elektronica. Geef alstublieft uw suggesties om me te helpen meer te doen.)

Code

  • Knipperprogramma
KnipperprogrammaC/C++
/* Knippert Schakelt een LED herhaaldelijk één seconde in en vervolgens één seconde uit. De meeste Arduino's hebben een ingebouwde LED die u kunt bedienen. Op de Uno en Leonardo is deze aangesloten op digitale pin 13. Als u niet zeker weet op welke pin de ingebouwde LED van uw Arduino-model is aangesloten, raadpleegt u de documentatie op http://arduino.cc Deze voorbeeldcode staat in het publieke domein. gewijzigd op 8 mei 2014 door Scott Fitzgerald */// de setup-functie wordt één keer uitgevoerd wanneer u op reset drukt of de boardvoid setup() aanzet { // initialiseer digitale pin 13 als een uitgang. pinMode(0, OUTPUT);}// de loop-functie wordt steeds opnieuw uitgevoerd forevervoid loop() {digitalWrite(0, HIGH); // zet de LED aan (HOOG is het spanningsniveau) vertraging (1000); // wacht op een tweede digitalWrite (0, LOW); // schakel de LED uit door de spanning LAGE vertraging (1000) te maken; // wacht even}

Schema's


Productieproces

  1. Python - Extensie programmeren met C
  2. Arduino klok met islamitische gebedstijden
  3. Bedien muntvangers met Arduino
  4. Arduino met Bluetooth om een ​​LED te bedienen!
  5. Eenvoudige UNO-rekenmachine
  6. Een afbeelding weergeven op een LCD TFT-scherm met Arduino UNO!
  7. Persistentie van visie
  8. Een LED-matrix besturen met Arduino Uno
  9. 4x4x4 LED-kubus met Arduino Uno en 1sheeld
  10. Zonnestraling meten met Arduino
  11. 25 kHz 4-pins PWM-ventilatorregeling met Arduino Uno