ciao
Apro questa discussione per avere il supporto, grazie per quanto fatto finora
Qui sotto tutto lo sketch
Devo mandare via BT un serie di 24 bit da separare con una virgola, ma nel frattempo volevo fare il debug ho provato diverse cose in merito al tipo di variabile ma non riesco, cosa mi devo studiare
led_matrix[0] = bitRead(led, 23);
led_matrix[2] = bitRead(led, 22);
led_matrix[4] = bitRead(led, 21);
led_matrix[6] = bitRead(led, 20);
led_matrix[8] = bitRead(led, 19);
led_matrix[10] = bitRead(led, 18);
led_matrix[12] = bitRead(led, 17);
led_matrix[14] = bitRead(led, 16);
led_matrix[16] = bitRead(led, 15);
led_matrix[18] = bitRead(led, 14);
led_matrix[20] = bitRead(led, 13);
led_matrix[22] = bitRead(led, 12);
led_matrix[24] = bitRead(led, 11);
led_matrix[26] = bitRead(led, 10);
led_matrix[28] = bitRead(led, 9);
led_matrix[30] = bitRead(led, 8);
led_matrix[32] = bitRead(led, 7);
led_matrix[34] = bitRead(led, 6);
led_matrix[36] = bitRead(led, 5);
led_matrix[38] = bitRead(led, 4);
led_matrix[40] = bitRead(led, 3);
led_matrix[42] = bitRead(led, 2);
led_matrix[44] = bitRead(led, 1);
led_matrix[46] = bitRead(led, 0);
led_matrix[1] = ',';
led_matrix[3] = ',';
led_matrix[5] = ',';
led_matrix[7] = ',';
led_matrix[9] = ',';
led_matrix[11] = ',';
led_matrix[13] = ',';
led_matrix[15] = ',';
led_matrix[17] = ',';
led_matrix[19] = ',';
led_matrix[21] = ',';
led_matrix[23] = ',';
led_matrix[25] = ',';
led_matrix[27] = ',';
led_matrix[29] = ',';
led_matrix[31] = ',';
led_matrix[33] = ',';
led_matrix[35] = ',';
led_matrix[37] = ',';
led_matrix[39] = ',';
led_matrix[41] = ',';
led_matrix[43] = ',';
led_matrix[45] = ',';
for (i = 0; i <= 46; i++)
{
Serial.print(led_matrix[i]);
}
/*
per test BT matermacc
*/
#include <SoftwareSerial.h>//per la comunizazione con modulo BT
#define HC05RxPin 4 // "RXD" Pin on HC05
#define HC05TxPin 5 // "TXD" Pin on HC05
//const byte HC12SetPin = 6; // "SET" Pin on HC05
SoftwareSerial BT(HC05RxPin, HC05TxPin); //Rx, Tx
//shiftout
#define dataPinOUT 8 //DS di 74HC595 pin 14
#define clockPinOUT 10 //SH_CP di 74HC595 pin 11 clock pin
#define latchPinOUT 9 //ST_CP di 74HC595 pin 12 latch pin
byte numofREG;
int ritardoShift;
byte i, j, k, x;
unsigned long led;
byte led_matrix[48];
char sendThis[25];
void setup()
{
Serial.begin(9600); //per debug
BT.begin(9600);
//--------------------------shiftout
pinMode(latchPinOUT, OUTPUT);
pinMode(clockPinOUT, OUTPUT);
pinMode(dataPinOUT, OUTPUT);
numofREG = 3;
led = 0b111111111111111111111100;
for ( j = 1; j <= numofREG; j++)
{
digitalWrite(latchPinOUT, LOW); //Pull latch LOW to start sending data
shiftOut(dataPinOUT, clockPinOUT, MSBFIRST, led); //Send the data byte led
digitalWrite(latchPinOUT, HIGH); //Pull latch HIGH to stop sending data
}
Serial.println(led);
Serial.println("wait...");
ritardoShift = 5000;
delay(5000);
Serial.println("program running");
}
void loop()
{
led = 0b110011001100110011001100; //accende led verdi
Serial.println(led, BIN);
Serial.println(led);
for (byte i = 1; i <= numofREG; i++)
{
digitalWrite(latchPinOUT, LOW); //Pull latch LOW to start sending data
shiftOut(dataPinOUT, clockPinOUT, MSBFIRST, led); //Send the data byte led
digitalWrite(latchPinOUT, HIGH); //Pull latch HIGH to stop sending data
}
//---------------------------------sezione BT
led_matrix[0] = bitRead(led, 23);
led_matrix[2] = bitRead(led, 22);
led_matrix[4] = bitRead(led, 21);
led_matrix[6] = bitRead(led, 20);
led_matrix[8] = bitRead(led, 19);
led_matrix[10] = bitRead(led, 18);
led_matrix[12] = bitRead(led, 17);
led_matrix[14] = bitRead(led, 16);
led_matrix[16] = bitRead(led, 15);
led_matrix[18] = bitRead(led, 14);
led_matrix[20] = bitRead(led, 13);
led_matrix[22] = bitRead(led, 12);
led_matrix[24] = bitRead(led, 11);
led_matrix[26] = bitRead(led, 10);
led_matrix[28] = bitRead(led, 9);
led_matrix[30] = bitRead(led, 8);
led_matrix[32] = bitRead(led, 7);
led_matrix[34] = bitRead(led, 6);
led_matrix[36] = bitRead(led, 5);
led_matrix[38] = bitRead(led, 4);
led_matrix[40] = bitRead(led, 3);
led_matrix[42] = bitRead(led, 2);
led_matrix[44] = bitRead(led, 1);
led_matrix[46] = bitRead(led, 0);
led_matrix[1] = ",";
led_matrix[3] = ",";
led_matrix[5] = ",";
led_matrix[7] = ",";
led_matrix[9] = ",";
led_matrix[11] = ",";
led_matrix[13] = ",";
led_matrix[15] = ",";
led_matrix[17] = ",";
led_matrix[19] = ",";
led_matrix[21] = ",";
led_matrix[23] = ",";
led_matrix[25] = ",";
led_matrix[27] = ",";
led_matrix[29] = ",";
led_matrix[31] = ",";
led_matrix[33] = ",";
led_matrix[35] = ",";
led_matrix[37] = ",";
led_matrix[39] = ",";
led_matrix[41] = ",";
led_matrix[43] = ",";
led_matrix[45] = ",";
for (i = 0; i <= 46; i++)
{
Serial.print(led_matrix[i]);
}
//sprintf(sendThis, "%d", led);
//BT.println(sendThis);
delay(ritardoShift);
}