chiave elettronica

int led1 = 12 ;
int pinA = 8 ;
int pinB = 9 ;
int pinC = 10 ;
int pinD = 11 ;

int v1, v2, v3, v4 ;
void setup()
{
for(int i=8 ; i<=11 ; i++)
{
pinMode( i , INPUT ) ;
}
pinMode( led1 , OUTPUT ) ;
}

void loop()
{
v1 = digitalRead(pinA) ;
v2 = digitalRead(pinB) ;
v3 = digitalRead(pinC) ;
v4 = digitalRead(pinD) ;

if( v1 == 0 && v2 == 1 && v3 == 1 && v4 == 0 )
{
digitalWrite( led1 , HIGH ) ;
}
else
{
digitalWrite( led1 , LOW ) ;
}
}

il mio prof mi ha detto di fare un programma : 4 input per accendere un led e altri 4 per modificare la ''chiave ''inserita nel programma senza ricaricarlo dal pc… potete darmi un aiutino ?

Aiutino concesso, ma dovresti spiegare meglio in dettaglio cosa deve fare arduino. Dividi il tutto in step, es. step1 e descrivi cosa deve fare, step2 ecc.

Non ho capito il discorso della chiave.

Ciao.

mateuszewczyk: potete darmi un aiutino ?

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni e a leggere il regolamento: Regolamento - qui una serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections - qui le pinout delle varie schede by xxxPighi: Pinout - qui una serie di link [u]generali[/u] utili: Link Utili

Il codice devi racchiuderlo nei tag code, vedi sezione 7 del regolamento, spiega bene come fare. Altrimenti parte del codice può essere visualizzata male o mancare perchè interpretato come attributo del testo stesso.

allora : 1)scelgo 4 pin di input e 1 di output 2)dichiaro le variabili(v1,v2,ecc) 3)quando arduino legge su v1(0),v2(1),v3(1),v4(0) si accende il led 4)secondo il professore mio il led sarebbe un cancello... mi sono perso la chiave 0110 e vuole altri 4 pin di input per reimpostare la chiave senza dovre cambiarla dal pc

Per capire il concetto di digitazione codice prima di tutto e prima di arrivare al software a livello hardware .... ti chiedo ... hai mai digitato 4 numeri su una tastiera? Sono dei tasti che tornano in posizione dopo averli premuti o restano premuti?

La domanda ha un certo senso, perchè codice che hai postato presuppone che i pulsanti restino premuti. .....

ho usato 4 interruttori e la prima parte funziona... scusate ma sono un principiante con arduino ! https://www.dropbox.com/s/sypzb20354ugwgi/chiave%20elettronica.jpg?dl=0

Ma tu hai parlato di poter cambiare il codice di accesso, quindi devi disporre di 10 pulsanti collgati a 10 pin o meglio una matrice di 4x3 ... non centra conoscere arduino in questo caso, ma il concetto a blocchi ... potremmo fornirti il programma e lo schema completo che forse in rete potresti anche trovare, però non sarebbe giusto nei tuoi confronti e del prof che ti ha commissionato il lavoro con il principio che tu lo comprenda a pieno e probabilmente che tu sia in grado di esporre. Gli interruttori non sono l'ideale per fare un controllo accessi tramite codice numerico ciao

8 non 10 ! 4 per accendere il led e 4 per cambiare il pin sui 4 precedenti ... scusate per lo schema barbarico che ho fatto al volo :) !

come 8 ... i numeri non vanno da 0 a 9? https://www.google.it/search?q=tastiera+matrice&client=firefox-a&hs=Rry&rls=org.mozilla:it:official&channel=nts&tbm=isch&tbo=u&source=univ&sa=X&ei=oKlSVLa8FIHnygPzyoGYAg&ved=0CCoQsAQ&biw=1280&bih=876

Già usi i punti esclamativi e con tutta sincerità non mi garbano :D :D .. lascio il treadh ad altri ... parlammo e non ci capimmo

bye

Hai 4 interuttori che fungono come input della valore da controllare ma anche come input della chiave segreta. Metti un pulsante in piú. Quando premi quello memorizzi lo stato dei interuttori nella variabile della chiave segreta. Ciao Uwe

allora : 1)scelgo 4 pin di input e 1 di output 2)dichiaro le variabili(v1,v2,ecc) 3)quando arduino legge su v1(0),v2(1),v3(1),v4(0) si accende il led 4)secondo il professore mio il led sarebbe un cancello... mi sono perso la chiave 0110 e vuole altri 4 pin di input per reimpostare la chiave senza dovre cambiarla dal pc

Quindi la chiave è grande 4 bit (decimal value 0-15). Secondo lo schema che hai postato i 4 pin sono sempre a livello logico HIGH, per cui la chiave in decimale vale 15.

Al momento il progetto senza i 4 pin aggiuntivi ti funziona?

Ciao.

sisi la prima parte funziona e si la chiave va da 0-15... non so nemmeno da dove partire per fare la seconda parte

scusate per lo schema barbarico che ho fatto al volo

piu’ che altro è errato

chiave.png

Come dice Uwe, inserisci un pulsante che colleghi tramite pull-down al pin 12. Quando premi quel pulsante, la chiave che è impostata sugli switch in quel momento diventa la nuova chiave segreta.

Quindi:

se Pin12 = HIGH:
  key1 = pinA
  key2 = pinB
  key3 = pinC
  key4 = pinD

A questo punto devi solo modificare l'if che va ad accendere il led, dove al posto dei valori impostati in fase di stesura sketch metti la chiave appena letta.

Viene da se, che ad ogni reset di arduino la chiave si reimposta a dei valori predefiniti di default, se non sono previsti, sarà 0 0 0 0.