Show Posts
Pages: [1] 2 3 ... 12
1  International / Hardware / Re: Max7219, NRF24L01 e display I2C... on: March 05, 2014, 05:10:56 pm
I 3 Dispositivi usano 3 Interfacce seriale diverse che per il SPI e il I2C sono fisse su certi Pin mentre per il MAX7219 a seconda della libreria che usi puoi usare qualsiasi pin disponibile o anche la SPI. Nel caso che usi la SPI il pin SS deve essere diverso da quello che usi per il NRF24L01.

Ciao Uwe
Ciao UWE e grazie per le delucidazioni smiley

2  International / Hardware / Max7219, NRF24L01 e display I2C... on: March 04, 2014, 04:46:54 pm
Salve a tutti...

Dopo vari esperimenti effettuati con il driver "7219", il modulo ricetrasmettitore "NRF24L01" ed un display a cristalli liquidi dotato di convertitore "I2c", vorrei finalmente mettere in pratica quanto appreso, in un unico progetto, solo che ho alcune perplessità per quando riguarda i canali di comunicazione dei tre dispositivi.

Il "7219" comunica tramite 3 pin, sfruttando un collegamento seriale, mentre il modulo "NRF", sfrutta sempre la seriale, ma con protocollo "SPI"; ho inoltre letto in post precedenti che per far fronte a queste necessità, si utilizza un simulatore di multi porte seriali "softwareSerial", ma in questo caso, avrei un modulo che utilizza il protocollo "SPI", con la complicazione del display "I2c".

Volevo chiedere conferma appunto, se la logica dei collegamenti non cambia e i tre moduli comunicherebbero comunque, senza intralciarsi a vicenda, con la differenza che verrebbero aggiunti nell'header, le librerie appropriate (SPI, NR24L01, WIRE)?

Un saluto a tutti....
3  International / Software / Re: Attiny85 e funzione TONE() on: March 03, 2014, 09:57:12 am
Si hai ragione, potevo fare un controllo più accurato, utilizzando l'errore generato ed invece ho pensato a priori che fosse la funzione a generare problemi.

Nessun problema ... è che ... avresti risolto prima ed evitato di ... dire parolacce perché non funzionava  smiley-lol smiley-lol smiley-lol

Installa il file ld.exe che ti ho postato. Se da console lanci ld.exe -V dovrebbe darti la versione 2.23.2 smiley-wink

Guglielmo
Funzionaaaa!!! smiley-twist
Grazie Guglielmo, mi hai tolto un peso, altrimenti avrei optato per uno di quei cicalini stupidi a nota fissa e l'avrei alimentato tramite "digitalWrite", ma odio quei cicalini eheh.

Adesso darò anche un occhiata alle precedenti "puntate" su questo argomento che onestamente non conoscevo.

Ringrazio  anche "nid69ita" che mi ha fatto comunque riflettere su un aspetto che tendo a trascurare e per l'appunto, quello della memoria disponibile; purtroppo a volte mi faccio prendere dall'entusiasmo di fare che poi tralascio degli aspetti tecnici che vanno sempre considerati smiley-wink


Ciao e grazie di nuovo!!

4  International / Software / Re: Attiny85 e funzione TONE() on: March 03, 2014, 09:13:42 am
Non credo affatto che sia troppo grosso ...
... credo invece che dovevi spendere un po' più di tempo a fare ... una ricerca qui sul forum per quel errore.  smiley-twist

Se ne è parlato varie volte, il "linker" che arriva con la 1.0.5 ha un buco e quando cerchi di linkre per ATtiny codice superiore ai 4 KBytes va in errore.

Devi sostituire il link con la versione più aggiornata ...
... su che sistema operativo sei ?

@ Nid : ma come fai a dire che è troppo grosso se, compilato per 328P, occupa solo 5KB (... ed il core ATtiny85 è normalmente più ottimizzato) ???

Guglielmo

Ciao Guglielmo,

Si hai ragione, potevo fare un controllo più accurato, utilizzando l'errore generato ed invece ho pensato a priori che fosse la funzione a generare problemi.

Utilizzo Windows 7 e adesso seguirò il tuo prezioso consiglio smiley

Ciao
5  International / Software / Re: Attiny85 e funzione TONE() on: March 02, 2014, 06:16:01 pm
Programma troppo grosso!!!
Aah, okay.  Compilavo per Arduino Uno.  Da errore anche a me.
Ma non è quella riga a darti errore, prova a commentare ad esempio   stampaLaCifra(tempC);   poi compila.
Perché il tuo programma è troppo grosso per stare su un AtTiny85.   
Azzzzzz!! Che peccato hai ragione!!Mi ero abituato bene con il 328

Grazie per avermi risolto l'incognita

Ciao
6  International / Software / Re: Attiny85 e funzione TONE() on: March 02, 2014, 05:54:11 pm
Copiato il tuo codice, mi compila (IDE 1.0.5).  
Code:
Dimensione del file binario dello sketch: 5.446 bytes (su un massimo di 32.256 bytes)
A te che errore da?
Ciao nid69ita,
Mi da questo errore:

Code:
c:/arduino-1.0.5-r2/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr25/crttn85.o:(.init9+0x2): relocation truncated to fit: R_AVR_13_PCREL against symbol `exit' defined in .fini9 section in c:/arduino-1.0.5-r2/hardware/tools/avr/bin/../lib/gcc/avr/4.3.2/avr25\libgcc.a(_exit.o)

Per quanto riguarda le caratteristiche del  tipo di micro, ho usato "Attiny85 con 1 Mhz e oscillatore interno.

Ciao
7  International / Software / Re: Attiny85 e funzione TONE() on: March 02, 2014, 05:18:36 pm
Hai tu qualche cosa che non va sul tuo sistema ...
... ho appena compilato il tuo codice :

Code:
Binary sketch size: 1,578 bytes (of a 8,192 byte maximum)

Che versione del core ATtiny stai usando ???

Guglielmo

Edit: QUESTA è l'ultima versione del core ATtiny (IDE 1.0.5)
Ciao Guglielmo,

Infatti hai ragione, le righe di test funzionano, mi sono accorto ora che è il contesto a darmi problemi e non capisco il perchè:

Code:
#include "LedControl.h"
LedControl lc=LedControl(2,1,0,1);
 
 int tempPin=3;
 int buzzer=4;
 float campione;
 float tempC;
 void setup()
 {
   pinMode(buzzer,OUTPUT);
   pinMode(tempPin,INPUT);
   lc.shutdown(0,false);
   lc.setIntensity(0,15);
   lc.clearDisplay(0);
 }
 void stampaLaCifra(float num)
 {
   int unit;
   int decine;
   int v=(int)num;
   float diff=num-v;
   diff=diff*100;
   unit=v%10;
   v=v/10;
   decine=v%10;
   v=v/10;
   lc.setDigit(0,1,(byte)unit,true);
   lc.setDigit(0,0,(byte)decine,false);
 }
 void loop()
 {
   campione=0;
   for(int i=0;i<150;i++)
   campione+=analogRead(tempPin);
   delay(2);
   campione=campione/150;
  tempC=(5.0*campione*100.0)/1023.0;  //se bypasso questa riga lo compila
  delay(200);
       stampaLaCifra(tempC);
       delay(200);
       if(tempC>30){
       tone(buzzer, 2800,1800); //oppure questa
       }
     }
Come noterai, il software provvede a far suonare il buzzer ad una condizione predefinita, se lo compilo, mi da un errore, se metto un "rem" sulle righe che ho indicato, lo compila senza problemi.
Ciao
8  International / Software / [RISOLTO]Attiny85, funzione TONE() ed errori vari.... on: March 02, 2014, 03:33:25 pm
Salve a tutti,

Ho appena finito d'ultimare un piccolo circuito d'allarme, ma colpo di scena, non riesco a far compilare la funzione "tone()" e il compilatore va in errore, se poi provo ad inserire come programmatore "Arduino UNO", il tutto si compila.

Quello che vorrei fare sarebbe d'inviare al buzzer delle frequenze variabili.

La funzione inserita in un contesto di test:
Code:
int buzzer=4;

void setup()
{
pinMode(buzzer,OUTPUT);
tone(4, 200,200);
}
void loop()
{
}

Ciao e buona serata



9  International / Hardware / Re: [RISOLTO]Problema con LM35 e attiny85... on: February 28, 2014, 05:47:06 pm
bella realizzazione matrix77!! mi fa piacere della risoluzione! pensa te che io quasi tutte le volte che mi metto al lavoro sull'elettronica e non solo e smetto tipo alle 2 o 3 del mattino il giorno dopo mi accorgo di millemila cavolate ed errori!  smiley-mr-green

Ocio a quelle basette in bachelite sono bastarde! ne ho presa una perchè me l'hanno tirata dietro e perchè ne avevo bisogno di una piccina già pronta, mi si è staccata una pista ramata... smiley-sad
Ciao Goretto
E' si, infatti le asole ramate sono delicate, ma se devo fare qualche esperimento, le preferisco alle noiosissime breadboard, preferisco saldare e dissaldare i componenti e il circuito alla fine mi rimane, con le breadboard, ho avuto amare sorsprese con falsi contatti e se devi realizzare circuiti oscillatori che lavorano in radiofrequenza, non vanno bene.
Se poi il circuito che sto facendo mi appassiona, lo realizzo con la fotoincisione, oppure lo spedisco e lo faccio realizzare, ultimamente non ho più voglia di usare sostanze chimiche per gli sviluppi dei vari pcb eheh.

Ciao
10  International / Hardware / Re: Problema con LM35 e attiny85... on: February 26, 2014, 05:12:01 pm
matrix77, dando per scontato che il collegamento sia fatto bene, ovvero che l'uscita del LM35 sia collegata al pin fisico 2 del ATtiny85 (Analog Pin 3), il dubbio potrebbe stare su quanto descritto a pagina 9 del datasheet ... hai provato a mettere la resistenza in serie (Fig. 14) ? ... o la configurazione RC (Fig. 15) ? o quelle che trovi alle pagine seguenti ?

Comunque, per verificare che il programma funzioni, potresti temporaneamente mettere in ingresso un potenziometro e vedere se, variando la tensione, variano correttamente le letture in ingresso ... smiley-wink

Guglielmo
Ottima idea ed eseguita...
Prova a collegare il sensore ad Arduino o un secondo sensore al tiny in modo da escludere malfunzionamenti dell'uno o dell'altro componente.
Anche questa, ma poi non trovando anomalie, mi sono spostato sul software, visto che ho modificato il progetto portandolo a soli 2 display, avevo sbagliato ad inviare i valori "decine" e "centinaia", visualizzando così i decimali, questo mi capita quando lavoro di notte con queste cose, così se qualcosa non va, m'innervosisco e mi sposto sulle cause hardware.

Adesso funziona, ma ho fatto un giro lungo, solo perchè ho creduto di aver eseguito le giuste modifiche sul codice.
La parte originale:
Code:
lc.setDigit(0,4,(byte)hundreds,false);
  lc.setDigit(0,3,(byte)tens,false);
  lc.setDigit(0,2,(byte)ones,true);
  lc.setDigit(0,1,(byte)ftens,false);
  lc.setDigit(0,0,(byte)fones,false);
modificato in:
Code:
//lc.setDigit(0,4,(byte)hundreds,false);
 // lc.setDigit(0,3,(byte)tens,false);
  //lc.setDigit(0,2,(byte)ones,true);
  lc.setDigit(0,1,(byte)ones,false);
  lc.setDigit(0,0,(byte)tens,false);
Ho fatto un errore da stupido e ho dato per scontato alcune cose, inviando al display le ultime cifre che chiaramente per loro natura, continuavano ad oscillare e ad incrementare.Questa cosa non l'ho specificata all'inizio, perchè ero convinto di aver inviato ai display, le decine ed unità.

Ringrazio ancora tutti voi per la partecipazione ed ecco il termometro:

Ciao
11  International / Hardware / Re: Problema con LM35 e attiny85... on: February 25, 2014, 06:41:08 pm
ciao matrix, ho avuto anche io il tuo stesso problema, e la soluzione potrebbe essere la stessa, chi sa, ti espongo la mia esperienza a riguardo smiley
vidi il datasheet del componente, collegai il tutto, e feci partire lo skech, mi dava valori casuali come te, e poi dopo circa 4-5 secondi mi dava valori che fluttuavano tra 600 e 700 (non avevo ancora fatto la conversione dei gradi), preso dal dubbio, toccai il sensore, e... magia.. mi scottai il dito, lasciando una bella impronta sul sensore  smiley-lol morale della favola? sul datasheet la massa e il vcc sono invertiti, e lo collegai male, fondendolo (a dir la verità non so se funzioni ancora, domani farò una prova). Se vuoi un metodo per capire subito se lo colleghi bene o male, fai cosi:
1 dai tensione all'arduino(lo metti nell'usb)
2 colleghi il sensore all'arduino come fai sempre
3 vedi se i led della basetta quando connetti il sensore calano di intensità o meno. se calano di intensità, hai sbagliato a collegare il vcc e gnd, quindi li inverti e tutto dovrebbe fungere.
fammi sapere come ti è andata smiley-wink
do per scontato che il codice funzioni, e che hai messo la libreria LedControl nell'ide .

Purtroppo il problema non è così semplice, il componente è correttamente alimentato e col voltmetro si nota chiaramente che funziona. il segnale è collegato al pin dell'attiny85 come da schema, ho controllato le continuità e la tensione variabile arriva al pin analogico.

-Adesso ho testato che funzionasse il pin, collegandoci un buzzer e gestendolo con varie freqeunze ed il buzzer oscilla.

-Il 7219 è ok, ho provato a scrivere sui display numeri e linee.

-Nel frattempo i numeri continuano a variare, come se il sensore non fosse collegato ed a questo punto domani provo con atmega 328, oppure su arduino direttamente, non mi resta altro da fare.

Ciao e grazie comunque per il tuo intervento

12  International / Hardware / [RISOLTO]Problema con LM35 e attiny85... on: February 25, 2014, 04:07:29 pm
Salve a tutti....

Purtroppo come volevasi dimostrare, il termometro che ho realizzato non funziona, il risultato è una fluttuazione dei numeri senza senso, come se il sensore LM35, non venisse rilevato dall'ingresso 3 dell'Attiny85, posto il link del codice:http://www.instructables.com/id/7-Segment-Digital-Thermometer-using-ATtiny-85/step3/Code-/
Dopo aver collegato tutto, ho controllato anche che il pin centrale del sensore variasse di tensione, cosa che avviene, ma non capisco del perchè il valore continui a fluttuare senza un ordine logico.
Il sensore è collegato correttamente, con il centrale nel pin3  e l'alimentazione a 5V.
Ciao
13  International / Software / Re: Problema con LedControl.h... on: February 24, 2014, 07:06:49 pm
Ho risolto! Non avevo scaricato le librerie aggiornate ufficiali, adesso compare negli esempi.

Ciao
14  International / Hardware / Re: Info per regolatore "LD1117V33"... on: February 24, 2014, 06:48:23 pm
Ci sono batterie Li-Ion "protette" (non ricordo di averne viste di LiPo protette, ma potrei sbagliarmi), quelle con il circuito stampato ed il chip di controllo, che si occupano di scollegare la batteria durante la carica quando supera i 4.2V (soglia massima), e di scollegare la batteria dal carico quando scende sotto i 2.7V (soglia minima di scarica, sotto la quale non si ricaricano piu correttamente)

In genere pero' non sono da modellismo ... le piu comuni sono le 18650, oppure quelle per tablet, ed in genere sono celle singole ...

Oppure si trovano i circuiti di protezione per fare i pacchi da 2, 3, o 4 celle ...
Infatti mi ero studiato il funzionamento di alcune batterie per telefonini e ultimamente ho acquistato una mini li-po da 40mA che monta un micro circuito integrato che stacca in automatico l'alimentazione al di  sotto della soglia di 2,7V.
http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Prototyping/BatteryProtection.pdf
15  International / Software / [RISOLTO]Problema con LedControl.h... on: February 24, 2014, 06:41:42 pm
Salve a tutti...

Ho realizzato un termometro con Attiny85 e Max7219, adesso sul più bello, cerco le librerie "LedControl.h" e copio la cartella "LedControl" nella subdir "Libraries", ma non compare nella lista dei progetti.
Con le versioni precedenti tutto funzionava.
Qualcuno ha avuto modo di testare le librerie sull'ide 1.05?

Ciao a tutti..
Pages: [1] 2 3 ... 12