Show Posts
Pages: [1] 2 3 ... 6
1  International / Hardware / Re: Doppio Ground in Arduino DUE? on: December 25, 2013, 06:58:44 am
Grazie mille a tutti per le risposte, in sostanza la risposta alla mia domanda è che non ci sono due ground separate su arduino due che possiamo utilizzare smiley

Grazie ancora!
2  International / Hardware / Doppio Ground in Arduino DUE? on: December 23, 2013, 06:04:46 am
Ciao a tutti ragazzi, mi chiedevo se sull'arduino DUE ci fossero due GND separati per la sezione analogica e quella digitale. Non mi sono mai chiesto il problema, ma se fossero divisi(i due gnd) unirli senza sapere la differenza sarebbe davvero un peccato.

Grazie mille per le informazioni smiley
Alessandro
3  International / Software / Re: MP3 Player shield on: November 13, 2013, 10:34:01 am
potresti fare una funzione nella quale, a ogni cambiamento/modifica/inserimento di SD,  rinomini i file in 8.3 mettendo però i nomi dei files in un tag sconosciuto dei files MP3(creatore mi pare che non lo legga nessuno). Però non so se si possa fare con quella libreria, non so se mi sono fatto capire.  smiley-fat
4  International / Software / Re: Bitshifting on: November 12, 2013, 05:41:07 pm
Grazie mille! Io facevo and su tutto il byte e quindi facevo in sostanza la somma booleana. Inutile dare le soluzioni che non si capiscono, molto meglio far arrivare alla soluzione, grazie mille ancora smiley-wink
5  International / Software / Re: Bitshifting on: November 12, 2013, 04:59:04 pm
Dunque, correggetemi se sbaglio:
Prendo 8bit di esempio    11011010
Li sommo con    10000000
Ottengo come risultato    00111010
che è diverso da 0, quindi mi restituisce true nonostante il primo bit(a partire da sinistra?-msb) sia 1. Dove sbaglio  smiley-neutral
6  International / Software / Re: Bitshifting on: November 12, 2013, 04:46:26 pm
Grazie mille per la risposta!
Come ti ho detto, il bit più significativo è quello a sinsitra.
Per "leggerlo" hai 2 modi:
1) col link che avevi postato tu, arrivi a bitRead: leggi il bit di un byte. Esempio:
Code:
if (bitRead(variabile, 7) == 1)
Questo if è valido se il bit in posizione 7, quindi l'ottavo bit (attenzione alle numerazioni, partono da 0), è uguale a 1.
Perfetto, già questo basta per la mia applicazione smiley

2) con una operazione di AND per bit:
Code:
if (variabile & 0b10000000)
questo test sarà vero solo se l'ottavo bit è pari a 1
Questo invece non l'ho capito, mi sapresti spiegare perche facendo la AND con quel byte dovrebbe darmi true la condizione?

Grazie grazie grazie!
7  International / Software / Re: Bitshifting on: November 12, 2013, 03:56:51 pm
Grazie per la risposta, prima di tutto smiley

Il fatto è che questo lo avevo capito, l'ho fatto anche a scuola questo argomento. Il problema è, in modo pratico, come faccio da un byte a trovare l'MSB?

Code:
byte primo = B11010100;

//come ottengo 0(l'msb)

Grazie mille ancora per la risposta!
8  International / Software / Bitshifting on: November 12, 2013, 10:58:05 am
Ciao a tutti, qualcuno mi può spiegare bitshifting?
Volevo fare una mia "libreria" personale per gli shiftregisters e ho quindi bisogno di ricavare l'MSB da un BYTE. In tutte le pagine che ho trovato su google, si parla di bitshifting ma in ogni caso(neanche qui http://arduino.cc/en/Reference/Bitshift) non ho capito a cosa mi possa servire...

Grazie mille, Alessandro smiley-grin
9  International / Hardware / Re: Sensore di temperatura con e porta seriale on: October 10, 2013, 12:30:52 pm
Forse sono OT: io con gli analogici non lo faccio quasi mai e funzionano sempre  smiley-slim Comunque sempre meglio inserire smiley
10  International / Hardware / ST93C46A EEPROM on: October 10, 2013, 12:04:32 pm
Ciao a tutti, mi sono ritrovato con questa EEPROM: ST93C46A come da titolo e non riesco a collegarla al mio arduino, mi date una mano  smiley ?

Fin'ora ho trovato questi due documenti importanti:
Da quel che ho capito dal datasheet, la EEPROM necessita di un OP CODE per sapere cosa deve fare(presumo dall'inglese operational code), sul datasheed sono invece così riportati:
Istruzione  Descrizione  OpCode 
READLegge dati dalla memoria (READ-Leggi)10
WRITEScrive dati sulla memoria (WRITE-Scrivi)01
EWENAbilità cancella/scrivi (EraseWriteENable)00
EWDSDisabilità cancella/scrivi (EraseWriteDiSable)00
ERASECancella una parola o un byte (ERASE- cancella)11
ERALCancella tutta la memoria (ERase ALl - cancella tutto)00
WRALScrivi tutta la memoria con lo stesso dato (WRite ALl)00

Il secondo gruppo di costanti definito nel codice di esempio sul play ground le chiama in altro modo, sono riuscito a associarne solamente 4:
Datasheet PlayGround
READENABLE
WRITEWRITE
EWENWREN
EWDSWRDI
ERASE
ERAL
WRAL

E qui non so più come continuare, se non creando un programma che utilizzi la EEPROM senza liberia, seguendo questo schema:


Grazie mille a tutti, un grazie speciale a chi mi aiuta  smiley-razz
Ciao, Alessandro smiley
11  International / Hardware / Re: Primo circuito radiofrequenze. on: March 28, 2013, 04:38:20 am
Avevo visto che quelli erano i meno costosi  smiley-money Però li volevo integrare in un progetto di domotica e volevo collegari diversi punti della mia casa, se dovessi collegare 10 punti sarebbero già 100€! Ho chiesto a un mio professore e mi ha detto che stanno guardando dei moduli tx/rx che garantiscono 1mbit/s e costano circa 3€. Appena so qualcosa metto tutto qui.

p.s. Se qualcuno volesse fare robotica, consiglio di venire all'erasmo da rotterdam di bollate. Si fanno cose piùttosto serie.
12  International / Hardware / Re: Primo circuito radiofrequenze. on: March 27, 2013, 02:17:35 pm
Uwe sei il mio salvatore personale  smiley-razz

a dir la verità volevo una soluzione economica ma anche di facile reperibilità per trasferire dati senza filo. le soluzioni che mi hai indicato sono tutte troppo costose, a parte i moduli da 433mhz che sono però di difficile reperibilità. essendo molto piccoli mi chiedevo se esistesse lo schema di essi per riprodurli a casa.

Grazie per la risposta, nel frattempo smiley-wink
13  International / Hardware / Primo circuito radiofrequenze. on: March 26, 2013, 09:53:27 am
Ciao a tutti, domandina semplice: vorrei incominciare con le radiofrequenze, quale circuito trovate/avete trovato istruttuvo utilizzabile con arduino?

Grazie mille  smiley
14  International / Software / Re: Bytes su seriale on: February 23, 2013, 05:47:53 am
Grazie mille per le risposte smiley-grin
Ho modificato in questo modo, a casa provo se funziona, poi vi dico:

Code:
int led = 13;


byte readByte() {
  byte in = B11111111;
  for (int cnt=2;cnt<10;cnt++) { //fa un controllo su tutti i pin e controlla che siano a basso livello
    if (digitalRead(cnt) == LOW) {
      byte mask = B11111111;
      switch (cnt) {
      case 2:
        {
          mask = B01111111;
          break;
        }
      case 3:
        {
          mask = B10111111;
          break;
        }
      case 4:
        {
          mask = B11011111;
          break;
        }
      case 5:
        {
          mask = B11101111;
          break;
        }
      case 6:
        {
          mask = B11110111;
          break;
        }
      case 7:
        {
          mask = B11111011;
          break;
        }
      case 8:
        {
          mask = B11111101;
          break;
        }
      case 9:
        {
          mask = B11111110;
          break;
        }
      }
      in = in & mask; //Aggiorna in bytes
    }
  }
  return in;
}

void setup() {
  pinMode(led, OUTPUT);
  pinMode(2, INPUT);
  pinMode(3, INPUT);
  pinMode(4, INPUT);
  pinMode(5, INPUT);
  pinMode(6, INPUT);
  pinMode(7, INPUT);
  pinMode(8, INPUT);
  pinMode(9, INPUT);
  pinMode(10, INPUT);
  pinMode(11, INPUT);
  pinMode(12, INPUT);
  Serial.begin(9600);
  Serial.println("Inizio");
}

void loop() {
  digitalWrite(led,HIGH);
  byte READING = readByte();
  Serial.write(READING);
  digitalWrite(led,LOW);
  delay(1000);
}

Grazie mille ancora smiley-grin
15  International / Software / Bytes su seriale on: February 22, 2013, 05:08:26 pm
Ciao a tutti, dopo una lezione sui bit e i bytes ho deciso di implementare su arduino. Penso che la logica ci sia almeno un minimo tuttavia sulla seriale mi ritorna l'equivalente di B11111111... Non fa lo switch? Perchè?

Code:
int led = 13;


byte readByte() {
  byte in = B11111111;
  for (int cnt=2;cnt<10;cnt++) { //fa un controllo su tutti i pin e controlla che siano a basso livello
    if (digitalRead(cnt) == LOW) {
      byte mask = B11111111;
      switch (cnt) {
      case 2:
        {
          byte mask = B01111111;
          break;
        }
      case 3:
        {
          byte mask = B10111111;
          break;
        }
      case 4:
        {
          byte mask = B11011111;
          break;
        }
      case 5:
        {
          byte mask = B11101111;
          break;
        }
      case 6:
        {
          byte mask = B11110111;
          break;
        }
      case 7:
        {
          byte mask = B11111011;
          break;
        }
      case 8:
        {
          byte mask = B11111101;
          break;
        }
      case 9:
        {
          byte mask = B11111110;
          break;
        }
      }
      in = in & mask; //Aggiorna in bytes
    }
  }
  return in;
}

void setup() {
  pinMode(led, OUTPUT);
  pinMode(2, INPUT);
  pinMode(3, INPUT);
  pinMode(4, INPUT);
  pinMode(5, INPUT);
  pinMode(6, INPUT);
  pinMode(7, INPUT);
  pinMode(8, INPUT);
  pinMode(9, INPUT);
  pinMode(10, INPUT);
  pinMode(11, INPUT);
  pinMode(12, INPUT);
  Serial.begin(9600);
  Serial.println("Inizio");
}

void loop() {
  digitalWrite(led,HIGH);
  byte READING = readByte();
  Serial.write(READING);
  digitalWrite(led,LOW);
  delay(1000);
}


Grazie mille per le risposte smiley
Pages: [1] 2 3 ... 6