Programare ATtiny85 cu Arduino

Autor: Razvan Ionescu -01/06/2011-

ATtiny85 este un chip interesant, mai mic si mai ieftin decat obisnuitul ATmega328P. Printre altele are (extras de pe pagina oficiala):

The high-performance, low-power Atmel 8-bit AVR RISC-based microcontroller combines 8KB ISP flash memory, 512B EEPROM, 512-Byte SRAM, 6 general purpose I/O lines, 32 general purpose working registers, one 8-bit timer/counter with compare modes, one 8-bit high speed timer/counter, USI, internal and external Interrupts, 4-channel 10-bit A/D converter, programmable watchdog timer with internal oscillator, three software selectable power saving modes, and debugWIRE for on-chip debugging. The device achieves a throughput of 20 MIPS at 20 MHz and operates between 2.7-5.5 volts.

Poate fi programat cu Arduino :)

Am gasit un tutorial la HLT pentru programarea cu Arduino folosind un breadboard. Tutorialul este bun, dar omite sa precizeze un mic amanunt fara de care nu merge, cel putin pe Duemilanove… Pentru a evita auto-reset la Arduino trebuie sa procedam ca aici (o rezistenta de 120 ohm intre pinii Reset si 5V de pe Arduino)

Daca avem mai des nevoie sa scriem ATtiny85 putem face un “shield”. In schema de mai jos am pus si un LED pentru a verifica chipul dupa scriere.
Schema conexiuni ATtiny85

O prima “tentativa de shield” arata cam asa (cu doua rezistente de 220 ohm puse in paralel in loc de cea de 120 si cu inca doua LED-uri si rezistentele de 1K aferente – ca semnale pentru ISP)
Shield

Tot ce mai ramne de facut este sa descarcam de la HLT arhiva zip cu placile pentru ATtiny45 si 85, sa o dezarhivam in folderul pe care-l avem la preferinte la Arduino in “Sketchbook location”, intr-un sub-folder “hardware” (daca nu-l avem, il facem).

Dupa ce incarcam pe placa Arduino, din exemple, sketch-ul ArduinoISP putem trece la programarea ATtiny85. Alegem placa ca mai jos:
Tools-Board

Am modificat sketch-ul “Blink” din exemple pentru a utiliza in loc de pinul 13 pinul 3 si l-am incarcat. Putem ignora erorile… programul merge ;-)
Blink


,

Ceva neclar in articolul de mai sus ? Ai vrea sa discuti cu cineva despre proiectul tau ? Vino in fiecare marti seara de la ora 19:00 la Intalnirea Tehnorama, sau ne poti contacta direct.
Vezi aici detalii complete.

Despre... Razvan Ionescu

Acest autor a publicat 8 articole.

Share

FacebookTwitterEmailWindows LiveTechnoratiDeliciousDiggStumbleponMyspaceLikedin

Comentarii


yan
June 5th, 2011

foarte interensant si util in acelasi timp . am folosit si eu attiny 45 cu AVR Studio si recunosc ca duceam lipsa de mediul Arduino unde cam toate functiile mai importante sunt deja in librarii .


iard
June 6th, 2011

Din pacate nu merg toate functiile de la Arduino, doar cele de baza. Pe pagina HLT de mai sus zice ca ar trebui sa mearga: pinMode(), digitalWrite(), digitalRead(), analogRead(), analogWrite(), shiftOut(), pulseIn(), millis(), micros(), delay(), delayMicroseconds().
Nu am incercat inca, dar se pare ca se poate si comunica pe serial http://arduino.cc/forum/index.php?topic=58756.0


iard
June 6th, 2011

Inca niste link-uri pentru Arduino si ATtiny85:
I2C (master and slave) on the ATtiny85 – http://arduino.cc/playground/Code/USIi2c
Discutie recenta pe forumul Arduino – http://arduino.cc/forum/index.php?topic=62403.0
Arduino-Tiny cores pentru ATtiny84 (84/44/24), ATtiny85 (85/45/25) si ATtiny2313 – http://code.google.com/p/arduino-tiny/

Trimite un comentariu