I want to send SD Card data using SoftSPI library because the hardware spi is already used by nrf2401
#include <Arduino.h>
#include <SD.h>
#include <SPI.h>
#include <SoftSPI.h>
SoftSPI mySPI(32, 33, 34);
File dataFile;
const int chipSelect = 53;
float waypoint [60];
int wayp;
int wayp2;
int index = 0;
float lat [60];
float lon [60];
void BigArrayGanjil(){
int jumlahElemen = sizeof(waypoint) / sizeof(waypoint[0]);
float ganjil[ jumlahElemen /2];
int jumlahElemenGanjil = 0;
for (int i = 1; i < jumlahElemen; i += 2) {
ganjil[jumlahElemenGanjil] = waypoint[i];
jumlahElemenGanjil++;
}
for (int i = 0; i < jumlahElemenGanjil / 2; i++) {
float temp = ganjil[i];
ganjil[i] = ganjil[jumlahElemenGanjil - i - 1];
ganjil[jumlahElemenGanjil - i - 1] = temp;
}
Serial.println("Array Terbalik:");
for (int i = 0; i < jumlahElemenGanjil; i++) {
// Serial.println(ganjil[i],5);
if (ganjil[i] == 0){
continue;
}
// Serial.println(ganjil[i],5);
lon[wayp] = ganjil[i];
wayp++;
}
}
void BigArrayGenap(){
int jumlahElemen = sizeof(waypoint) / sizeof(waypoint[0]);
float genap[ jumlahElemen /2];
int jumlahElemenGenap = 0;
for (int i = 0; i < jumlahElemen; i += 2) {
genap[jumlahElemenGenap] = waypoint[i];
jumlahElemenGenap++;
}
for (int i = 0; i < jumlahElemenGenap / 2; i++) {
float temp = genap[i];
genap[i] = genap[jumlahElemenGenap - i - 1];
genap[jumlahElemenGenap - i - 1] = temp;
}
Serial.println("Array Terbalik:");
for (int i = 0; i < jumlahElemenGenap; i++) {
if (genap[i] == 0){
continue;
}
// Serial.println(genap[i],5);
lat[wayp2] = genap[i];
wayp2++;
}
}
void wp(){
Serial.print("Initializing SD Card....");
if(!SD.begin(chipSelect, mySPI)) {
Serial.println("Card failed, or not Present");
return;
}
Serial.println("Card Initialized");
File dataFile = SD.open("GPS_DATA.txt");
if (dataFile) {
for (index = 0; index <= 61; index++) {
float input = dataFile.parseFloat();
if (input == 0){
break;
}
waypoint[index] = input;
//Serial.println(waypoint[1],5);
}
dataFile.close();
BigArrayGanjil();
BigArrayGenap();
} else {
Serial.println("File does not exist or named wrong");
}
}
void setup() {
mySPI.begin();
Serial.begin(9600);
wp();
// BigArrayGanjil();
// BigArrayGenap();
Serial.println(lat[1],5);
Serial.println(lon[1],5);
}
void loop() {
}
The sd card is always failed to init
thankyou