
APDS-9960 - Sensor
- Admin
- Administrator
- Beiträge: 1254
- Registriert: Mo 20. Apr 2020, 09:47
- Wohnort: 82441 Ohlstadt
- Kontaktdaten:
Re: APDS-9960 - Sensor
Egal, wann du Lust und Zeit hast. Nur der Samstag ist schlecht, da haben wir viel Besuch. Dadurch dass wir jetzt durchgeimpft sind und der Besuch auch, können wir uns wieder treffen. Da wird gegrillt, bis die Bude brennt. 

- Admin
- Administrator
- Beiträge: 1254
- Registriert: Mo 20. Apr 2020, 09:47
- Wohnort: 82441 Ohlstadt
- Kontaktdaten:
Re: APDS-9960 - Sensor
Ich habe mich noch nicht drüber gemacht. Aber es wird schon die Tage.
Gute Nacht
Franz
Gute Nacht
Franz

Re: APDS-9960 - Sensor
Servus,
das ist überhaupt kein Problem. Ich bin mit der Reisebürokratie beschäftigt.
Da fährt man leichter nach Nordkorea als Italien hin- und zurück.
Viel Spaß beim Grillen und schönes Wetter.

das ist überhaupt kein Problem. Ich bin mit der Reisebürokratie beschäftigt.
Da fährt man leichter nach Nordkorea als Italien hin- und zurück.
Viel Spaß beim Grillen und schönes Wetter.

Grüße aus der Heimat der E69
- Admin
- Administrator
- Beiträge: 1254
- Registriert: Mo 20. Apr 2020, 09:47
- Wohnort: 82441 Ohlstadt
- Kontaktdaten:
Re: APDS-9960 - Sensor
OK, ich habe mir auch schon das Programm zum Testen zurecht gemacht. Ich muss nur noch den Sensor anschließen, dann wirdd sich zeige was geht. Ich denke das wird heute Abend noch was. Ich habe ja in der Nacht immer noch 2 Std. in denen ich einiges machen kann. Oder am Wochenende, weil morgen ist natürlich keine Arbeit. Da habe ich ein Treffen mit Grillfleisch, Bier und ........




- Admin
- Administrator
- Beiträge: 1254
- Registriert: Mo 20. Apr 2020, 09:47
- Wohnort: 82441 Ohlstadt
- Kontaktdaten:
Re: APDS-9960 - Sensor
OK, ich habe es gerade mal in Betrieb genommen. Alles klar. Geht 1A
Hier mal der Code:
Jetzt mal noch mit dem LCD Display 4x20
.
Hier mal der Code:
Code: Alles auswählen
/****************************************************************
GestureTest.ino
APDS-9960 RGB and Gesture Sensor
Shawn Hymel @ SparkFun Electronics
May 30, 2014
https://github.com/sparkfun/APDS-9960_RGB_and_Gesture_Sensor
Testet die Gestenerkennungsfähigkeiten des APDS-9960. Konfiguriert
APDS-9960 über I2C und wartet auf Gestenereignisse. Berechnet die
Wischrichtung (oben, unten, links, rechts) und zeigt diese an
auf einer seriellen Konsole.
Um eine NEAR-Geste auszuführen, halten Sie Ihre Hand
weit über den Sensor und bewegen Sie ihn in die Nähe des Sensors (innerhalb von 2
Zoll). Halte deine Hand dort für mindestens 1 Sekunde und bewege sie weg.
Um eine FAR-Geste auszuführen, halten Sie Ihre Hand innerhalb von 5 cm vom
Sensor für mindestens 1 Sekunde und bewegen Sie ihn dann nach oben (aus
Reichweite) des Sensors.
Hardware-Anschlüsse:
WICHTIG: Das APDS-9960 kann nur 3,3V aufnehmen!
Arduino Pin APDS-9960 Board-Funktion
3.3V VCC Power
GND GND Ground
A4 SDA I2C Data
A5 SCL I2C Clock
2 INT Interrupt
Ressourcen:
Wire.h und SparkFun_APDS-9960.h einschließen
Besonderheiten der Entwicklungsumgebung:
Geschrieben in Arduino 1.0.5
Getestet mit SparkFun Arduino Pro Mini 3.3V
Dieser Code ist Bierware; wenn du mich siehst (oder irgendeinen anderen SparkFun
Mitarbeiter) im Lokal, und Sie fanden unseren Code hilfreich, bitte
kauf uns eine Runde!
Wird unverändert verteilt; es wird keine gewährleistung gegeben.
****************************************************************/
#include <Wire.h>
#include <SparkFun_APDS9960.h>
// Pins
#define APDS9960_INT 2 // Muss ein Interrupt-Pin sein
// Constants
// Globale Variablen
SparkFun_APDS9960 apds = SparkFun_APDS9960();
int isr_flag = 0;
void setup() {
// Interrupt-Pin als Eingang setzen
pinMode(APDS9960_INT, INPUT);
// Initialize Serial port
Serial.begin(9600);
Serial.println();
Serial.println(F("--------------------------------"));
Serial.println(F("SparkFun APDS-9960 - GestureTest"));
Serial.println(F("--------------------------------"));
// Interrupt-Service-Routine initialisieren
attachInterrupt(0, interruptRoutine, FALLING);
//APDS-9960 initialisieren (I2C und Anfangswerte konfigurieren)
if ( apds.init() ) {
Serial.println(F("APDS-9960-Initialisierung abgeschlossen "));
} else {
Serial.println(F("Bei der APDS-9960-Initialisierung ist etwas schief gelaufen!"));
}
// Starten Sie die APDS-9960-Gestensensor-Engine
if ( apds.enableGestureSensor(true) ) {
Serial.println(F("Gestensensor läuft jetzt"));
} else {
Serial.println(F("Beim Init des Gestensensors ist ein Fehler aufgetreten!"));
}
}
void loop() {
if ( isr_flag == 1 ) {
detachInterrupt(0);
handleGesture();
isr_flag = 0;
attachInterrupt(0, interruptRoutine, FALLING);
}
}
void interruptRoutine() {
isr_flag = 1;
}
void handleGesture() {
if ( apds.isGestureAvailable() ) {
switch ( apds.readGesture() ) {
case DIR_UP:
Serial.println("Hoch");
break;
case DIR_DOWN:
Serial.println("Runter");
break;
case DIR_LEFT:
Serial.println("Links");
break;
case DIR_RIGHT:
Serial.println("Rechts");
break;
case DIR_NEAR:
Serial.println("Nahe");
break;
case DIR_FAR:
Serial.println("Fern");
break;
default:
Serial.println("Nichts");
}
}
}
.
Code: Alles auswählen
/****************************************************************
GestenTest.ino
APDS-9960 RGB- und Gestensensor
Shawn Hymel @ SparkFun Electronics
30. Mai 2014
https://github.com/sparkfun/APDS-9960_RGB_and_Gesture_Sensor
Testet die Gestenerkennungsfähigkeiten des APDS-9960. Konfiguriert
APDS-9960 über I2C und wartet auf Gestenereignisse. Berechnet die
Wischrichtung (oben, unten, links, rechts) und zeigt diese an
auf einer seriellen Konsole.
Um eine NEAR-Geste auszuführen, halten Sie Ihre Hand
weit über den Sensor und bewegen Sie ihn in die Nähe des Sensors (innerhalb von 2
Zoll). Halte deine Hand dort für mindestens 1 Sekunde und bewege sie
Weg.
Um eine FAR-Geste auszuführen, halten Sie Ihre Hand innerhalb von 5 cm vom
Sensor für mindestens 1 Sekunde und bewegen Sie ihn dann nach oben (aus
Reichweite) des Sensors.
Hardware-Anschlüsse:
WICHTIG: Das APDS-9960 kann nur 3,3V aufnehmen!
Arduino Pin APDS-9960 Board-Funktion
3.3V VCC Power
GND GND Ground
A4 SDA I2C Data
A5 SCL I2C Clock
2 INT Interrupt
Ressourcen:
Wire.h und SparkFun_APDS-9960.h einschließen
Besonderheiten der Entwicklungsumgebung:
Geschrieben in Arduino 1.0.5
Getestet mit SparkFun Arduino Pro Mini 3.3V
Dieser Code ist Bierware; wenn du mich siehst (oder irgendeinen anderen SparkFun
Mitarbeiter) im Lokal, und Sie fanden unseren Code hilfreich, bitte
kauf uns eine Runde!
Wird unverändert verteilt; es wird keine gewährleistung gegeben.
****************************************************************/
#include <Wire.h>
#include <SparkFun_APDS9960.h>
#include <LiquidCrystal_I2C.h> // LCD Display
// Die LCD-Adresse Uno 0x3f for a 20 chars 4 line display
// Set the pins on the I2C chip used for LCD connections:
// addr, en,rw,rs,d4,d5,d6,d7,bl,blpol
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address
// Pins
#define APDS9960_INT 2 // Muss ein Interrupt-Pin sein
#define LED_PIN 13 // LED zur Anzeige von Interrupt
// Constants
// Globale Variablen
SparkFun_APDS9960 apds = SparkFun_APDS9960();
int isr_flag = 0;
void setup() {
// Interrupt-Pin als Eingang setzen
pinMode(APDS9960_INT, INPUT);
// Initialize Serial port
Serial.begin(9600);
lcd.begin(20, 4); // initialisierung der LCD Displays für 20 chars 4 lines, turn on backlight
lcd.backlight();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(F("===================="));
lcd.setCursor(0, 1);
lcd.print(F(" APDS-9960 - Gesten"));
lcd.setCursor(0, 2);
lcd.print(F("===================="));
// Interrupt-Service-Routine initialisieren
attachInterrupt(0, interruptRoutine, FALLING);
//APDS-9960 initialisieren (I2C und Anfangswerte konfigurieren)
if ( apds.init() ) {
Serial.println(F("APDS-9960-Initialisierung abgeschlossen "));
} else {
Serial.println(F("Bei der APDS-9960-Initialisierung ist etwas schief gelaufen!"));
}
// Starten Sie die APDS-9960-Gestensensor-Engine
if ( apds.enableGestureSensor(true) ) {
Serial.println(F("Gestensensor läuft jetzt"));
} else {
Serial.println(F("Beim Init des Gestensensors ist ein Fehler aufgetreten!"));
}
}
void loop() {
if ( isr_flag == 1 ) {
detachInterrupt(0);
handleGesture();
isr_flag = 0;
attachInterrupt(0, interruptRoutine, FALLING);
}
}
void interruptRoutine() {
isr_flag = 1;
}
void handleGesture() {
if ( apds.isGestureAvailable() ) {
switch ( apds.readGesture() ) {
case DIR_UP:
lcd.setCursor(0, 3);
lcd.print(F(" nach Oben "));
break;
case DIR_DOWN:
lcd.setCursor(0, 3);
lcd.print(F(" nach Unten "));
break;
case DIR_LEFT:
lcd.setCursor(0, 3);
lcd.print(F(" nach Links "));
break;
case DIR_RIGHT:
lcd.setCursor(0, 3);
lcd.print(F(" nach Rechts "));
break;
case DIR_NEAR:
lcd.setCursor(0, 3);
lcd.print(F(" nach Hinten "));
break;
case DIR_FAR:
lcd.setCursor(0, 3);
lcd.print(F(" nach Vorne "));
break;
default:
lcd.setCursor(0, 3);
lcd.print(F(" Nichts erkannt "));
}
}
}
- Admin
- Administrator
- Beiträge: 1254
- Registriert: Mo 20. Apr 2020, 09:47
- Wohnort: 82441 Ohlstadt
- Kontaktdaten:
Re: APDS-9960 - Sensor
Ich habe gerade meine drei Sensoren bekommen. Die haben mit dem I2C Scanner die selben I2C Adressen, ich habe erst auf 3,3 Volt versucht, dann auf 5 Volt, weil die ja auch 5 Volt können sollten. Aber die gehen gar nicht. Egal welche Spannung. Die Software sagt dass er jetzt funktioniert, aber er tut nichts
Alle drei das selbe. Die sind schön klein, also etwa die halbe Platinengröße von den deinen, aber wenn sie nichts tun, hilft mir das auch nichts 


- Admin
- Administrator
- Beiträge: 1254
- Registriert: Mo 20. Apr 2020, 09:47
- Wohnort: 82441 Ohlstadt
- Kontaktdaten:
Re: APDS-9960 - Sensor
Soooo, meinen Geburtstag habe ich gut überstanden.
Naja, nur etwas vollgefressen vielleicht
Das Wetter hatte zum Grillen eine schöne Regenpause eingelegt. So konnten wir alles schön fertiggrillen und gegessen haben wir drin. Mit dem Alk habe ich es auch nicht übertrieben, also alles gut
Ich habe jetzt gerade mal noch den I2C Bus von meinen Sensoren gemessen. 10k von SCL und SDA zum VCC. Das ist der selbe Wert wie der von deinem funktionierenden Sensor. Morgen schaue ich mal mit dem Oszi wie es am Bus ausschaut. Heute habe ich keine Lust mehr. Bin schon ganz schön Müde
Also dann, servus
Franz



Ich habe jetzt gerade mal noch den I2C Bus von meinen Sensoren gemessen. 10k von SCL und SDA zum VCC. Das ist der selbe Wert wie der von deinem funktionierenden Sensor. Morgen schaue ich mal mit dem Oszi wie es am Bus ausschaut. Heute habe ich keine Lust mehr. Bin schon ganz schön Müde

Also dann, servus
Franz
Re: APDS-9960 - Sensor
Hallo Franz, nachträglich alles Gute zu Deinem Geburtstag,
Grüße und Glückwünsche von uns beiden
Hoffentlich nicht so, aber Ihr seid ja geimpft.Soooo, meinen Geburtstag habe ich gut überstanden.
Grüße und Glückwünsche von uns beiden
- Dateianhänge
-
- OIP.jpg (18.4 KiB) 2160 mal betrachtet
Grüße aus der Heimat der E69
- Admin
- Administrator
- Beiträge: 1254
- Registriert: Mo 20. Apr 2020, 09:47
- Wohnort: 82441 Ohlstadt
- Kontaktdaten:
Re: APDS-9960 - Sensor
Ja, wir sind durchgeimpfter Haushalt. Auch Sandra und Olli.
Bin mit 2kg mehr !! aus dem Geburtstag raus gekommen
......aber ich arbeite heute schon wieder daran dass das ohne folgen bleibt
Ich faule Socke habe heute meine Sensoren noch nicht mit dem Oszi kontrolliert. Ich denke nicht, dass alle meine drei Sensoren Müll sind, sondern dass der I2C Hi/Lo Pegel nicht passt. Aber Herr von faule Socke hatte noch keine Lust dafür eine Bestätigung zu erarbeiten. Ich habe noch immer Geburtstag

Bin mit 2kg mehr !! aus dem Geburtstag raus gekommen


Ich faule Socke habe heute meine Sensoren noch nicht mit dem Oszi kontrolliert. Ich denke nicht, dass alle meine drei Sensoren Müll sind, sondern dass der I2C Hi/Lo Pegel nicht passt. Aber Herr von faule Socke hatte noch keine Lust dafür eine Bestätigung zu erarbeiten. Ich habe noch immer Geburtstag


- Admin
- Administrator
- Beiträge: 1254
- Registriert: Mo 20. Apr 2020, 09:47
- Wohnort: 82441 Ohlstadt
- Kontaktdaten:
Re: APDS-9960 - Sensor
Satz mit x, was wohl nix.
Der Signalpegel auf I2C ist der selbe, nur dass diese Dinger wirre Signale mit Dauerfeuer senden. Der funkionierende setzt seinen Datensatz ab und alles ist gut. Wenn ich wieder vorbei wische, wieder einen Satz, und wieder ist alles gut.
Alles klar. Wo hast du deine bestellt? Da ich nicht wieder Müll bestellen will, hole ich sie da, wo du deine her hast. Die funktionieren ja, wenn man nicht vergisst sie mit 3 Volt zu versorgen. Bei meinem Lieferanten habe ich Rücksendung und Rückzahlung beantragt. Mal schauen wie das läuft.
Franz

Der Signalpegel auf I2C ist der selbe, nur dass diese Dinger wirre Signale mit Dauerfeuer senden. Der funkionierende setzt seinen Datensatz ab und alles ist gut. Wenn ich wieder vorbei wische, wieder einen Satz, und wieder ist alles gut.
Alles klar. Wo hast du deine bestellt? Da ich nicht wieder Müll bestellen will, hole ich sie da, wo du deine her hast. Die funktionieren ja, wenn man nicht vergisst sie mit 3 Volt zu versorgen. Bei meinem Lieferanten habe ich Rücksendung und Rückzahlung beantragt. Mal schauen wie das läuft.
Franz

Wer ist online?
Mitglieder in diesem Forum: Ahrefs [Bot] und 4 Gäste