Show Posts
|
|
Pages: [1] 2
|
|
1
|
International / Hardware / Re: problema interfaccia midi arduino
|
on: December 22, 2012, 01:26:54 pm
|
|
Ciao, considerando il fatto che con un altra interfaccia ti funziona e il problema è con la maudio, prova a scaricare il software MIOS studio, è una piccola interfaccia che ti permette di inviare e leggere i corrispettivi messaggi mandati dall'interfaccia midi. magari riesci a capire cosa invia di diverso la maudio rispetto alla edirol
|
|
|
|
|
2
|
International / Software / Re: key matrix
|
on: December 11, 2012, 02:14:23 pm
|
|
ok, ma sapete come fare a controllare un tasto, l'uno dopo l'altro.....che voi sappiate c'è una funzione apposita in keymatrix oppure lo devo fare con dei cicli anadando a scorrere pin to pin , i pin della tastiera?
|
|
|
|
|
3
|
International / Software / key matrix
|
on: December 05, 2012, 04:25:12 pm
|
Salve Sto giocando da un pò di tempo con un tastierino a matrice e dei led. ho realizzato un piccolo codice che mi fa accedendere o spegnere il led associato al tasto del tastierino, nel seguente modo: premo il tasto, led accesso, ri premo il tasto, led spento. vi posto il codice: #include <Keypad.h> const byte ROWS = 2; // two rows const byte COLS = 3; // Three columns // Define the Keymap char keys[ROWS][COLS] = { {1,2,3}, {4,5,6} }; int stato[7]={LOW,LOW,LOW,LOW,LOW,LOW,LOW}; int led[7]={13,32,30,28,26,24,22}; // Connect keypad ROW byte rowPins[ROWS] = {2,3}; // Connect keypad COL byte colPins[COLS] = {4,5,6}; // Create the Keypad Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup() { int a=0; for(a=0;a<7;a++) { pinMode(led[a], OUTPUT); } }
void loop() { char key = kpd.getKey(); if(key) // Check for a valid key. { if(stato[key]==LOW) {stato[key]=HIGH;} else {stato[key]=LOW;} } int i=0; for(i=0;i<7;i++) { digitalWrite(led[i],stato[i]); }
}
volevo chiedere nel caso che voglia fare un codice che faccia questo: premo un tasto(lasciandolo premuto) il led si accende, lascio il tasto, il led si spegne. sapete darmi una mano ad implementarlo... vi ringrazio!
|
|
|
|
|
4
|
International / Software / Re: matrix key
|
on: November 03, 2012, 08:03:23 am
|
|
GRazie UWE della dritta... non sapevo si potesse monitorare la seriale in questo modo.... Comunque dal monitor seriale ho notato che premendo lo sw corrispondende allo "0", la seriale non trametteva nessun dato, mentre per gli altri si. ho risolto, togliendo lo "0" dai valori della matrice key. in questo modo funziona correttamente. presto inserisco il codice corretto, nel caso qualcuno possa trovarne giovamento.
|
|
|
|
|
6
|
International / Software / matrix key
|
on: November 01, 2012, 11:08:57 am
|
salve ragazzi, sto facendo un piccolo sketch, per imparare ad utilizzare i tastierini a matrice mi sono servito della keypad.h ho una matrice 2 righe ,3 colonne e 6 led. quello che voglio realizzare è semplice, spingo un tasto si accende il led corrispondente, ri-premo il tasto e il led corrispondente si spegne. questo è il codice che ho prodotto #include <Keypad.h> const byte ROWS = 2; // two rows const byte COLS = 3; // Three columns // Define the Keymap char keys[ROWS][COLS] = { {0,1,2}, {3,4,5} }; int stato[6]={LOW,LOW,LOW,LOW,LOW,LOW}; int led[6]={32,30,28,26,24,22}; // Connect keypad ROW byte rowPins[ROWS] = {2,3}; // Connect keypad COL byte colPins[COLS] = {4,5,6}; // Create the Keypad Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup() { int a=0; for(a=0;a<7;a++) { pinMode(led[a], OUTPUT); } }
void loop() { char key = kpd.getKey(); if(key) // Check for a valid key. { if(stato[key]==LOW) {stato[key]=HIGH;} else {stato[key]=LOW;} } int i=0; for(i=0;i<6;i++) { digitalWrite(led[i],stato[i]); } }
allora, il codice fa quello che deve per i primi 5 switch e led, se premo il 6° sw il 6° led non si accende. ho provato a ricontrollare il codice, ma non riesco a capire cosa non va, mi date una mano?? saluti! e grazie per l'attenzione!
|
|
|
|
|
7
|
International / Software / Re: sw e led
|
on: October 06, 2012, 02:08:24 pm
|
grazie a tutti per le risposte. ho effettuato queste modifiche ( varibili di stato, val prima del setup e antirimbalso), ma non funziona. cosa c'è che non va??? vi allego il codice! int sw=44; int led=40; int stato=LOW; int val=LOW; void setup() { pinMode(sw,INPUT); pinMode(led,OUTPUT); } void loop() {
val=digitalRead(sw); if(val==HIGH) {delay(10); if(val==HIGH && stato==LOW) {stato=HIGH; digitalWrite(led,HIGH);} if(val==HIGH && stato==HIGH) {stato=LOW; digitalWrite(led,LOW);} } }
|
|
|
|
|
8
|
International / Software / sw e led
|
on: October 06, 2012, 12:00:35 pm
|
salve ragazzi sto realizzando un piccolissimo firmware di prova, ma qualcosa non mi quadra. vorrei che quando premo uno switch(sw) una volta , il del si accenda e rimanga quale fino a che non ri-premo il tasto, pare una cosa facilissima ma non lo riesco a fare. vi posto lo sketch int sw=44; int led=40; void setup() { pinMode(sw,INPUT); pinMode(led,OUTPUT); } void loop() { int stato=LOW; int val=LOW; val=digitalRead(sw); if(val==HIGH&&stato==LOW) {stato=HIGH; digitalWrite(led,HIGH);} if(val==HIGH&&stato==HIGH) {stato=LOW; digitalWrite(led,LOW);} }
con questo programma: il led rimane accesso sempre, quando premo il tasto si spegne, se lo rilascio, il led si riaccende. mi aiutate? grazie!
|
|
|
|
|
10
|
International / Software / problema shift in con 74hc165 shift out con 74hc595
|
on: October 04, 2012, 04:31:51 pm
|
salve a tutti volevo esporvi un problema a cui non riesco a venire a capo! il mio intento, come da oggetto, è quello di leggere lo stato di 8 tasti con l'ausilio del 74hc165 e di verificare il loro stato con l'74hc595 vi allego il codice: // test shift register in input 74hc165 e test shift register in out // scansiona 8 tasti dal 165, e riproduce il loro stato su 8 led collegati al 595 int dout=4;//data out pin 14 del 595 int clo=2;// clock pin 11 del 595 int lo=3;// latch pin 12 del 595
int din=8;//data in pin 9 del 165 int cin=2;//clock pin 2 del 165 int lin=3;//latch pin 1 del 165 void setup() { //pin 595 pinMode(clo,OUTPUT); pinMode(dout,OUTPUT); pinMode(lo,OUTPUT); //pin 165 pinMode(cin,OUTPUT); pinMode(din,INPUT); pinMode(lin,OUTPUT); } int READ(int dat,int cl) //funzione di lettura shift register { int val; val= digitalRead(dat); //lettura dato digitalWrite(cl,LOW); digitalWrite(cl,HIGH); //clock digitalWrite(cl,LOW); return val; //ritorna il valore letto }
void Stampabasso(int dat,int cl) //stampa bit basso { digitalWrite(dat,LOW); digitalWrite(cl,LOW); digitalWrite(cl,HIGH); digitalWrite(cl,LOW); }
void Stampaalto(int dat,int cl) //stampa pin alto { digitalWrite(dat,HIGH); digitalWrite(cl,LOW); digitalWrite(cl,HIGH); digitalWrite(cl,LOW); }
void loop() { int i=0; int arr[8]={0,0,0,0,0,0,0,0}; //array lettura, azzerato digitalWrite(lin,HIGH); delay(150); digitalWrite(lin,LOW); //faccio entrare gli ingressi nel 165 digitalWrite(lin,HIGH); for(i=0;i<8;i++) { arr[i]=READ(din,cin); //inserisce nell'array il valore del dato letto } // scrittura digitalWrite(lo,LOW); digitalWrite(lo,HIGH); digitalWrite(lo,LOW); delay(20);
{for(i=0;i<8;i++) {if(arr[i]==1) {Stampaalto(dout,clo);} else {Stampabasso(dout,clo);} }
} delay(150); } Nella parte di scrittura del 595 non ho problemi, ho provato separatamente le funzioni, e pare girare bene. non riesco a far girare la parte dello shift in, ovvero anche se cambio lo stato dei tasti i led rimangono sempre e tutti accesi. cosa sbaglio!??? grazie!
|
|
|
|
|
14
|
International / Italiano / Arduino Ethernet Shield velocità
|
on: May 20, 2012, 02:31:21 am
|
|
salve a tutti, volevo sapere se il trasferimento dei dati tramite arduino ethernet shield è supportato per una velocità massima di 100Mbit/s, oppure quale sia la massima velocità ottenibile! grazie!
|
|
|
|
|