Loading...
  Show Posts
Pages: [1] 2 3 4
1  Forum 2005-2010 (read only) / Italiano / Re: la non migrazione del forum on: January 18, 2011, 12:52:03 pm
Se ho ben capito però... il "vecchio" forum sarà sempre consultabile in sola lettura...
Sarebbe una follia cestinare le migliaia di info utili a favore di un nuovo look&feel...
2  Forum 2005-2010 (read only) / Italiano / Re: Sensori wireless on: January 10, 2011, 08:39:21 am
Quote
i sensori che mi servono sono i seguenti:
quelli dell'oggetto:
di forza
di velocità
di accelerazione
di posizione
di vibrazione
di conteggio
di metri percorsi

quelli ambientali:
temperatura
umidità
vento

Qualcuno può indicarmi un sito e se eventualmente se si può collegare questi con il materiale che acquisto.? Grazie
Secondo me dovresti descrivere il progetto... in particolare definire "oggetto".
Bisognerebbe capire cosa intendi per: posizione (rispetto a cosa), forza (di che natura), conteggio (di cosa),...

Per i sensori ambientali alcuni esempi:
questo è un sensore di temperatura (datasheet);
questo è un sensore di umidità (datasheet);
per il vento dovresti trovare tutto l'ambaradan completo o costruirti "girandola" con  palette/semisfere e sensore... (magari parti da quì).


3  Forum 2005-2010 (read only) / Italiano / Re: Sensori wireless on: January 08, 2011, 07:24:16 am
Quote
Dove posso trovare sensori wireless es:temperatura umidità pressione ecc...
I negozi online che vendono arduino, hanno spesso diversi sensori disponibili che possono essere collegati (fisicamente) e "letti" da arduino... In alternativa un buon negozio di elettronica.

Un sensore dotato di connettività wireless per l'invio delle misurazioni, supposto che lo trovi, non è sicuramente facile da gestire. Per uno spunto in merito puoi leggere questa discussione.


Una "soluzione" potrebbe essere: collegare i sensori fisicamente all'arduino e far comunicare quest'ultimo con il PC attraverso due moduli Xbee (uno per arduino con il relativo shield, ed uno per il pc con eventuale convertitore Seriale -> USB).

Non per scoraggiarti ma se:
Quote
Premessa :non so niente di elettronica e programmi

Non è per niente facile iniziare con un progetto simile.
Se hai la voglia e il tempo necessari... dovresti iniziare da cose più semplici.
4  Forum 2005-2010 (read only) / Italiano / Re: Si prega di leggere on: January 14, 2011, 02:57:29 am
Which board do you have selected?
5  Forum 2005-2010 (read only) / Italiano / Re: Midi Controller on: January 11, 2011, 09:44:22 am
Questo documento contiene info sul protocollo MIDI...
Un altro link utile e ricco sul protocollo MIDI è questo.
Per quanto riguarda la conversione software Seriale -> Midi questa pagina sicuramente può essere utile.

In questo thread un utente è riuscito a realizzare qualcosa con Arduino e vengono riportati altri utili link.

Cercando, escono diverse cose interessanti...
6  Forum 2005-2010 (read only) / Italiano / Re: TSOP 1738 e TSOP 31238 on: January 16, 2011, 08:55:54 pm
La trasmissione del codice (identificativo) di un tasto del telecomando consiste in una serie di impulsi emessi in successione, ognuno con una determinata durata, dal led IR del telecomando.
Questi impulsi costituiscono un segnale modulato (credo, per i telecomandi delle tv, sempre modulazioni di un certo tipo sulla portante di 38kHz) che viene rilevato dal ricevitore IR (il tuo tsop31238).
Uno degli scopi della libreria è quindi decodificare il segnale ricevuto dal fotodiodo IR e, per far questo, è necessario che "conosca" la codifica utilizzata.

Esistono diverse codifiche per la trasmissione dati nei telecomandi IR.
Alcune di esse (NEC, Sony SIRC, Philips RC5, Philips RC6) sono direttamente supportate dalla libreria IRremote di Ken Shirriff.
Questo significa che, per ogni tasto del telecomando, la libreria, se conosce la codifica, è in grado di decodificare il relativo segnale e ti dà come risultato un codice numerico (unsigned long) che puoi usare per identificare univocamente il tasto premuto.

Il formato raw rappresenta, invece, il segnale così come è stato rilevato dal ricevitore, quindi, non decodificato.
In questo formato il segnale è rappresentato come una successione di livelli logici alti e bassi (mark-space) specificando, per ognuno di essi, la durata (in microsecondi).

Per tutti i segnali ricevuti, per i quali la libreria ne riconosce la codifica, hai a disposizione il codice decodificato (unsigned long) e il raw.
Per i segnali ricevuti per i quali la libreria non ne riconosce la codifica hai a disposizione il solo raw (il tuo caso con il samsung).

Se il tuo scopo fosse replicare, tramite un led IR, i codici raw rilevati dal tsop31238, potresti far riferimento al metodo sendRaw della classe IRsend.

Spero di non aver detto inesattezze... aspetta comunque conferme.
7  Forum 2005-2010 (read only) / Italiano / Re: TSOP 1738 e TSOP 31238 on: January 10, 2011, 06:59:14 pm
Se ti vendono il TSOP31238 sicuro è un ricevitore... se poi ti mandano un led ir non so ;D
Non so perché in quella pag. dica emettitore.
Qui e nel relativo datasheet la descrizione è corretta.
Io lo prenderei.
8  Forum 2005-2010 (read only) / Italiano / Re: TSOP 1738 e TSOP 31238 on: January 10, 2011, 06:48:02 pm
credo sia ok.
9  Forum 2005-2010 (read only) / Italiano / Re: TSOP 1738 e TSOP 31238 on: January 10, 2011, 08:22:46 am
Ricevitore IR ed eventuale led IR in digitale.
10  Forum 2005-2010 (read only) / Italiano / Re: TSOP 1738 e TSOP 31238 on: January 10, 2011, 08:13:01 am
Per le differenze tra i due ricevitori puoi confrontare i relativi datasheet: TSOP1738, TSOP31238.

Un altro esempio di utilizzo può essere questo:

immagine schema
dove
R1: 10K[ch937]
R2, R3: 220[ch937]

Sketch:
Code:
/*
 * Controllo di due led tramite telecomando IR.
 */

#include <IRremote.h>

int RECV_PIN = 3;         //Pin su cui è connesso il ricevitore IR
int RED_LED_PIN = 9;      //Pin del led rosso
int GREEN_LED_PIN = 8;    //Pin del led verde
int BUTTON_PIN = 2;       //Pin del bottone

int STATUS_RED = LOW;     //Stato del led rosso
int STATUS_GREEN = LOW;   //Stato del led verde

int RED_IR_CODE = 0xFFFF9867;  //Codice per comandare il led rosso
int GREEN_IR_CODE = 0x58A7;    //Codice per comandare il led verde

IRrecv irrecv(RECV_PIN);   //Inizializza il pin del ricevitore IR

decode_results results;    //Comando ricevuto dal ricevitore IR

/*
 * Switcha lo stato "ledStatus" del led "ledpin", "count" volte,
 * con una pausa, tra uno stato ed il successivo, "pause" millisecondi.
 * Ritorna l'ultimo stato del led.
 */
int blinkled(int ledpin, int count, int ledStatus, int pause){
  for (; count > 0; --count){
    if(ledStatus == LOW)
      ledStatus = HIGH;
    else
      ledStatus = LOW;
    digitalWrite(ledpin, ledStatus);
    delay(pause);
 }
  return ledStatus;
}

void setup()
{
  Serial.begin(9600);
  
  //Impostazione modalità dei pin
  pinMode(RED_LED_PIN, OUTPUT);
  pinMode(GREEN_LED_PIN, OUTPUT);
  pinMode(BUTTON_PIN, INPUT);
  
  //Blink dei led
  STATUS_RED = blinkled(RED_LED_PIN, 14, LOW, 50);
  STATUS_GREEN = blinkled(GREEN_LED_PIN, 14, LOW, 50);
  
  //Avvio della ricezione IR
  irrecv.enableIRIn();
}

/*
 * Riceve e ritorna il codice IR da associare al led "ledpin".
 */
int recIRCode(int ledpin){
  int code = 0;    //Codice ricevuto dal ricevitore IR
  int statusLed;   //Stato del led
  
  //Accende il led ed esegue un blink
  statusLed = blinkled(ledpin, 1, LOW, 0);
  statusLed = blinkled(ledpin, 4, statusLed, 50);
  
  while(code == 0)  //Fin quando il codice ricevuto non è valido (0)
   if (irrecv.decode(&results)){  //Riceve e decodifica il codice IR
     //Se il codice è decodificabile dalla libreria ed il codice non è quello di REPEAT
     if (results.decode_type != -1 && results.value != REPEAT){
      code = results.value;        //Codice ricevuto
      Serial.print("rec code: ");
      Serial.print(code, HEX);
      Serial.print(" -> pin ");
      Serial.println(ledpin);
      statusLed = blinkled(ledpin, 5, statusLed, 50);  //Blink del led
     }
     irrecv.resume(); //Riceve il valore successivo dall'IR
   }
  statusLed = blinkled(ledpin, 1, HIGH, 0);  //Spegne il led
  return code;  //Ritorna il codice ricevuto
}

void loop() {
  int code;        //Codice IR ricevuto
  
  //Se il pulsante di registrazione dei codice è stato premuto...
  if (digitalRead(BUTTON_PIN) == HIGH){
    //Spegne i led
    STATUS_RED = blinkled(RED_LED_PIN, 1, HIGH, 0);
    STATUS_GREEN = blinkled(GREEN_LED_PIN, 1, HIGH, 0);
    //Rivece e memorizza i codici per il led rosso e verde
    RED_IR_CODE = recIRCode(RED_LED_PIN);
    GREEN_IR_CODE = recIRCode(GREEN_LED_PIN);
  }
  //Se è disponibile un segnale IR
  if (irrecv.decode(&results)) {
    code = results.value;        //Memorizza il codice ricevuto
    Serial.print(code, HEX);
    if (code == REPEAT)          //Codice relativo ad un bottone non ancora rilasciato
      Serial.print(" [repeat code]");
    if (code == RED_IR_CODE){    //Codice associato al led rosso
      Serial.print(": switch red led : pin ");
      Serial.print(RED_LED_PIN);
      STATUS_RED =  blinkled(RED_LED_PIN, 1, STATUS_RED, 0);  //Switcha lo stato del led rosso
    }
    //senza else consente di usare un bottone per più led
    if (code == GREEN_IR_CODE){  //Codice associato al led verde
      Serial.print(": switch green led : pin ");
      Serial.print(GREEN_LED_PIN);
      STATUS_GREEN = blinkled(GREEN_LED_PIN, 1, STATUS_GREEN, 0); //Switcha lo stato del led verde
    }
    if(results.decode_type == -1){  //Codice non decodificabile dalla libreria
      //Mostra il codice raw su serial
      unsigned int rawCodes[RAWBUF];
      Serial.println(": UNKNOW code");
      Serial.print("\traw len: ");
      Serial.print(results.rawlen);
      Serial.print("\n\traw buf: ");
      int codeLen = results.rawlen - 1;
      for (int i = 1; i <= codeLen; i++) {
        if (i % 2) {
          // Mark
          rawCodes[i - 1] = results.rawbuf[i]*USECPERTICK - MARK_EXCESS;
          Serial.print(" m");
        }
        else {
          // Space
          rawCodes[i - 1] = results.rawbuf[i]*USECPERTICK + MARK_EXCESS;
          Serial.print(" s");
        }
        Serial.print(rawCodes[i - 1], DEC);
       }
       Serial.println("");
    }
    irrecv.resume(); //Riceve il prossimo valore IR
    Serial.println();
  }
}

Il bottone è usato per avviare le associazioni dei tasti del telecomando ai led.
E' possibile associare anche lo stesso tasto ad entrambi i led.
11  Forum 2005-2010 (read only) / Italiano / Re: ATMega328 su millefori & relè: consigli compon on: January 10, 2011, 06:41:56 am
grazie mille smiley anche se costano un po' a questo punto prendo questi smiley
12  Forum 2005-2010 (read only) / Italiano / Re: ATMega328 su millefori & relè: consigli compon on: January 09, 2011, 07:20:58 pm
Grazie mille uwefed!
Se riesco a trovarne prendo i relè con i contatti faston smiley

Altrimenti, se non ne trovo di adatti, faccio così:
Quote
Se proprio devi usare il relé sulla scheda togli tutti gli anelli di rame non usati intorno ai 230V. (almeno 1 fila)
In questo caso penso di riuscire a tenere una distanza di circa 2cm, forse anche 3cm, tra le piste a 230V e 5V (togliendo le file di piazzole in mezzo). Sono sufficienti?
Grazie ancora

[edit]
Scusami... avevo tralasciato la questione del comune tra i contatti della bobina smiley-sad
Quindi tra questi contatti la distanza è di circa 5mm (una fila di piazzole da togliere quindi).
[/edit]
13  Forum 2005-2010 (read only) / Italiano / Re: ATMega328 su millefori & relè: consigli compon on: January 09, 2011, 08:13:23 am
Grazie mille!!! smiley-grin Davvero ottimi link. Mi saranno utilissimi smiley
14  Forum 2005-2010 (read only) / Italiano / Re: ATMega328 su millefori & relè: consigli compon on: January 08, 2011, 08:15:33 pm
@TeraBite
Quote
Ho usato quel tutorial in due miei progetti trasferiti su millefori e funziona perfettamente.
Ho inserito sia da 16MHz che da 8MHz sull'ATmega328, per il prossimo penso metterò uno da 20MHz.
Ho letto che può supportarli di supiori.
Ho letto qualche tuo post... e sono finito sul tuo blog... grazie smiley
Per la questione del quarzo avevo letto sul datasheet (pag. 34) che il range di frequenza per il clock esterno è 0 - 20 MHz. Pensi di andare oltre? Conviene?

@federico
Quote
Credo che devi modificare il firmware anche
Per quello che ho capito è sufficiente caricarci il bootloader tramite l'ide e un arduino e lo sketch desiderato. Magari modifiche al firmware potrebbero essere auspicabili per alleggerire un po' la ram eliminando funzionalità non necessarie? In questo senso intendevi?

@MauroTec
Quote
Ok, ma io non pretendevo mica che si diventasse autonomi, ma che ci siano almeno le fondamentali conoscenze...
Non posso dir altro se non ... hai ragione smiley

Quote
Si ricordo che sono di basso valore e che è consigliato metterli vicino al regolatore. Se dal punto in cui hai messo un condensatore parte una traccia lunga una decina di centimetri o più puoi mettere un'altro condensatore, sempre da 0,1uF.

Mentre per i condensatore di ingresso al regolatore puoi usare 10uF - 100uF o più.
Perfetto. Grazie mille! smiley

@Pelletta
Quote
Scusate la domanda, ma il condensatore da 100 nF tra il pin AREF e GND non si mette? Lo avevo chiesto alcuni mesi fa in un post e sembra sia necessario per stabilizzare la lettura sui pin analogici.
Io lo metto sempre e non riscontro problemi, in effetti sta pure su arduino 2009 ma su tutti gli schemi di arduino standalone che si trovano in rete del condensatore da 100 nF su AREF non c'è traccia....
A questo proposito sempre sul datasheet, c'è scritto: "...the
external AREF pin is directly connected to the ADC, and the reference voltage can be made
more immune to noise by connecting a capacitor between the AREF pin and ground...".
Mi sa che quindi farò anch'io così. Grazie per l'info smiley
15  Forum 2005-2010 (read only) / Italiano / Re: ATMega328 su millefori & relè: consigli compon on: January 08, 2011, 05:51:46 am
Quote
L'importante è volere imparare almeno le basi, in particolare la legge di ohm e i transistor, pare però un'argomento tanto complesso che nessuno ci vuole dedicare un pò del suo tempo, in realtà poi non è così complicato.
Credimi, la volontà e l'interesse ci sono ma purtroppo, come hai detto, è questione di tempo da investire; per chi, come me, non ha mai studiato seriamente l'argomento, non è facile riuscire ad essere autonomi smiley-sad

Quote
Il Relè è ok, poi dipende cosa deve commutare.
Se ho ben capito potrei "switchare apparecchi" che richiedono un massimo di 10A (se vanno a 220V, una potenza max di 2200VA).

Quote
R10Kohm a che serve; per il reset?.
Dovrebbe andare bene 1/8W, 1/4W.
Sì, per il reset.

Quote
comprerei anche uno zoccolo per il 328p, dei morsetti a vite per circuito stampato,...
Sì li avevo messi in preventivo smiley Sto vedendo bene il tipo di zoccolo e i passi...

Quote
comprerei anche ... un L7805 e un paio di condensatori elettrolitici 100uf 10uf 25V.
L' L7805 [smiley=embarassed.gif] per alimentare il 328 (o meglio il circuito) con tensioni superiori a 5V (fino a un max di 25V)?
I condensatori sono necessari per l'L7805? Vedendo il datasheet dell' L7805 (pag.8 - Application Circuit) vengono riportati condensatori da 0.33uF e 0.1uF. In base a cosa si dimensionano?  :-[

Grazie mille per la pazienza e la disponibilità!

Pages: [1] 2 3 4