Pages: [1]   Go Down
Author Topic: Problems running 8 RGB-LED, LSM9DS0 accelerometer and buzzers  (Read 188 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi All.
I new to this forum so if i am posting in the wrong forum or anything like that - Please let me know.

So, A couple of friends and me is working on a project, We are making a toy - more specifically a ball with 8 RGB LEDs and some buzzers which should blink and make some simple sound whenever the ball is in motion, controlled by a LSM9DS0 accelerometer. We are using Arduino UNO.

The LEDs are connected to a TLC5940 PWM unit (which work fine), The buzzers are connected to the Arduino UNO.
Whenever the ball is rolling fast the buzzers is beeping, but the LEDs won't blink. When we test the buzzers and the LEDs individually it is working. But when we have both of them in the same IF-statement, only the buzzers work.
If any of You have any idea what could be the problem I would be glad to hear.

Thanks

The code:
Code:


#include "Tlc5940.h"

#include <SPI.h> // Included for SFE_LSM9DS0 library
#include <Wire.h>
#include <SFE_LSM9DS0.h>
#include <windows.h>

#define LSM9DS0_XM  0x1D
#define LSM9DS0_G   0x6B

LSM9DS0 dof(MODE_I2C, LSM9DS0_G, LSM9DS0_XM);




const byte INT1XM = 4;
const byte INT2XM = 5;
const byte DRDYG = 6;  


boolean printRaw = true;
int led = 13;  

int readString = 0;



void setup()
{

  Tlc.init();
  
  pinMode(A0, OUTPUT);  // Buz
  pinMode(led, OUTPUT);  //  LED
  pinMode(INT1XM, INPUT);
  pinMode(INT2XM, INPUT);
  pinMode(DRDYG, INPUT);

  Serial.begin(115200); /

  uint16_t status = dof.begin();
  
  Serial.println(status, HEX);
}

void loop()                                                                                          // LOOPING SOUND SYSTEM WITH BUZZER IN A 4 STEP ACCLERATION INTERVAL
{
     
  dof.readAccel();
                                                                                                    // SLOW ACCLERATION WITHIN
 if (((dof.ax) > 20000) && (dof.ax) < 25000 | ((dof.ax) < -20000 && (dof.ax) > -25000))
  {

    tone(A0, 1000);
    delay(100);
    noTone(A0);
    
    Tlc.clear();  
    Tlc.set(2, 4095);
    Tlc.set(4, 4095);
    Tlc.set(9, 4095);
    Tlc.set(12, 4095);
    
  
    Tlc.update();
    
    
}
  if (((dof.ay) > 20000) && (dof.ay) < 25000 | ((dof.ay) < -20000 && (dof.ay) > -25000))
  {
  
    tone(A0, 1000);
    delay(100);
    noTone(A0);
  
  
    Tlc.clear();
    Tlc.set(2, 4095);
    Tlc.set(4, 4095);
    Tlc.set(9, 4095);
    Tlc.set(12, 4095);           //blå
    Tlc.update();

}
  if (((dof.az) > 30100) && (dof.az) < 35000 | ((dof.az) < -30100 && (dof.az) > -35000))
  {

    tone(A0, 1000);
    delay(100);
    noTone(A0);
    
    Tlc.clear();
    Tlc.set(1, 4095);
    Tlc.set(6, 4095);   //Grøn
    Tlc.set(8, 4095);               //Gul
    Tlc.set(11, 4095);
    Tlc.set(3, 4095);
    Tlc.set(5, 4095);
    Tlc.set(7, 4095);  //rød             //Gul
    Tlc.set(10, 4095);
    Tlc.update();

    
 
}
  
                                                                                                  // MEDIUM ACCLERATION WITHIN
    if (((dof.ax) > 25100) && (dof.ax) < 30000 | ((dof.ax) < -25100 && (dof.ax) > -30000))
  {

    tone(A0, 1500);
    delay(100);
    noTone(A0);
    
    Tlc.clear();
    Tlc.set(1, 4095);
    Tlc.set(6, 4095);
    Tlc.set(8, 4095);              
    Tlc.set(11, 4095);
    Tlc.update();

}
  if (((dof.ay) > 25100) && (dof.ay) < 30000 | ((dof.ay) < -25100 && (dof.ay) > -30000))
  {
  
    tone(A0, 1500);
    delay(100);
    noTone(A0);
    
    Tlc.clear();
    Tlc.set(1, 4095);
    Tlc.set(6, 4095);
    Tlc.set(8, 4095);              
    Tlc.set(11, 4095);
    Tlc.update();

}
  if (((dof.az) > 20000) && (dof.az) < 25000 | ((dof.az) < -20000 && (dof.az) > -25000))
  {

    tone(A0, 1500);
    delay(100);
    noTone(A0);
    
    Tlc.clear();
    Tlc.set(1, 4095);
    Tlc.set(6, 4095);                   //Grøn
    Tlc.set(8, 4095);
    Tlc.set(11,4095);
    Tlc.update();

}

                                                                                                  // HIGH ACCLERATION WITHIN
    if (((dof.ax) > 30100) && (dof.ax) < 35000 | ((dof.ax) < -30100 && (dof.ax) > -35000))
  {

    tone(A0, 2000);
    delay(100);
    noTone(A0);
    
    
    Tlc.clear();
    Tlc.set(1, 4095);
    Tlc.set(6, 4095);   //Grøn
    Tlc.set(8, 4095);               //Gul
    Tlc.set(11, 4095);
    Tlc.set(3, 4095);
    Tlc.set(5, 4095);
    Tlc.set(7, 4095);  //rød             //Gul
    Tlc.set(10, 4095);
    Tlc.update();
    delay(100);

}
  if (((dof.ay) > 30100) && (dof.ay) < 35000 | ((dof.ay) < -30100 && (dof.ay) > -35000))
  {
  
    tone(A0, 2000);
    delay(100);
    noTone(A0);
    
    
    Tlc.clear();
    Tlc.set(1, 4095);
    Tlc.set(6, 4095);   //Grøn
    Tlc.set(8, 4095);               //Gul
    Tlc.set(11, 4095);
    Tlc.set(3, 4095);
    Tlc.set(5, 4095);
    Tlc.set(7, 4095);  //rød             //Gul
    Tlc.set(10, 4095);
    Tlc.update();

  
}
  if (((dof.az) > 30100) && (dof.az) < 35000 | ((dof.az) < -30100 && (dof.az) > -35000))
  {

    tone(A0, 2000);
    delay(100);
    noTone(A0);
    
    Tlc.clear();
    Tlc.set(1, 4095);
    Tlc.set(6, 4095);   //Grøn
    Tlc.set(8, 4095);               //Gul
    Tlc.set(11, 4095);
    Tlc.set(3, 4095);
    Tlc.set(5, 4095);
    Tlc.set(7, 4095);  //rød             //Gul
    Tlc.set(10, 4095);
    Tlc.update();

 
}
                                                                                                     //MAX ACCLERTION WITHIN
    if (((dof.ax) > 35100) && (dof.ax) < 40000 | ((dof.ax) < -35100 && (dof.ax) > -40000))
  {

    tone(A0, 2500);
    delay(100);
    noTone(A0);
    
    Tlc.clear();
    Tlc.set(3, 4095);
    Tlc.set(5, 4095);
    Tlc.set(7, 4095);           //Rød
    Tlc.set(10, 4095);
    Tlc.update();

}
  if (((dof.ay) > 35100) && (dof.ay) < 40000 | ((dof.ay) < -35100 && (dof.ay) > -40000))
  {
  
    tone(A0, 2500);
    delay(100);
    noTone(A0);
    
    
    Tlc.clear();
    Tlc.set(3, 4095);
    Tlc.set(5, 4095);
    Tlc.set(7, 4095);  //Rød
    Tlc.set(10, 4095);
    Tlc.update();
 
}
  if (((dof.az) > 35100) && (dof.az) < 40000 | ((dof.az) < -35100 && (dof.az) > -40000))
  {

    tone(A0, 2500);
    delay(100);
    noTone(A0);
    
    
    Tlc.clear();
    Tlc.set(3,4095);
    Tlc.set(5,4095);       //Rød
    Tlc.set(7,4095);
    Tlc.set(10,4095);
    Tlc.update();

}
 
}

  
Logged

Pages: [1]   Go Up
Jump to: