Show Posts
Pages: 1 2 [3] 4
31  International / Generale / Aiuto con decodifica IR on: January 30, 2012, 04:19:45 am
Ciao a tutti,

per il mio progetto sto cercando di carpire e replicare un comando IR di cui non conosco il protocollo.
Per farlo sto utilizzando gli sketch di ladydada di questo indirizzo http://www.ladyada.net/learn/sensors/ir.html e precisamente questo
Code:
/* Raw IR decoder sketch!
 
 This sketch/program uses the Arduno and a PNA4602 to
 decode IR received. This can be used to make a IR receiver
 (by looking for a particular code)
 or transmitter (by pulsing an IR LED at ~38KHz for the
 durations detected
 
 Code is public domain, check out www.ladyada.net and adafruit.com
 for more tutorials!
 */
 
// We need to use the 'raw' pin reading methods
// because timing is very important here and the digitalRead()
// procedure is slower!
//uint8_t IRpin = 2;
// Digital pin #2 is the same as Pin D2 see
// http://arduino.cc/en/Hacking/PinMapping168 for the 'raw' pin mapping
#define IRpin_PIN      PIND
#define IRpin          2
 
// the maximum pulse we'll listen for - 65 milliseconds is a long time
#define MAXPULSE 65000
 
// what our timing resolution should be, larger is better
// as its more 'precise' - but too large and you wont get
// accurate timing
#define RESOLUTION 20
 
// we will store up to 100 pulse pairs (this is -a lot-)
uint16_t pulses[100][2];  // pair is high and low pulse
uint8_t currentpulse = 0; // index for pulses we're storing
 
void setup(void) {
  Serial.begin(9600);
  Serial.println("Ready to decode IR!");
}
 
void loop(void) {
  uint16_t highpulse, lowpulse;  // temporary storage timing
  highpulse = lowpulse = 0; // start out with no pulse length
 
 
//  while (digitalRead(IRpin)) { // this is too slow!
    while (IRpin_PIN & (1 << IRpin)) {
     // pin is still HIGH
 
     // count off another few microseconds
     highpulse++;
     delayMicroseconds(RESOLUTION);
 
     // If the pulse is too long, we 'timed out' - either nothing
     // was received or the code is finished, so print what
     // we've grabbed so far, and then reset
     if ((highpulse >= MAXPULSE) && (currentpulse != 0)) {
       printpulses();
       currentpulse=0;
       return;
     }
  }
  // we didn't time out so lets stash the reading
  pulses[currentpulse][0] = highpulse;
 
  // same as above
  while (! (IRpin_PIN & _BV(IRpin))) {
     // pin is still LOW
     lowpulse++;
     delayMicroseconds(RESOLUTION);
     if ((lowpulse >= MAXPULSE)  && (currentpulse != 0)) {
       printpulses();
       currentpulse=0;
       return;
     }
  }
  pulses[currentpulse][1] = lowpulse;
 
  // we read one high-low pulse successfully, continue!
  currentpulse++;
}
 
void printpulses(void) {
  Serial.println("\n\r\n\rReceived: \n\rOFF \tON");
  for (uint8_t i = 0; i < currentpulse; i++) {
    Serial.print(pulses[i][0] * RESOLUTION, DEC);
    Serial.print(" usec, ");
    Serial.print(pulses[i][1] * RESOLUTION, DEC);
    Serial.println(" usec");
  }
}
.

Il risultato che ottengo è questo:
Code:
Received:

OFF    ON
35824 usec, 3240 usec
2640 usec, 6080 usec
7660 usec, 3120 usec
2780 usec, 6000 usec
7720 usec, 3080 usec
2840 usec, 5940 usec
7800 usec, 3020 usec
2860 usec, 5920 usec
7840 usec, 2980 usec
2880 usec, 4360 usec
80 usec, 1480 usec
7820 usec, 2980 usec
2900 usec, 5920 usec
7820 usec, 2960 usec
2940 usec, 5900 usec
7840 usec, 2920 usec
2960 usec, 5900 usec
7820 usec, 2940 usec
2960 usec, 5880 usec
7840 usec, 2940 usec
2960 usec, 5880 usec
7840 usec, 2920 usec
2960 usec, 5900 usec
7820 usec, 2960 usec
2960 usec, 5860 usec
7840 usec, 2960 usec
2960 usec, 5860 usec
7840 usec, 2940 usec
2960 usec, 5860 usec
7860 usec, 2940 usec
2960 usec, 5860 usec
7860 usec, 2920 usec
2960 usec, 5860 usec
7880 usec, 2920 usec
2960 usec, 5860 usec
7880 usec, 2900 usec
2960 usec, 5880 usec
7860 usec, 2920 usec
2960 usec, 5880 usec
7860 usec, 2900 usec
3000 usec, 5840 usec
7880 usec, 2900 usec
2960 usec, 5880 usec
7880 usec, 2900 usec
2960 usec, 5860 usec
7880 usec, 2920 usec
2940 usec, 5900 usec
7860 usec, 2920 usec
2960 usec, 5860 usec
7860 usec, 2920 usec
2960 usec, 5880 usec
7860 usec, 2900 usec
3000 usec, 5840 usec
7880 usec, 2900 usec
2980 usec, 5860 usec
7860 usec, 2920 usec
2980 usec, 5860 usec
7860 usec, 2900 usec
2980 usec, 5860 usec
7880 usec, 2900 usec
2980 usec, 5860 usec
7860 usec, 2920 usec
2980 usec, 5840 usec
7880 usec, 2920 usec
2960 usec, 5860 usec
7860 usec, 2940 usec
2960 usec, 5860 usec
7860 usec, 2940 usec
2940 usec, 5860 usec
7860 usec, 2940 usec
2960 usec, 5860 usec
7860 usec, 2940 usec
2940 usec, 5860 usec
7860 usec, 2940 usec
2960 usec, 5860 usec
7880 usec, 2900 usec
2960 usec, 5880 usec
7880 usec, 2900 usec
2960 usec, 5880 usec
7860 usec, 2900 usec
3000 usec, 5860 usec
7860 usec, 2900 usec
2980 usec, 5860 usec
7860 usec, 2920 usec
2980 usec, 5860 usec
7860 usec, 2920 usec
2980 usec, 5860 usec
7860 usec, 2900 usec
2980 usec, 5860 usec
7860 usec, 2920 usec
2980 usec, 5860 usec
7860 usec, 2920 usec
2960 usec, 5860 usec
7860 usec, 2940 usec
2960 usec, 5860 usec
7860 usec, 2920 usec
2960 usec, 5880 usec
7860 usec, 2920 usec
2960 usec, 5860 usec
7860 usec, 2940 usec
22476 usec, 460 usec
8192 usec, 480 usec
34816 usec, 0 usec
0 usec, 0 usec
0 usec, 0 usec
0 usec, 0 usec
0 usec, 0 usec
0 usec, 0 usec
0 usec, 0 usec
0 usec, 0 usec
0 usec, 0 usec
0 usec, 0 usec
0 usec, 0 usec
0 usec, 0 usec
0 usec, 0 usec
0 usec, 0 usec
0 usec, 0 usec
0 usec, 0 usec
0 usec, 0 usec
0 usec, 50148 usec
51460 usec, 33728 usec
1316 usec, 50148 usec
33648 usec, 9856 usec
60668 usec, 30652 usec
30336 usec, 10336 usec
33848 usec, 33648 usec
65532 usec, 5176 usec
33888 usec, 1316 usec
50148 usec, 51460 usec
1316 usec, 50148 usec
51460 usec, 65492 usec
15316 usec, 9856 usec
60668 usec, 15416 usec
33888 usec, 1316 usec
50148 usec, 33648 usec
10196 usec, 100 usec
320 usec, 7740 usec
0 usec, 20000 usec
0 usec, 0 usec
0 usec, 16200 usec
17560 usec, 3940 usec
3920 usec, 3840 usec
3860 usec, 3960 usec
15440 usec, 25740 usec
20 usec, 15440 usec
25740 usec, 60436 usec
65196 usec, 1748 usec
5176 usec, 33780 usec
55256 usec, 5840 usec
7880 usec, 2920 usec
2960 usec, 5860 usec
int IRsignal[] = {
// ON, OFF (in 10's of microseconds)
   324, 264,
   608, 766,
   312, 278,
   600, 772,
   308, 284,
   594, 780,
   302, 286,
   592, 784,
   298, 288,
   436, 8,
   148, 782,
   298, 290,
   592, 782,
   296, 294,
   590, 784,
   292, 296,
   590, 782,
   294, 296,
   588, 784,
   294, 296,
   588, 784,
   292, 296,
   590, 782,
   296, 296,
   586, 784,
   296, 296,
   586, 784,
   294, 296,
   586, 786,
   294, 296,
   586, 786,
   292, 296,
   586, 788,
   292, 296,
   586, 788,
   290, 296,
   588, 786,
   292, 296,
   588, 786,
   290, 300,
   584, 788,
   290, 296,
   588, 788,
   290, 296,
   586, 788,
   292, 294,
   590, 786,
   292, 296,
   586, 786,
   292, 296,
   588, 786,
   290, 300,
   584, 788,
   290, 298,
   586, 786,
   292, 298,
   586, 786,
   290, 298,
   586, 788,
   290, 298,
   586, 786,
   292, 298,
   584, 788,
   292, 296,
   586, 786,
   294, 296,
   586, 786,
   294, 294,
   586, 786,
   294, 296,
   586, 786,
   294, 294,
   586, 786,
   294, 296,
   586, 788,
   290, 296,
   588, 788,
   290, 296,
   588, 786,
   290, 300,
   586, 786,
   290, 298,
   586, 786,
   292, 298,
   586, 786,
   292, 298,
   586, 786,
   290, 298,
   586, 786,
   292, 298,
   586, 786,
   292, 296,
   586, 786,
   294, 296,
   586, 786,
   292, 296,
   588, 786,
   292, 296,
   586, 786,
   294, 404,
   64, 2355,
   68, 5836,
   0, 0,
   0, 0,
   0, 0,
   0, 0,
   0, 0,
   0, 0,
   0, 0,
   0, 0,
   0, 0,
   0, 0,
   0, 0,
   0, 0,
   0, 0,
   0, 0,
   0, 0,
   0, 0,
   0, 0,
   4979, 190,
   4628, 2963,
   4979, 190,
   4628, 2963,
   190, 4628,
   3067, 2963,
   473, 6047,
   2979, 5146,
   6469, 1529,
   2977, 6003,
   1547, 3364,
   6553, 517,
   190, 4628,
   1029, 3,
   3364, 5533,
   2977, 5146,
   106, 118,
   774, 0,
   2000, 0,
   0, 0,
   1620, 1756,
   394, 392,
   384, 386,
   396, 1544,
   2574, 2,
   1544, 2574,
   6043, 6519,
   174, 517,
   3378, 5525,
   584, 788,
   292, 296,
   586, 0};

Quello che non mi è chiaro è che valori utilizzare quando vado a replicare il comando con le istruzioni PulseIR e Delaymicrosecond quando mi trovo una sequenza di 0 microsecondi sia in ON che in OFF
0 usec, 0 usec
0 usec, 0 usec
0 usec, 0 usec
0 usec, 0 usec
0 usec, 0 usec
0 usec, 0 usec
0 usec, 0 usec

Grazie fin da ora per l'aiuto.
32  International / Generale / Performance Arduino, sono abbastanza per il mio progetto? on: January 25, 2012, 08:36:21 am
Ciao a tutti,

un piccolo passo dopo l'altro sto capendo sempre più cose sul mondo arduino e sono estremamente felice di tutto ciò. Mentre avanzo un pezzetto dopo l'altro nel mio progetto ora ho abbastanza chiaro quello che devo fare e come farlo.
La domanda che mi si pone ora è relativa alle prestazioni della Arduino in se ossia se sono sufficienti per il mio progetto che vado qui a riassumere.
Il mio progetto è quello di creare una unità di controllo per un carro armato radiocomandato comandato tramite radio comando da modellismo con suono motore ed effetti e sistema di battaglia ad Infrarosso.
Gli ingredienti sono:
Arduino Mega con collegata ricevente a 4 canali (potrebbero bastarne 3 ma non è sicuro)
wave shield (per loop del suono motore e suoni di sparo e colpo ricevuto)
dual ESC per il controllo dei motori dei cingoli
due L293 per il controllo dei motorini di "servizio" (rotazione torretta, alzo del cannone e rinculo del cannone)
un emettitore IR per emettere un impulso quando il carro "spara"
un ricevitore IR per ricevere i colpi

Per la lettura dei canali radio pensavo di utilizzare la pulsein.
La mega ce la può fare a reggere un simile carico? Dando ovviamente per scontato che il codice sia il più ottimizzato possibile?
grazie in aticipo per l'aiuto

33  International / Generale / Re: Copyright sugli shield? on: January 20, 2012, 05:25:38 am
C'è scritto che è rilasciato in CC2.5 Attrib/Share-alike, cioè devi ridistribuire il tuo lavoro con la stessa licenza (con i permessi che hai segnalato tu) e dichiarare l'origine dei file originali, attribuendoli al suo autore (Adafruit).

Yes, ci mancherebbe!
grazie
34  International / Generale / Re: Copyright sugli shield? on: January 20, 2012, 05:05:31 am
Guardando sul sito del produttore ladydada nello schema dello shield (http://www.ladyada.net/images/wavshield/v11/wave11schem.png) c'è scritto che è rilasciato in creative commons 2.5 la quale dice in breve che:
Quote
You are free:
to Share — to copy, distribute and transmit the work
to Remix — to adapt the work
to make commercial use of the work

dovrei essere a posto giusto? In ogni caso chiederei la "benedizione" dell'autore ma per arrivare a questo ce ne passa ancora un bel po...
35  International / Generale / Re: Problema con serial monitor e "writestrln(PSTR(\" on: January 20, 2012, 04:54:35 am
che i bit rilevati, messi in sequenza, letti come numeri, e confrontati con la tabella ascii (che trasforma un numero in lettera), corrispondono a valori non rappresentabili (sui 256 carretteri della tabella ascii estesa solo una cinquantina sono visualizzabili)

semplicemente vuol dire che chi ha scritto quei segnali NON ha usato caratteri ascii, ma dei numeri a caso, cosa molto normale.

prova ad osservare quei valori in esadecimale (ovvero il valore numerico senza passare per la tabella ascii), e forse riconoscerai delle sequenze che si ripetono che corrispondo ai comandi

Ciao Lesto (o dovrei chiamarti tutor visto tutti i consigli che mi dai?  smiley )

La stringa di numeri che corrisponde al mio comando l'avevo già individuata, però non mi sarebbe dispiaciuto capire cosa cerca di dirmi quello sketch  smiley-wink
Nelle prove che ho fatto non ho ancora provato a replicare il comando con l'emettitore, appena ho un attimo di tempo lo faccio e vediamo se i problemi sono solo di "linguaggio differente"
36  International / Generale / Copyright sugli shield? on: January 19, 2012, 10:55:56 am
Ciao a tutti,

una domanda di carattere legale/diritti d'autore.
Posto che un domani il mio progetto veda la luce dovrei arrivare ad avere una arduino mega con il waveshield più dei ponti H. L'ideale sarebbe magari farmi un PCB con lo shield dimensionato per la Mega con sopra una "copia" del waveshield e i suoi componenti più la parte che serve ai miei scopi. Così facendo infrangerei qualche copyright?
Posto che la cosa sia fattibile e in linea ipotetica che un domani un amico vede il io progetto e me ne commissiona uno uguale che io mi faccio pagare sarebbe regolare?

 
37  International / Generale / Problema con serial monitor e "writestrln(PSTR(\" on: January 19, 2012, 03:57:06 am
Ciao a tutti,

per il mio progetto ho bisogno di replicare un impulso IR che viene inviato con un protocollo che non so.
Nelle mie ricerche ho trovato questo intervento nel vecchio forum http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1290542988 in cui l'autore del gadget shield propone uno sketch per intercettare impulsi di protocolli sconosciuti per replicarli "bovinamente" con una sendraw.
Per il mio scopo la cosa andrebbe benissimo e caricato lo sketch sembra anche funzionare, il problema è che nel serial monitor al posto delle stringhe e dei dati che vengono inviati con l'istruzione writestrln(PSTR( vedo delle belle e lunghe stringhe di numeri al posto delle parole e dei dati che mi servono.
I baud del serial monitor sono corretti.
Quale può essere il problema?
38  International / Generale / Re: Probelma con ricevente RC con Arduino uno on: January 14, 2012, 05:11:35 pm
Hai ragione! Alimentando la ricevente dalla Arduino funziona perfettamente.
Io alimentavo la ricevente esternamente come faceva quello del link che ho postato e non avevo però collegato il 5V della Arduino non ritenendolo necessario per alimentare la ricevente.
Non mi è chiaro però perchè non funzioni se non metto in rete il 5v della Arduino...
39  International / Generale / Probelma con ricevente RC con Arduino uno on: January 14, 2012, 02:30:21 pm
Ciao a tutti,

sto iniziando a trafficare con una Arduino UNO per leggere i segnali inviati da una ricevente da modellismo.
Ho fatto come indicato in questo link: http://eastbay-rc.blogspot.com/2011/11/arduino-sketch-for-transmitter-tuning.html ed ho utilizzato anche lo sketch indicato per leggere i canali con la funzione pulsein.
La mia ricevente è una 4 canali e ho modificato lo sketch in questo senso.
I valori che leggo con il serial monitor però sono molto "ballerini" per dire schizofrenici...
Code:
1: 1    2: 486    3: 3175    4: 1988   
1: 1048    2: 703    3: 3152    4: 155   
1: 5474    2: 25    3: 91    4: 3177   
1: 7692    2: 19    3: 115    4: 1   
1: 1    2: 113    3: 7424    4: 1314   
1: 2    2: 111    3: 7433    4: 16   
1: 3371    2: 5976    3: 3    4: 58   
1: 646    2: 675    3: 8    4: 671   
1: 1505    2: 1379    3: 2    4: 3202   
1: 153    2: 2887    3: 1    4: 1343   
1: 3    2: 113    3: 2832    4: 1327   
1: 145    2: 4537    3: 1520    4: 3173   
1: 5139    2: 1490    3: 545    4: 3144   
1: 6924    2: 826    3: 1070    4: 154   
1: 7638    2: 3    3: 19    4: 3178   
1: 153    2: 8218    3: 6    4: 2539   
1: 148    2: 9361    3: 241    4: 477   
1: 146    2: 7037    3: 3151    4: 9958   
1: 62    2: 115    3: 7358    4: 1446   
1: 2    2: 112    3: 7423    4: 1366   
1: 339    2: 112    3: 7652    4: 3183   
1: 4732    2: 445    3: 79    4: 514   
1: 1    2: 115    3: 3214    4: 36   
1: 3578    2: 3291    3: 7364    4: 894   
1: 2    2: 115    3: 28    4: 67   
1: 3304    2: 2    3: 7348    4: 95   
1: 142    2: 1178    3: 36    4: 40   
1: 37    2: 58    3: 3769    4: 123   
1: 3199    2: 2746    3: 1192    4: 27   
1: 3616    2: 1398    3: 3256    4: 8   
1: 151    2: 4939    3: 1316    4: 1422   
1: 3    2: 113    3: 6526    4: 1725   
1: 5983    2: 119    3: 1418    4: 1   
1: 709    2: 36    3: 1022    4: 44   
1: 9658    2: 19    3: 3241    4: 154   
1: 53    2: 88    3: 3328    4: 9920   
1: 737    2: 9953    3: 3298    4: 159   
1: 5987    2: 8    3: 3212    4: 154   
1: 29    2: 1548    3: 3283    4: 10   
1: 154    2: 7459    3: 43    4: 86   
1: 2    2: 116    3: 7431    4: 1544   
1: 5621    2: 1493    3: 11    4: 144   
1: 18    2: 648    3: 4804    4: 851   
1: 3245    2: 961    3: 1363    4: 56   
1: 96    2: 1    3: 490    4: 1536   
1: 1    2: 119    3: 1611    4: 62   
1: 3263    2: 117    3: 2431    4: 1544   
1: 3080    2: 1495    3: 2    4: 57   
1: 1    2: 141    3: 1065    4: 4768   
1: 3284    2: 6495    3: 758    4: 1409   
1: 46    2: 121    3: 7307    4: 94   
1: 1    2: 121    3: 8227    4: 848   
1: 155    2: 7008    3: 3280    4: 9972   
1: 65    2: 123    3: 9847    4: 2771   
1: 157    2: 7362    3: 58    4: 88   
1: 175    2: 117    3: 1    4: 3229   
1: 4886    2: 1489    3: 48    4: 1   
1: 159    2: 3275    3: 4204    4: 829   
1: 228    2: 7064    3: 1027    4: 3223   
1: 15    2: 123    3: 7423    4: 1016   
1: 1    2: 120    3: 7368    4: 52   
1: 154    2: 831    3: 140    4: 1   
1: 1804    2: 1489    3: 856    4: 85   
1: 2598    2: 875    3: 20    4: 3248   
1: 3551    2: 1010    3: 2    4: 3148   
1: 3    2: 121    3: 3    4: 1875   
1: 3330    2: 123    3: 7036    4: 1709   
1: 159    2: 6373    3: 2    4: 2   
1: 646    2: 9603    3: 3185    4: 167   
1: 40    2: 2    3: 10000    4: 14   
1: 153    2: 8    3: 125    4: 3166   
1: 4212    2: 1494    3: 844    4: 87   
1: 1898    2: 41    3: 53    4: 3238   
1: 7566    2: 2    3: 876    4: 6   
1: 3    2: 128    3: 7436    4: 1   
1: 2    2: 3    3: 7357    4: 39   
1: 3303    2: 125    3: 7345    4: 12   
1: 1    2: 632    3: 745    4: 85   

Ho fatto vari esperimenti anche con un altro radiocomando/ricevente che ho sempre a 4 canali, provando a leggere anche un solo canale ma niente non ne vengo a capo..
Dove sto sbagliando????  smiley-cry
Grazie fin da ora a chiunque mi vorrà aiutare
40  Using Arduino / Motors, Mechanics, and Power / Re: what motor shield/ESC for speed/direction of two brushed 380 class motors? on: January 07, 2012, 04:45:04 am
Thanks crOsh! That polulu dual driver is perfect!
41  Using Arduino / Motors, Mechanics, and Power / what motor shield/ESC for speed/direction of two brushed 380 class motors? on: January 06, 2012, 06:14:24 pm
Hi all!

i new to arduino and electronic and i need your advices for my project. I want to control with an arduino UNO/mega the speed and direction of two DC brushed motors 380 size/class (like groupner speed400). One single motor requires 12A.
Thanks in advance for any help!
42  International / Generale / Come intercettare un segnale IR? on: December 14, 2011, 04:28:26 am
Ciao a tutti,

premesso che sono ancora un esordiente quasi totale in ambito elettronico e che ho provato a cercare nel forum ma non ho trovato niente che mi potesse aiutare.

Ho bisogno di intercettare un segnale IR per poi replicarlo con il mio progetto arduino, è possibile con arduino salvare il codice del segnale?
grazie
43  International / Generale / Re: Elettronica per carro armato RC 1/16 con sonoro e IR. E' possibile con Arduino? on: December 13, 2011, 03:20:34 am
Se sei sorpreso che li facciano pagare 50€ in America è meglio che non ti dica cosa li fanno pagare qui in Italia....  smiley-eek D'altronde è anche per questo che sono qui!  smiley

Per certi carri armati non dovrebbe essere un grosso problema farci stare una arduino mega... viceversa una segatina qua e la e ce la si fa stare!  smiley-wink
44  International / Generale / Re: Elettronica per carro armato RC 1/16 con sonoro e IR. E' possibile con Arduino? on: December 12, 2011, 06:59:16 pm
Ciao Lesto,

scusa se prima mi sono spiegato male, intendevo che i ricevitori IR per i carri armati esistono già e sono fatti a forma di fungo, vedi qui http://www3.towerhobbies.com/cgi-bin/wti0001p?&I=LXWU14 e non importa quale lato viene colpito, per cui è possibile ricostruirne uno simile con i led IR di ricezione. Da quel punto di vista quindi un solo pin analogico è sufficiente.
Viceversa mi sono dimenticato due cose, ossia i led di segnalazione (quando ad esempio si viene colpiti o il carro muore) e il flash da inserire nella canna per simulare lo sparo del cannone (un led ultra-bright va benissimo).
Per il discorso del collegamento ricevente mi è chiaro, ho trovato un sito dove ci sono le immagini del collegamento.

Ora mi studio anche il wave shield.
Ti devo una birra!!

45  International / Generale / Re: Elettronica per carro armato RC 1/16 con sonoro e IR. E' possibile con Arduino? on: December 12, 2011, 02:41:58 pm
1. leggere il segnale di una ricevente RC a 4 o più canali: medio-facile, è medio èperchè ti servono gli interrupt per fare una cosa seria, ma se fai bene puoi cavartela usando la pulseIn()

necessario: 1 pin per ogni canale, o 1 solo pin se la tua ricevente da in output anche il PPMsum(ma si incasina il codice, scordati la pulseIn)

2. comandare motori (ponte H) o esc (libreria servo) e servo (sempre libreria servo): molto facile. In entrambi i casi miglioni di guide, e la libreria Servo è ufficiale. NON alimentare esc motori o servi con la corrente presa da arduino, usa un alientatore a parte o dalla batteria, questo per evitare di friggere il micro.

1 pin per ogni servo e ogni esc, mi pare 2 per i ponti h.

3. sparare un infrarosso e riceverlo: uhmm. metti un led IR nel cannone in modo che la luce emessa sia un fascio (e che il led non sia visibile all'esterno se non guardando direttamente nella bocca del cannone, di conseguenza). Per riceverlo è un più sbatti. fondamentalmente puoi usare sempre un led (si comporterà un poco da pannello solare, una volta che si calibra sulla luce ambientale, se colpito da un altro IR noterai la variazione di corrente) o una fotoresistenza o un fotodiodo. PROBLEMA: è difficile posizionarlo, potresti usarne più di uno, ma il problema è che essendo il segnale abbastanza direzionale è difficile trovare la posizione giusta dei ricevitori.

1 pin per il led emettitore, 1 pin analogico per ogni ricevitore.

4. musica: in bassa qualità puoi farla direttamente con arduino, altrimenti acquista un mp3 shield o un wave shield, e avari un vero e proprio lettore musicale smiley l'uso dei pin dipende dalla soluzione scelta

a te sta fare la conta dei pin necessari, e dei costi e vedere se ne vale la pena!

1. Non so se la mia radio ha il PPMsum, per semplicità e maggiore compatibilità starei sul classico e anche largo prevedendo 6 canali per eventuali implementazioni future, quindi siamo sui 6 pin.

2. intanto che capisco bene il discorso dei ponti H ipotizziamo 2 pin per i motori e 3 per torretta, alzo e rinculo, totale siamo a 5 più i 6 del radiocomando 11 pin in totale.

3. Il posizionamento dei led di emissione e ricezione IR non è un problema, il sistema IR esiste già, dovrai solo rendermi compatibile. Vengono utilizzati 1 led per "sparare" e 4 perpendicolari per la ricezione, totale 5 pin più gli 11 precedenti siamo a 16.

4. OK per il mp3/wma shield

Per quanto riguarda il budget un sistema completo sul mercato costa attorno ai 250 euro percui da quello che ho visto dovrei starci dentro abbastanza agilmente  smiley-cool

Sai indicarmi dove reperire informazioni su come collegare una ricevente RC ad una arduino? Giusto per cominciare a farmi un'idea.
grazie infinte per l'aiuto!
Pages: 1 2 [3] 4