Reading and writing player data from an SD card
i'm prototyping system larger progect, , had few questions.
what want happen when press button on board, player's level progress goes one. when level progress reaches 10, player's level should go up, , gets displayed on serial monitor. want level progress , level saved different files on sd card, can read future use.
it works according plan, if click out of serial monitor, , bring up, resets. i'm assuming has way i'm defining integers , , tried defining integers whatever read specific file on sd card, when happens counter level progress stays @ 0. that's kind of mystery me.
how program save information on sd card, when restart serial monitor, counter starts @ same place stopped before closed down?
what want happen when press button on board, player's level progress goes one. when level progress reaches 10, player's level should go up, , gets displayed on serial monitor. want level progress , level saved different files on sd card, can read future use.
code: [select]
#include <tinkerkit.h>
tkbutton button(i0); // creating object 'button' belongs 'tkbutton' class
tkled led(o0); // creating object 'led' belongs 'tkled' class
#include <sd.h>
file playerlevel;
file playerlevelprogress;
int level = 1;
int levelprogress = 0;
void setup()
{
// open serial communications , wait port open:
serial.begin(9600);
while (!serial) {
; // wait serial port connect. needed leonardo only
}
serial.print("initializing sd card...");
// on ethernet shield, cs pin 4. it's set output default.
// note if it's not used cs pin, hardware ss pin
// (10 on arduino boards, 53 on mega) must left output
// or sd library functions not work.
pinmode(10, output);
serial.println("initialization done.");
if (!sd.begin(4)) {
serial.println("initialization failed!");
return;
}
}
void loop()
{
if (button.pressed() == high){
levelprogress += 1;
serial.println("level progress = ");
serial.println(levelprogress);
sd.open("playerlevelprogress", file_write);
playerlevelprogress.write(levelprogress);
playerlevelprogress.close();
sd.open("playerlevel", file_read);
}
if (levelprogress == 10){
level += 1;
serial.println("level up! level ");
serial.println(level);
sd.open("playerlevel", file_write);
playerlevel.write(level);
playerlevel.close();
levelprogress = 0;
sd.open("playerlevel", file_read);
}
delay(100);
}
it works according plan, if click out of serial monitor, , bring up, resets. i'm assuming has way i'm defining integers , , tried defining integers whatever read specific file on sd card, when happens counter level progress stays @ 0. that's kind of mystery me.
how program save information on sd card, when restart serial monitor, counter starts @ same place stopped before closed down?
quote
what want happen when press button on board
what button on board? wouldn't switch work better?
code: [select]
sd.open("playerlevelprogress", file_write);
the open() method returns instance of file. why discarding instance?
code: [select]
playerlevel.write(level);
playerlevel.close();
you've never assigned value playerlevel.
Arduino Forum > Using Arduino > Programming Questions > Reading and writing player data from an SD card
arduino
Comments
Post a Comment