poi ho preso uno sketch che controlla un tastierinio numerico 4x3 e sempre attraverso la seriale, invio i comandi.
PROBLEMA
Non riesco a mettere tutti e due i codici insieme.
Nel primo caso, i valori vengono inviati ogni secondi
nel secondo caso, i valori vengono inviati ogni volta che viene immesso un carattere.
Vi prego, sto studiano questo linguaggio, ma per adesso ho fatto solo confusione.
Potete aiutarmi voi?
vi posto i due programmi, ma sono indipendenti, mi serve solo un' unico sketch che gestisce questi due valori.
Ogni secondo viene inviato il valore di tutte le sonde collegate dai pin 0,1,2,3
e se premo i tasti del tastierino numerico, devo inviare anche quelli, ma senza fare confusione.
Vi ringrazio comunque
CODICE PER TASTIERINO NUMERICO
- Codice: Seleziona tutto
#include <Keypad.h>
const byte ROWS = 4; //four rows
const byte COLS = 3; //three columns
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'#','0','*'}
};
byte rowPins[ROWS] = {5, 4, 3, 2}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {8, 7, 6}; //connect to the column pinouts of the keypad
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup(){
Serial.begin(9600);
}
void loop(){
char key = keypad.getKey();
if (key != NO_KEY){
Serial.print("KP");
Serial.println(key);
}
}
CODICE PER SENSORI TEMPERATURA
- Codice: Seleziona tutto
float temp1;
float temp2;
float temp3;
float temp4;
int tempPin1 = 0;
int tempPin2 = 1;
int tempPin3 = 2;
int tempPin4 = 3;
void setup()
{
Serial.begin(9600);
}
void loop()
{
temp1 = analogRead(tempPin1);
temp2 = analogRead(tempPin2);
temp3 = analogRead(tempPin3);
temp4 = analogRead(tempPin4);
temp1 = temp1 * 0.48828125;
temp2 = temp2 * 0.48828125;
temp3 = temp3 * 0.48828125;
temp4 = temp4 * 0.48828125;
Serial.print("T");
Serial.print("_");
Serial.print(temp1);
Serial.print("_");
Serial.print(temp2);
Serial.print("_");
Serial.print(temp3);
Serial.print("_");
Serial.print(temp4);
Serial.println("_");
delay(1000);
}