17-07-2017, 16:46
Witam,
Jestem początkujący w temacie Arduino jak również dopiero uczę się programowanie, mam czujnik gestów apds-9960 i czujnik temperatury i wilgotności DHT-11 i mam problem ponieważ chciałbym, aby przy geście ręki w prawo wyświetlała mi się w pętli temperatura, natomiast po geście ręki w lewo wilgotność również w pętli, w tym celu zrobiłem dwie funkcje do wyświetlania temperatury i wilgotności, które są wywoływane konkretnym gestem tylko teraz nie wiem jak zrobić, żeby po geście ręki np. w lewo zamiast temperatury wyświetlała się wilgotność, czyli żebym mógł wyjść z funkcji wyświetlającej temperaturę i wejść w funkcję odpowiedzialną za wyświetlić wilgotność. Proszę o wyrozumiałość i pomoc. Poniżej zamieszczam kod mojego programu.
Pozdrawiam
Jestem początkujący w temacie Arduino jak również dopiero uczę się programowanie, mam czujnik gestów apds-9960 i czujnik temperatury i wilgotności DHT-11 i mam problem ponieważ chciałbym, aby przy geście ręki w prawo wyświetlała mi się w pętli temperatura, natomiast po geście ręki w lewo wilgotność również w pętli, w tym celu zrobiłem dwie funkcje do wyświetlania temperatury i wilgotności, które są wywoływane konkretnym gestem tylko teraz nie wiem jak zrobić, żeby po geście ręki np. w lewo zamiast temperatury wyświetlała się wilgotność, czyli żebym mógł wyjść z funkcji wyświetlającej temperaturę i wejść w funkcję odpowiedzialną za wyświetlić wilgotność. Proszę o wyrozumiałość i pomoc. Poniżej zamieszczam kod mojego programu.
Pozdrawiam
Kod:
#include <Wire.h>
#include <SparkFun_APDS9960.h>
#include "DHT.h"
#define DHTPIN 11
#define DHTTYPE DHT11
#define APDS9960_INT 2
SparkFun_APDS9960 apds = SparkFun_APDS9960();
int isr_flag = 0;
DHT dht(DHTPIN, DHTTYPE);
void setup() {
Serial.begin(9600);
dht.begin();
pinMode(APDS9960_INT, INPUT);
attachInterrupt(0, interruptRoutine, FALLING);
apds.init();
apds.enableGestureSensor(true);
}
void loop() {
if( isr_flag == 1 ) {
detachInterrupt(0);
isr_flag = 0;
attachInterrupt(0, interruptRoutine, FALLING);
}
apds.isGestureAvailable();
switch (apds.readGesture() ) {
case DIR_RIGHT:
temp();
break;
case DIR_LEFT:
wilg();
break;
}
}
void interruptRoutine() {
isr_flag = 1;
}
//funkcja do wyswietlania temperatury, jak z niej wyjsc i wyswietlic wilgotnosc po gescie reki w lewo?
void temp(){
float t = dht.readTemperature();
Serial.println(t);
}
//funkcja do wyswietlenia wilgotnosci, jak z niej wyjsc i wyswietlic temperature po gescie reki w prawo?
void wilg(){
float h = dht.readHumidity();
Serial.println(h);
}