19/01/15 12:37
alex1995
buon giorno, sto facendo con arduino uno sketch che se il led è spento lo accende e se io continuo a tenere il pulsante premuto per un secondo lui abbassa l' intensità della luce del led, solo che il led si accende alla massima intensità e poi la diminuisce continuamente. il pulsante è una variabile siccome non ne ho uno al momento.
dove sbaglio?
#include <SPI.h> #include <WString.h> #include <SD.h> void setup() { Serial.begin(9600); pinMode(6, OUTPUT); SD.begin(4); } void scriviFile(char *nomeFile, String datiFile) { File scriviFile = SD.open(nomeFile, FILE_WRITE); if(scriviFile) { scriviFile.println(datiFile); scriviFile.close(); Serial.write("ok"); } else { Serial.write("errore scrivi\n"); } } String leggiFile(char *nomeFile) { String getFile = String(); File leggiFile = SD.open(nomeFile); if(leggiFile) { while(leggiFile.available()) { char fileChar = leggiFile.read(); getFile += fileChar; } leggiFile.close(); return getFile; } else { Serial.write("errore leggi\n"); } } int StringContains(String s, String search) { //s.replace("Ú", ""); int max = s.length() - search.length(); int lgsearch = search.length(); for (int i = 0; i <= max; i++) { if (s.substring(i, i + lgsearch) == search) return i; } return -1; } void loop() { String leggifile = String(leggiFile("file.txt")); int pulsante = 1; if(pulsante == 1) { if(StringContains(leggifile, "off")) { digitalWrite(6, HIGH); SD.remove("file.txt"); scriviFile("file.txt", "on"); delay(1000); } } String leggifile2 = String(leggiFile("file.txt")); if(pulsante == 1) { if(StringContains(leggifile2, "on")) { analogWrite(6, 64); SD.remove("file.txt"); scriviFile("file.txt", "25p"); } } }
dove sbaglio?
aaa