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
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.
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
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.
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....
// 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);
}
chiudi la parentesi all'inizializzazione dell'LCD. (veniva fuori lo smile perché non aveva usato il tag code - 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.