Show Posts
Pages: 1 2 3 [4] 5 6 ... 29
46  International / Software / Programmare cubo led 4x4x4 con due 74HC595 on: June 22, 2013, 04:24:31 pm
Ho creato un cubo led 4x4x4, pilotato da arduino tramite due 74hc595.
Ogni colonna ha gli anodi in comune, ciascuna connessa ad un uscita del 74hc595
mentre i catodi sono comuni su i 4a livelli e ogni livello è connesso ad un transistor npn per essere attivato/diasstivato.
Lo sketch che ho scritto è questo
Code:
/* Sketch cubo LED 4x4x4 per l'esame
creato da: Salvatore Marcellini */

//Definisco le variabili
int latch= 8; //pin del latch degli 74HC595
int clock= 12; //pin del clock degli 74HC595
int data= 11; //pin dove gli 74HC595 ricevono l'input
int npn[4]= {4, 5, 6, 7}; // array con i pin dei transistor
int i; //contatore

// Setto tutti i  pin su OUTPUT
void setup ()
{
    pinMode(latch, OUTPUT);
    pinMode(clock, OUTPUT);
    pinMode(data, OUTPUT);
    for(i=0;i<4;i++)
    {
        pinMode(npn[i], OUTPUT);
    }
}

//inizio del programma
void loop ()
{
  for(i=0;i<4;i++)
 {
  digitalWrite(npn[i], HIGH); //attivo il livello corrispondente al contatore
 
  digitalWrite(latch, LOW); //latch basso per passare la serie di bit
  shiftOut(data, clock, MSBFIRST, 0b10000000); //prima serie di bit dello 74HC595 n°1
  shiftOut(data, clock, MSBFIRST, 0b00000000); //seconda serie di bit dello 74HC595 n°2
  digitalWrite(latch, HIGH); //riattivo il latch per attivare le uscite
  delay(400); //pausa

  digitalWrite(npn[i], LOW); //disattivo il livello corrispondente al contatore
 }
             
}

Dovrebbe accendermi il primo led di ogni livello, ma invece mi accende vari led e non mi accende il primo livello.
sapete dirmi qual'è l'errore?
grazie
47  International / Hardware / Re: Problema saldature on: June 15, 2013, 06:09:48 am
Il saldatore l'ho comprato esattamente un anno fa :\ non ho più ne lo scatolo ne lo scontrino ..... perchè a mia madre piace buttare gli scatoli -.-
Allora vedrò se magari mio zio ha un saldatore ç_ç
Grazie a tutti
48  International / Hardware / Re: Problema saldature on: June 15, 2013, 05:25:06 am
Purtroppo in casaho un altro saldatore  smiley-sweat
Comunque ho sempre usato lo stagno cinese per le saldature del cubo, ma ora quello cinese non si scioglie più a 300°C.
Direi che è la stazione purtroppo D:
Quindi la devo cambiare? cavolo non ci voleva proprio  smiley-sad
49  International / Hardware / Re: Problema saldature on: June 14, 2013, 04:55:15 pm
Prof menniti che piacere risentirla ^^ x D
Comunque non ho un termometro adatto purtroppo :\
Ho 3 tipi di stagno a disposizione:
1)Cinese Sn(96,5) Ag(3.0) Cu(0.5) 1mm
2) Lead-free Sn(99,3%) Cu(0,7%) 1mm
3) Non so ne nome ne materiali in quanto era nel mobiletto di mio padre ma è da 2 o 3 mm
50  International / Hardware / Problema saldature on: June 14, 2013, 04:29:37 pm
O sono impazzito o non so più saldare smiley-neutral
Mi spiego xD
Dopo aver fatto un cubo led 4x4x4 e alcuni collegamenti del circuito di comando, dopo decine e decine di saldature (se non centinaia smiley-lol), improvvisamente ho problemi a saldare.
Lo stagno non si scioglie più a 270/300°C ma per farlo sciogliere devo portare la temperatura a 450°C, in più a volte si secca ma non unisce le due parti da saldare.
Allora ho comprato una nuova punta per il saldatore e dello stagno nuovo ..... ma niente smiley-neutral
Cosa diavolo succede? D:
Uso un saldatore simile a questo :


Sul manico c'è scritto 12V e 8W...

Sapreste darmi qualche consiglio? D:

Già ho frettanel finire il progetto ... poi ci si mette anche questo  smiley-cry
51  International / Software / Re: Aiuto ! Due tasti per On e Off ?? on: June 07, 2013, 11:56:55 am
e se usassi più semplicemente un interruttore switch?
Così accendi e spegni senza scrivere altre righe di codice
52  International / Software / Re: Due 74HC595 in serie on: June 07, 2013, 11:28:04 am
Code:
//Pin connected to ST_CP of 74HC595
int latchPin = 8;
//Pin connected to SH_CP of 74HC595
int clockPin = 12;
////Pin connected to DS of 74HC595
int dataPin = 11;

void setup() {
  //set pins to output so you can control the shift register
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
}

void loop() {
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, MSBFIRST, 0b10000000);
  shiftOut(dataPin, clockPin, MSBFIRST, 0b10000000); 
  digitalWrite(latchPin, HIGH);
  delay(1500);
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);
  shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); 
  digitalWrite(latchPin, HIGH);
  delay(1500);
}
i collegamenti vanno bene, perchè accendendoli solamente, funzionano
53  International / Software / Re: Due 74HC595 in serie on: June 07, 2013, 10:33:56 am
ho ricollegato il tutto ed ora si accendono, ma non rimangono accesi per 1 secondo e mezzo ma lampeggiano velocemente e poi rimangono spenti per 1 secondo e mezzo O.o?
54  International / Software / Re: Due 74HC595 in serie on: June 07, 2013, 08:18:21 am
MSBFIRST vuol dire : more significative bit first, ovvero il bit più significativo per primo.
In una serie di bit abbiamo che il 1° partendo da sinistra è il più significativo, mentre l'ultimo è il meno significativo.
Infatti puoi anche scrivere LSBFIRST.
In pratica ti fa leggere il bit o da destra a sinistra o da sinistra a destra (in parole povere)
55  International / Software / Re: Due 74HC595 in serie on: June 07, 2013, 05:36:20 am
ah ok, vi ringrazio ^^

edit: ho provato come avete detto voi, ma si accende solo 1 volta l'ultimo led del 2° shift (ovvero il secondo byte inviato) e il primo byte no.
Inoltre poi rimane tutto spento, anche dopo il delay, i led (compreso quello che si era acceso) non si accendono più
Code:
//Pin connected to ST_CP of 74HC595
int latchPin = 8;
//Pin connected to SH_CP of 74HC595
int clockPin = 12;
////Pin connected to DS of 74HC595
int dataPin = 11;

void setup() {
  //set pins to output so you can control the shift register
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
}

void loop() {
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, MSBFIRST, 0b00000001);
  shiftOut(dataPin, clockPin, MSBFIRST, 0b00000001); 
  digitalWrite(latchPin, HIGH);
  delay(1500);
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000);
  shiftOut(dataPin, clockPin, MSBFIRST, 0b00000000); 
  digitalWrite(latchPin, HIGH);
  delay(1500);
}
56  International / Software / Due 74HC595 in serie on: June 06, 2013, 02:50:57 pm
Ho un problema ad inviare la serie di bit a 2 shift register in serie.
Naturalmente ho collegato sia il pin del latch e del clock dei due shift assieme, e ho collegato il pin 9 del primo col 14 del secondo (ovvero il srial output col serial input)
Però non capisco come pilotarli assieme.
Ho provato semplicemente ad inviare una serie di 16 bit (8 per il primo e 8 per ilsecondo) ma non va bene.
Questo è il codice
Code:
//Pin connected to ST_CP of 74HC595
int latchPin = 8;
//Pin connected to SH_CP of 74HC595
int clockPin = 12;
////Pin connected to DS of 74HC595
int dataPin = 11;

void setup() {
  //set pins to output so you can control the shift register
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
   Serial.begin(9600);
}

void loop() {
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, MSBFIRST, 0b0000000100000001); 
  digitalWrite(latchPin, HIGH);
  delay(500);
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, MSBFIRST, 0b0000000000000000); 
  digitalWrite(latchPin, HIGH);
  delay(500);
}
57  International / Hardware / Re: Guida e spiegazione componenti per Cubo led on: June 04, 2013, 12:07:38 pm
Non avevo capito volessi la foto dello schema >_< scusa leo.
te lo allego.
Comunque la prova l'ho fatta senza shift register xD ho preso 2 fili (GND e V+) e li ho mossi a mano per testare se le saldature erano fatte bene.
58  International / Hardware / Re: Guida e spiegazione componenti per Cubo led on: June 04, 2013, 09:56:05 am
Ok allora avevo capito bene smiley-lol
Ma sapresti dirmi come collegare e comandare i transistor? perchè gli shift register ho capito come collegarli, ma i transistor non so nemmeno come comandarli da arduino
59  International / Hardware / Re: Guida e spiegazione componenti per Cubo led on: June 03, 2013, 12:08:15 pm
Mi sono appena accorto di avere già i transistor BC337-40 - B13
60  International / Hardware / Re: Guida e spiegazione componenti per Cubo led on: June 03, 2013, 11:53:39 am
Scusa ma io quando ho provato a mettere la tensione sulla colonna e ho messo a massa tutti e 4 livelli, si sono accesi tutti e 4 i led di quella colonna.
Ti chiedo scusa se non sto capendo, ma ho un miscuglio di 7 tesine d'esame in testa tra informatica sistemi italiano storia eccc...
Dato che tutti e 4 livelli erano a massa tramite i 4 catodi, si accendevano tutti e 4 led giusto?
Quindi se metto a massa un solo livello, si accende solo il led corrispondente a quella colonna e al livello a massa no?
Quindi il transistor ha il compito di mettere a massa il livello o sbaglio?
Pages: 1 2 3 [4] 5 6 ... 29