3. Gün – Lineer Pot – Smoothing – Sıfırlama –

BPM değiştirmekte kullanmak için lineer pot aldım. 9TL

Karaköy’de şuradan: http://www.waio.com.tr/index.php?do=catalog/results&q=pot

TgXzz6U0lAzAFPpjmE2AyIT4c0L-CFjFvQ--q0IzoOE

Modeli sanırım şu: https://www.tedss.com/2022000208

Bağlantıları tekil uç 5V, Diğer taraftaki uçlardan tekilin karşısındaki Ground diğeri isi Arduino Pin.

Bugün şu değişirken ki flicker’ı azaltmaya çalışacağım.

224J 100V bir kapasitör kullanınca azaldığını gördüm ama yine de değişirken galiba resetlediği için bir flickr var.

SMOOTHING

Smoothing kodunu da koymayı deneyeceğim: https://www.arduino.cc/en/Tutorial/Smoothing

 

CONST INT NUMREADINGS = 10;

INT READINGS[NUMREADINGS];      // THE READINGS FROM THE ANALOG INPUT
INT INDEX = 0;                  // THE INDEX OF THE CURRENT READING
INT TOTAL = 0;                  // THE RUNNING TOTAL
INT AVERAGE = 0;                // THE AVERAGE

VOID SETUP()
{         
  // INITIALIZE ALL THE READINGS TO 0: 
  FOR (INT THISREADING = 0; THISREADING < NUMREADINGS; THISREADING++)
    READINGS[THISREADING] = 0;          
}

VOID LOOP() {
  // SUBTRACT THE LAST READING:
  TOTAL= TOTAL - READINGS[INDEX];         
  // READ FROM THE SENSOR:  
  READINGS[INDEX] = ANALOGREAD(POTPIN); 
  // ADD THE READING TO THE TOTAL:
  TOTAL= TOTAL + READINGS[INDEX];       
  // ADVANCE TO THE NEXT POSITION IN THE ARRAY:  
  INDEX = INDEX + 1;                    

  // IF WE'RE AT THE END OF THE ARRAY...
  IF (INDEX >= NUMREADINGS)              
    // ...WRAP AROUND TO THE BEGINNING: 
    INDEX = 0;                          

  // CALCULATE THE AVERAGE:
  AVERAGE = TOTAL / NUMREADINGS;         
  // SEND IT TO THE COMPUTER AS ASCII DIGITS
  SERIAL.PRINTLN(AVERAGE);   
  DELAY(1);        // DELAY IN BETWEEN READS FOR STABILITY    POTMAPPEDOUTPUTVALUE = MAP(AVERAGE, 0, 1023, 40, 145);        
// TGAN POTENTIOMETER AVERAGE READINGS 
 UINT8_T BRIGHT = BEATSIN8(POTMAPPEDOUTPUTVALUE, DIMMEST, BRIGHTEST);

// TGAN POTENTIOMETER AVERAGE READINGS

 

Hiç değişiklik olmadı…

geçiyorum bir sonraki soruna.
Düğme ile sıfırdan başlatma.

SIFIRLAMA DÜĞMESİ

https://plus.googleapis.com/112916219338292742137/posts/boFjiQNiMAz
But: read lib8tion.h near the beat functions and there is a little note there about defining your own time base — which means you could reset it at any time.
BEFORE you #include FastLED, do this:#define USE_GET_MILLISECOND_TIMER 1
Then you can (have to!) supply a function like this
Initially, just define that to return millis() as shown. But then you can change it to return “millis() – resetTime” with resetTime being a global uint32_t, and there you go. Just set resetTime = millis() any time you want to reset the beats to zero.

uint32_t get_millisecond_timer()
{
return millis();
}

 

#DEFINE USE_GET_MILLISECOND_TIMER 1
UINT32_T RESETTIME;
CONST INT BUTTONPIN = 7;

 

void setup() {
pinMode(buttonPin, INPUT);
uint32_t get_millisecond_timer()
{
return millis();
}
void loop(){
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
resetTime = millis()
}
else {}

 

Leave a Reply