Dear researchers
I made a program to measure the pulses of light and used it for the ldr piece and I connected it to the A0 port but its frequency is very weak 10 Hz and this is why I bought the tsl 2590 but I did not know how to connect it because it has i2c and sda sca pin,I want to read data to me from one of the analog ports even Control their frequency
Here is a copy of a previous program that used ldr at a frequency of 10 Hz
long arr[8];
int i = 0;
int ldr = A0; //pin for ldr
int z = 0;
int y = 0;
long g = 0;
int seuil;
char ascii_values[100] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J','K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T','U', 'V', 'W', 'X', 'Y', 'Z',
'a', 'b', 'c', 'd','e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n','o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x','y', 'z',
/*62*/ '0', '1', '2', '3', '4', '5', '6', '7','8', '9',
' ', '!', '"', '#', '
, '%' , '&', '(' ,')' , '', '+', ',', '-', '.', '/',
':', ';', '<', '=', '>', '?', '@'};
void setup() {
Serial.begin(9600);
int ldrobscu=analogRead(ldr);
seuil = ldrobscu;
Serial.print(" ldr en obscurité est: ");
Serial.println(seuil);
Serial.println(" ready for reception ");
Serial.println(" ");
}
void loop()
{
if(z>=8){
z=0;
}
for (int i = 0; i < 8; i++) {
if ( analogRead(ldr) >= 700) //**************************************
{
arr[i] = 1; // Whenever I get a '1' bit,
z++;
/*Serial.println("if1");
Serial.print("1 if arr[] = ");
Serial.println(arr[i]);
Serial.print("1 if i = ");
Serial.println(i);
Serial.print("z = ");
Serial.println(z);
Serial.println("");
*/}
else {
arr[i] = 0; //Whenever I get a bit at '0',
z = 0;
/*Serial.println("else1");
Serial.print("1 else arr[] = ");
Serial.println(arr[i]);
Serial.print("1 else i = ");
Serial.println(i);
Serial.print("z = ");
Serial.println(z);
Serial.println("");
*/}
delay(200); // the time to capt the bit
if (z == 8) {
capt();
//i = 0;
}
}
}
void capt() {
do {
if(y>=8){
y=0;
}
for (int j = 0; j < 8; j++) {
if (analogRead(ldr) >= 700)//*******************************************
{
arr[j] = 1;
y = 0;
/Serial.println("if2");
Serial.print("2 if arr[] = ");
Serial.println(arr[j]);
Serial.print("2 if j = ");
Serial.println(j);
Serial.print("y = ");
Serial.println(y);
Serial.println("");
/}
else {
arr[j] = 0; // if the 8 bit not (11111111) and have one or + 0
y++; //repeat the loop
/if(y ==8){
loop();
}/
/ Serial.println("2 else");
Serial.print("2 else arr[] = ");
Serial.println(arr[j]);
Serial.print("2 else j = ");
Serial.println(j);
Serial.print("y = ");
Serial.println(y);
Serial.println("");
/}
delay(200);
}
//Serial.println("**************** Debut Deco **************");
deco();
}while (y != 8);
loop();
}
void deco(){
// Serial.println(arr[1]);
word ascii_value = arr[0] * 128 + arr[1] * 64 + arr[2] * 32 + arr[3] * 16 + arr[4] * 8 + arr[5] * 4 + arr[6] * 2 + arr[7] * 1;
if (ascii_value == 32)
{
Serial.print(" ");
}
else
{
if (ascii_value >= 65 && ascii_value <= 90) //for capital letters
{ int x = ascii_value - 65; // to take his position
Serial.print(ascii_values[x]); //Its location in ASCII array values
}
else if (ascii_value >= 97 && ascii_value <= 122) //for lowercase letters
{
int x = ascii_value - 97;
Serial.print(ascii_values[26 + x]);
}
else if (ascii_value >= 48 && ascii_value <= 57) //for numbers
{
int x = ascii_value - 48;
Serial.print(ascii_values[52 + x]);
}
else if (ascii_value >= 32 && ascii_value <= 38) //for !"#$%&
{
int x = ascii_value - 32;
Serial.print(ascii_values[62 + x]);
}
else if (ascii_value >= 40 && ascii_value <= 47) //for ()*+,-./
{
int x = ascii_value - 40;
Serial.print(ascii_values[69 + x]);
} else if (ascii_value >= 58 && ascii_value <= 64) //for :;<=>?@
{
int x = ascii_value - 58;
Serial.print(ascii_values[77 + x]);
}
//Serial.println(ascii_value);//for test
//Serial.print('\n');
}
}