Jump to content

ruessel

Mitglieder
  • Content Count

    1,417
  • Joined

  • Last visited

  • Days Won

    17

About ruessel

  • Rank
    Advanced Member

Recent Profile Visitors

1,763 profile views
  1. ruessel

    365 Tage Zeitraffer auf Super 8

    Cool wäre noch ein leichter Schwenk...... 90 Grad pro 365 Tage. Meine längste Zeitraffer waren ca, 11 Monate in freier Natur (Schiffwerft). Das geht kräftig auf die Hardware (Sommer&Winter& Regen&Frost&Spinnen). Das Problem ist die Stromversorgung. Batterie oder Akku ging nicht, die Heizung brauchte schon 30 Watt, ohne Heizung beschlug bei Regen das Gehäusesichtfenster. Spinnen habe ich alle 2 Monate entfernt und neu mit Spinnenspray das Gehäuse besprüht. Die Idee hat mich angestiftet einige Uhren beim Chinamann für den Arduino zu bestellen....... Code würde ich hier mal schauen:
  2. ruessel

    DIY Cinegraph

    Hier der Code: /** Version 0.38 Wolfgang Winne 02.07.2019 Farbsensor TCS34725 misst im HSV Farbraum, auch lassen sich die Neopixel in diesen Farbraum regeln. Der Farbton = Hue wird als Gradzahl zwischen 0° und 360° auf dem Standardfarbkreis angegeben. Denkt man sich Rot bei 0°, dann liegt Grün bei 120° und Blau bei 240°. Die Sättigung = Saturation beschreibt die Farbintensität (Reinheit) der Farbe. Sie wird in Prozent angegeben: 100% = reinste Farbe, 0% = Neutralgrau. Die Helligkeit = Brightness ist die relative Helligkeit oder Dunkelheit der Farbe. Sie wird ebenfalls in Prozent angegeben: 100% = volle Helligkeit, 0% = keine Helligkeit (Schwarz). Das HSB-Farbmodell kann insgesamt 23,6 Millionen Farben darstellen. Diese Zahl ergibt sich aus den 8 Bit für die Helligkeit, 8 Bit für die Farbsättigung und 360 möglichen Werten für den Farbton. */ //LEDs #define NUMBEROFPIXELS 40 //Anzahl der LEDs #define PIXELPIN 6 //PIN für serielles Steuersignal #include "Arduino.h" #include <Adafruit_NeoPixel.h> #include <NeoPixelPainter.h> //Farbsensor #include <Wire.h> #include "Adafruit_TCS34725.h" float red; float green; float blue; float Maximum; float Minimum; float rd; float gd; float bd; int hx,sx,vx = 0; //LEDS auf 0 (Aus) setzen // Betriebsart der LEDs Adafruit_NeoPixel neopixels = Adafruit_NeoPixel(NUMBEROFPIXELS, PIXELPIN, NEO_GRBW + NEO_KHZ800); // Betriebsart des Farbsensors Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_2_4MS, TCS34725_GAIN_1X); //Parameter Global setzen NeoPixelPainterCanvas pixelcanvas = NeoPixelPainterCanvas(&neopixels); //Canvas erzeugen, gelinkt zum Neopixel NeoPixelPainterBrush pixelbrush = NeoPixelPainterBrush(&pixelcanvas); //Brush erzeugen, gelinkt zum Canvas void setup() { Serial.begin(9600); //PIN setzen für Poti pinMode(8,INPUT); pinMode(9,INPUT); pinMode(10,INPUT); pinMode(PIXELPIN, OUTPUT); neopixels.begin(); } void loop() { //Sensor auf HSV mappen uint16_t r, g, b, c; tcs.getRawData(&r, &g, &b, &c); red=r; green=g; blue=b; rd=red/255; gd=green/255; bd=blue/255; Maximum= max(rd,gd); Maximum=max(Maximum,bd); Minimum= min(rd,gd); Minimum=min(Minimum,bd); float h, s, l = (Maximum + Minimum) / 2; if (Maximum == Minimum) { h = s = 0; // achromatic } else { double d = Maximum - Minimum; s = l > 0.5 ? d / (2 - Maximum - Minimum) : d / (Maximum + Minimum); if (Maximum == rd) { h = (gd - bd) / d + (gd < bd ? 6 : 0); } else if (Maximum == gd) { h = (bd - rd) / d + 2; } else if (Maximum == bd) { h = (rd - gd) / d + 4; } h /= 6; } //Potiwert lesen und auf 0-255 reduzieren (8Bit) hx = map(analogRead(A8), 0, 1024, 0, 255); sx = map(analogRead(A9), 0, 1024, 0, 255); vx = map(analogRead(A10), 0, 1024, 0, 255); HSV brushcolor; brushcolor.h = hx; //Farbe brushcolor.s = sx; //Farbreinheit brushcolor.v = vx; //Farbhelligkeit pixelbrush.setSpeed(4096); //Brushgeschwindigkeit pixelbrush.setColor(brushcolor); //Brush auf gewählte Farbe setzen neopixels.clear(); //Alles auf Null setzen falls noch LEDs leuchten pixelbrush.paint(); //Brush auf Farbe setzen pixelcanvas.transfer(); //Transfer Canvas auf Neopixel neopixels.show(); //HSV Potiwertausgabe Serial.print(hx);Serial.print(" ");Serial.print(sx);Serial.print(" ");Serial.print(vx);Serial.print(" "); Serial.println(" "); //Sensorausgabe Serial.print(b);Serial.print(" ");Serial.print(r);Serial.print(" ");Serial.print(g);Serial.print(" "); Serial.println(" "); }
  3. ruessel

    Raritäten bei Ebay

    Aber immer defekt!
  4. ruessel

    DIY Cinegraph

  5. ruessel

    DIY Cinegraph

    Moin, muss ich mir anschauen um das zu verstehen. Mir ist auch noch nicht klar, wie ich mit den gemessenen Werten umzugehen habe. Es sollte ja eine "Automatik" werden, Filmnegativ auflegen, mit weissen Licht durchstrahlen, auf Schalterdruck Rot/Orangewert messen, berechnen und passende RGBW Werte leuchten lassen. So simpel wie sich das anhört ist es nicht, da RGBW berechnet wird. Da sind wir dann voll im Farbkreis berechnen, ist eigentlich über meiner Schulbildung.... aber man kann sich ja weiterbilden 😉
  6. ruessel

    DIY Cinegraph

    Stand der Dinge. Wie schon geschrieben, lerne ich gerade Arduino zu programmieren. Sicherlich mache ich da auch große Fehler, die mich stundenlang beschäftigen. Manches löse ich im Moment nicht, wie z.B. OLED Ausgabe mit dem Farbensensor. Einzeln läuft der Sketch super, beide Softwarezeilen zusammen lassen das OLED dunkel. 😉 Beide laufen über den I2C Bus, Adressenkonflikt kann es nicht geben....aber was weiß ich..... nix. Aber ich kann nun die RGBW LEDs über Drehregler einzeln in Helligkeit steuern und der Farbsensor gibt mir über den seriellen Monitor Farbtemperatur, Lux, Rot, Grün, Blau und Weißwert an. Der Farbsensor ist wie eine Kamera mit Shutterwerte, zu kurze Werte geht auf die Auflösung der Farbtreue (max. 4x 16Bit - RGBW), zu lange Werte bremsen den Arduino komplett aus, während der Messung (max. 700 Millisekunden) stoppt der Ardunio bis er die Werte übernommen hat. Dann gehen die Drehregler nur noch stockend. Heute lege ich mal ein Colornegativ drauf, mal schauen ob ich da den Rotstich herausdrehen kann......... wenn ich Zeit habe, mache ich mal ein kurzes Video davon. #include <Adafruit_NeoPixel.h> #include <Wire.h> #include "Adafruit_TCS34725.h" int red,green,blue,white = 0; // Wichtig: Set pixel COUNT, PIN #define PIN 6 #define NUMPIXELS 40 //Farbsensor definieren Adafruit_TCS34725 tcs = Adafruit_TCS34725(TCS34725_INTEGRATIONTIME_154MS, TCS34725_GAIN_1X); //Neopixel Betriebsart definieren Adafruit_NeoPixel strip(NUMPIXELS, PIN, NEO_RGBW + NEO_KHZ800); void setup() { //Pins für Poti setzen pinMode(0,INPUT); pinMode(1,INPUT); pinMode(2,INPUT); pinMode(3,INPUT); strip.begin(); strip.show(); // Alle Leds auf "AUS" rainbowCycle(1);//LEDs Regenbogentest Serial.begin(9600); if (tcs.begin()) { Serial.println("Sensor o.k."); } else { Serial.println("Sensor defekt"); while (1); } } void loop() { //Potiwerte auslesen //Potiwerte von 4096 auf 256 reduzieren red = map(analogRead(A8), 0, 4095, 0, 255); green = map(analogRead(A9), 0, 4095, 0, 255); blue = map(analogRead(A10), 0, 4095, 0, 255); white = map(analogRead(A11), 0, 4095, 0, 255); //LEDanzahl definieren for(int pixel=0;pixel<40;pixel++) { strip.setPixelColor(pixel, red, green, blue, white); } strip.show();//Update Regenbogenfarbe delay(50); uint16_t r, g, b, c, colorTemp, lux; tcs.getRawData(&r, &g, &b, &c); // colorTemp = tcs.calculateColorTemperature(r, g, b); colorTemp = tcs.calculateColorTemperature_dn40(r, g, b, c); lux = tcs.calculateLux(r, g, b); Serial.print("Color Temp: "); Serial.print(colorTemp, DEC); Serial.print(" K - "); Serial.print("Lux: "); Serial.print(lux, DEC); Serial.print(" - "); Serial.print("Rot: "); Serial.print(r, DEC); Serial.print(" "); Serial.print("Grün: "); Serial.print(g, DEC); Serial.print(" "); Serial.print("Blau: "); Serial.print(b, DEC); Serial.print(" "); Serial.print("Clear: "); Serial.print(c, DEC); Serial.print(" "); Serial.println(" "); } void rainbowCycle(uint8_t wait) { uint16_t i, j; for(j=0; j<256*3; j++) { // 3 Regenbogendurchläufe in der Startphase for(i=0; i< strip.numPixels(); i++) { strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255)); } strip.show(); delay(wait); } } // Hilfsfunktion für Regenbogenfarben uint32_t Wheel(byte WheelPos) { WheelPos = 255 - WheelPos; if(WheelPos < 85) { return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3); } if(WheelPos < 170) { WheelPos -= 85; return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3); } WheelPos -= 170; return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0); }
  7. ruessel

    DIY Cinegraph

    Wir haben doch von "Zwischendurch" geschrieben. Es gibt soviel interessantes mit WS2812B + Arduino, nur bei 300 Leds pro Meter, kommt einiges zusammen. Cinemaleinwand für Outdoor.....
  8. Reicht nicht für diese Leinwand: https://drapersolutions.com/2019/04/09/sony-creates-colossal-16k-screen-in-japan/
  9. ruessel

    DIY Cinegraph

    Habe gerade ein 5V 40A Netzteil fertig (für Arduino LEDs)....ist mir auch noch dazwischen gekommen. ESP32 liegt hier auch.....aber der muss aber wirklich warten.
  10. ruessel

    DIY Cinegraph

    Nein. Ich bin noch nicht soweit, da ich mich mit Arduiono beschäftige, finde ich immer neue Sachen die ich unbedingt mal ausprobieren muss. Zur Zeit der Wärmebildsensor, wollte da mal zwischendurch eine Polaroidkamera mit bauen. Für das Projekt bin ich an der LED Steuerung dran, ich sehe noch nicht klar welcher Farbraum der ideale ist. Dann sind Sensoren für die Fimabschaltung gekommen, müssen auch getestet werden. Kurzum, ich zeige hier das Ergebnis sobald ich einen deutlichen Fortschritt gemacht habe. Im Hintergrund laufen ja noch andere Sachen bei mir, nicht nur 8mm bis 70mm. Gestern war ich beim Zoll und habe den 7 Zoll Touchscreen abgeholt, da muss es auch weiter gehen...... noch viel zu tun..... und der Garten braucht auch ein wenig Zeit.
  11. ruessel

    Teile aus dem 3-D-Drucker

    16mm Filmtrockner: https://www.thingiverse.com/thing:2757521
  12. ruessel

    Teile aus dem 3-D-Drucker

    16mm Filmprocessor: https://www.thingiverse.com/thing:2795254 Ergebnis:
  13. ruessel

    Teile aus dem 3-D-Drucker

    8mm Filmtank https://www.thingiverse.com/thing:2921690
  14. ruessel

    DIY Cinegraph

    Noch eine Frage, machen die auch Crossentwicklungen?
  15. ruessel

    DIY Cinegraph

    Ok. Rossmann ist nur 50m weiter als DM. Gehts da auch schneller? Ich habe bei DM ja fast 4 Wochen auf die Entwicklung gewartet.
×