attiny85

salve a tutti ,

ho un mb arduino mega adk (con interfaccia android)
ho difficolta a fare una programmazione di un tiny85 seguo i tutorial ma si riferiscono sempre all'arduino uno
quindi non riesco a capire se commetto io l'errore o se e' di procedura .
nello specifico vorrei programmare tale ic per far lampeggiare un led , il listato in c (blink led e' ok la porta del tiny85 e quella giusta
rimane qualcosa penso nela procedura e comunque tra arduino mega adk e arduino uno ci sia qualche differenza a livello pin , tra cui i segnali MISO MOSI SCK e il reset -- quest'ultimo non ho capito dove va .
ricapiltolando forse e' la procedura che non ho capito oltre alla configurazione ei pin .
ringrazio anticipatamente .
armando

Per programmare i Tiny si usa la connessione ISP.

La MEGA ADK mappa MOSI/MISO/SCK sui pin 51/50/52.
Collega poi 5V e GND ai corrispondenti pin del Tiny.
Infine collega il pin 53 della MEGA ADK al pin RESET del Tiny.

Guida --> http://www.michelemenniti.it/VHD/Elettronica/GPAT_v4.pdf
AtTiny Pinout --> http://arduino.cc/forum/index.php/topic,145531.0.html
Mega Pinout--> http://arduino.cc/forum/index.php/topic,146515.0.html

vi ringrazio molto , appena arrivo a casa provo e replico i risultati sul forum .

per quanto riguarda la parte software leggendo la documentazione ho capito cosi ':

  • caricare sul IDE 1.0.3 il codice "arduino come ISP " spedirlo lulla scheda tramite UPLOAD
  • sul menu' strumenti cambiare da arduino mega 2560 adk...... a ATTinY85 1 Mhz .....
  • caricare il codice da trasferire ( esempio ,... lampeggio led)
  • trasferire il codice dal menu file >>>> Carica con un programmatore .
    scollegare i vari MISO MOSI SCK

dovrebbe essere cosi' la sequenza ( cosi ho capito)

armando

Hai tralasciato il 1° passaggio, ossia Collegare MOSI/MISO/SCK/RST/5V/GND :wink:
La sequenza è giusta.

aleeee , funziona tutto il led lampeggia.

vi ringrazio leo e paolo ,

stasera facciamo qualche cambio di piedinatura al tiny tanto per provare qualche situazione semplice .
ringrazio di nuovo

armando

funziona anche con il PB1 pin 6 dell' IC

avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85

esce questo messaggio dall'ide ma lo devo ancora tradurre ( cmq non mi da problemi di sorta)

armando1966:
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85

esce questo messaggio dall'ide ma lo devo ancora tradurre ( cmq non mi da problemi di sorta)

in merito c'e' questo articolo Gioblu.com is for sale | HugeDomains

salve a tutti ,

vedendo il datasheet del attiny84 ( 14 pin) ho riscontrato che se si vuole far
pilotare un lcd 16 x 2 al limite per fare il solito voltmetro 0- 5Vcc mi pare che non e' possibile per mancanza di pin PWM giusto ?

in effetti per pilotare lcd ci vogliono n. 4 data bus line e RS ed E piu' le varie Vcc

amenoche bisogna usate l'ATmega328

help
armando

il tiny84 ha 4 pin pwm: 5-6-7-8

per i 4 pwm ho capito e per i due segnali E ed RS che normalmente sul scheda mega adk arduino stanno sempre sui pin PWM ? dove li collego ?

Potrei sbagliarmi, ma quei segnali NON sono gestiti in pwm, quindi li colleghi dove vuoi purché poi li dichiari come previsto dalla libreria

scusa quali i 4 del data bus line o i 2 del E ed RS ?

Tutti, a me non risulta che sia usato il pwm per gestire i sei segnali, il pwm viene usato a volte per gestire la retroilluminazione, tutti gli altri segnali sono gestiti in modo digitale standard e non pwm.

salve michele

quindi basta dire al codice i nomi delle porte , nel caso nel pilotaggio lcd ( i famosi 6 fili di caollegamento )li posso collegare tranquillamente al tiny84 per esempio

pin 3 data -___ ( i 4 data per pilotare lcd)
pin 4 data ____
pin 5 data _____
pin 6 data _____
pin 7 RS
pin 8 E

dichiarando il tutto nel setup del codice

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
con i numeri giusti

in piu il pin di ingresso che potrebbe essere il pin 0 ( analog input 0 AREF)
potrebbe andare ?

I numeri dei pin non credo corrispondano ai pin fisici, in genere sono indicati con PB0, PB1, ecc e possono anche essere messi in modo apparentemente disordinato, quindi se scrivi "1" non ti riferisci al pin fisico 1 del tiny84 ma al suo pin digitale PB1 che magari corrisponde al pin fisico 7. Come ingresso puoi usare quello che vuoi anche se non ho capito perché hai scritto AREF accanto a input 0; nello specifico significa che stai leggendo un segnale analogico....

http://arduino.cc/forum/index.php/topic,145531.0.html
sotto trovi il pinout :wink:

mi pare di aver capito

faccio un esempio ..

// ATTINY 84

#include <LiquidCrystal.h>

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd([b]5, 4, 3, 6, 7, 8);    // iniliziazzazione lcd ( capita dal sottoscritto)[/b]

[b]// dichiarazione eventuale [b]ingresso es. PIN 1   [/b]Qualora si voglia usare come termometro o altro e relative formule[/b]

void setup() {
  // set up the LCD's number of columns and rows: 
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("ciao ");
}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(millis()/1000);
}

ti ringrazio per l'aiuto

armando

chiudi la parentesi all'inizializzazione dell'LCD. :wink: (veniva fuori lo smile perché non aveva usato il tag code :wink: - NdLeo)
Allora se guardi il link che ti ha fornito MAD, la numerazione dei pin dovrebbe essere quella colorata in marrone (p.es. il pin fisico 5 del micro corrisponde al pin digitale 8, mentre il pin fisico 10 corrisponde, secondo come lo usi, al pin digitale 3 o al pin analogico A3); su quella base, collega i sei fili dove vuoi e poi dichiara i valori corrispondenti colorati in marrone.

ok . adesso ho capito .
ti ringrazio ti faro sapere l'esito delle prove/collegamenti

ciao

armando