• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
apds-9960 menu
#1
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
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);
}
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości