problema con due comandi all interno di uno sketch

ciao a tutti

sto avendo un problema con uno sketch, visto che sono alle prime armi con la programmazione di arduino. Ho intenzione di creare una sorta di stereo/sveglia con arduino nella quale ho inserito: un vu meter (sempre fatto con arduino) , un rtc e un display lcd. il problema sorge quando visualizzo l' orario sul display i led del vu meter non funzionano perche c'è il delay di un secondo dell orario. Poi ora capirete meglio osservando lo sketch che segue.

#include <LiquidCrystal.h>
#include <DS1307.h>
DS1307 rtc(SDA, SCL); // Init the DS1307
LiquidCrystal lcd(11, 10, 9, 8, 7, 6);
int vm = 13 ;
int s = 0 ;
int audioIN = A1;
void setup()
{
rtc.begin();
rtc.halt(false);
lcd.begin(16, 2);
// The following lines can be commented out to use the values already stored in the DS1307
//rtc.setDOW(SUNDAY); // Set Day-of-Week to SUNDAY
//rtc.setTime(12, 0, 0); // Set the time to 12:00:00 (24hr format)
// rtc.setDate(3, 10, 2010); // Set the date to October 3th, 2010
rtc.setSQWRate(SQW_RATE_1); // Set SQW/Out rate to 1Hz, and enable SQW
rtc.enableSQW(true);
pinMode (1, INPUT);
pinMode (13, OUTPUT);
pinMode (12, OUTPUT);
pinMode (11, OUTPUT);
pinMode (10, OUTPUT);
pinMode (9, OUTPUT);
pinMode (8, OUTPUT);
pinMode (7, OUTPUT);
pinMode (6, OUTPUT);
}

void loop(){

lcd.setCursor(4, 0);
lcd.print(rtc.getTimeStr());
lcd.setCursor(0, 1);
lcd.print(rtc.getDOWStr(FORMAT_SHORT));
lcd.setCursor(6, 1);
lcd.print(rtc.getDateStr(FORMAT_SHORT));
delay (1000);

s = analogRead(audioIN);
if ( (vm *1) <s) {digitalWrite (13 ,HIGH);} else {digitalWrite (13 ,LOW);}
if ( (vm *2) <s) {digitalWrite (12 ,HIGH);} else {digitalWrite (12 ,LOW);}
if ( (vm *3) <s) {digitalWrite (11 ,HIGH);} else {digitalWrite (11 ,LOW);}
if ( (vm *4) <s) {digitalWrite (10 ,HIGH);} else {digitalWrite (10 ,LOW);}
if ( (vm *5) <s) {digitalWrite (9 ,HIGH);} else {digitalWrite (9 ,LOW);}
if ( (vm *6) <s) {digitalWrite (8 ,HIGH);} else {digitalWrite (8 ,LOW);}
if ( (vm *7) <s) {digitalWrite (7 ,HIGH);} else {digitalWrite (7 ,LOW);}
if ( (vm *8) <s) {digitalWrite (6 ,HIGH);} else {digitalWrite (6 ,LOW);}

}

chiedo quindi di aiutarmi a risolvere questo problema cercando un alternativa

grazie mille

Buongiorno,
essendo il tuo primo post, nel rispetto del regolamento, ti chiedo cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con attenzione il su citato REGOLAMENTO ...

... poi, in conformità al suddetto regolamento, punto 7, devi editare il tuo post (in basso a destra del post, bottone More -> Modify) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone fatto così: </>, tutto a sinistra).

Grazie,

Guglielmo

P.S.: ... se rileggi il tuo post, ti accorgi di cosa succede al codice quando viene messo senza i tag "code" ... alcune sequenze vengono interpretate come "emoticons" e rendono poco comprensible il tutto.

matduino98:
i led del vu meter non funzionano perche c'è il delay di un secondo dell orario

e tu togli il delay