Go Down

Topic: Far accendere 3 led in modo random? (Read 465 times) previous topic - next topic

JonnyK

Devo far accendere 3 led (giallo,blu e rosso) in modo casuale.
So che il random vero con arduino è impossibile, ma devo fare in modo da farli accendere in modo il più casuale possibile.
Mi scrivete un codice (spiegandolo per favore!)??

uwefed

A casa Tua non si saluta???

No, non Ti scriviamo un codice.

Ti aiutiamo a scrivertelo Tu.

I LED devono accendersi a tempi fissi (per esempio ogni 2 secondi si cabia) e il LED che accenderá é casuale o vuoi che sia i tempi che il colore sia casuale?

Ciao Uwe


nid69ita

#2
Jul 17, 2014, 09:15 am Last Edit: Jul 17, 2014, 09:17 am by nid69ita Reason: 1
@JonnyK, 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 generali utili: Link Utili

Se cerchi in internet e nel forum di codice per led random ne trovi a quintali.
http://forum.arduino.cc/index.php?topic=5496.msg42250#msg42250
my name is IGOR, not AIGOR

cyberhs

Visto che sei alla prima richiesta, come forma di benvenuto, ti allego un esempio.
Ricordati di inserire tre resistori da 330 ohm in serie ai LED!

Code: [Select]

#define LEDGialloPin 2
#define LEDBluPin 3
#define LEDRossoPin 4

long randNumber;

void setup() {
  pinMode(LEDGialloPin, OUTPUT);
  pinMode(LEDBluPin, OUTPUT);
  pinMode(LEDRossoPin, OUTPUT);
  randomSeed(analogRead(A0));         // senza questa istruzione la sequenza sarebbe sempre la stessa
}

void loop()  {
  randNumber = random(1, 3);       // genera un numero pseudo casuale tra 1 e 3

  if (randNumber == 1) digitalWrite(LEDGialloPin, HIGH);  // se randNumber è  1, LED giallo ON altrimenti OFF
  else digitalWrite(LEDGialloPin, LOW);

  if (randNumber == 2) digitalWrite(LEDBluPin, HIGH);
  else digitalWrite(LEDBluPin, LOW);

  if (randNumber == 3) digitalWrite(LEDRossoPin, HIGH);
  else digitalWrite(LEDRossoPin, LOW);

delay(1000);
}

nid69ita


Visto che sei alla prima richiesta, come forma di benvenuto, ti allego un esempio.

Troppo buono, hai il cuore tenero   ]:)  :smiley-mr-green: :smiley-mr-green:
my name is IGOR, not AIGOR

cyberhs

Forse hai ragione, ma mi piace credere che un giorno quel "ragazzino" (magari mi sbaglio e ha 40 anni...) preferirà questo hobby ad altri più... "chimici" ed un giorno potrà divulgare la sua conoscenza ad altri.

Non sei d'accordo?

gpb01


Non sei d'accordo?


NO ... dato che il fornire la "pappa fatta" non ha mai insegnato nulla a nessuno !  ]:D

Sono d'accordo nell'aiutare, correggere, integrare, fornire piccoli pezzi d'esempio e spiegare, ma la base del codice devono imparare a scriversela da soli ... dopo interveniamo noi ... ;)

Guglielmo
Search is Your friend ... or I am Your enemy !

nid69ita


Forse hai ragione, ma mi piace credere che un giorno quel "ragazzino" (magari mi sbaglio e ha 40 anni...) preferirà questo hobby ad altri più... "chimici" ed un giorno potrà divulgare la sua conoscenza ad altri.
Non sei d'accordo?

La mia era una battuta. Ho messo le faccine verdi !!!
Però sono più vicino al pensiero di @Guglielmo, qualche volta gli utenti devono provare a cercare su internet le informazioni.

Inoltre rileggi la richiesta al primo post, mi pare quasi un compito dato a scuola, chiede anche di spiegarlo, secondo me perchè dovrà spiegarlo ad un prof. Non mi pare richiesta per hobby ma per studio (svogliato). Magari mi sbaglio e @JonnyK  mi smentisce.
my name is IGOR, not AIGOR

cyberhs

Guglielmo, gli ho fatto vedere come si fa un programma ordinato, ma senza usare particolari artifici che, se vorrà continuare, imparerà da solo.
Il successo ottenuto è una potente molla per continuare, mentre gli ostacoli iniziali rischiano di allontanarlo dalla materia per sempre.

Nid69, avevo compreso la battuta e sono una persona di spirito, quindi nessun problema.
Ma non credo sia una richiesta scolastica (le scuole sono finite) e un po' di studio lo aveva comunque fatto:
Quote
...So che il random vero con arduino è impossibile...

gpb01


Però sono più vicino al pensiero di @Guglielmo, qualche volta gli utenti devono provare a cercare su internet le informazioni.


@ nid69ita:

Siamo molto OT, ma credo sia comunque importante ...

Non si tratta solo di "provare a cercare" ... si tratta proprio di almeno studiare le basi, far vedere la buona volontà e, dove non ci si riesce, chiedere aiuto !!!

Ormai arrivano qui e ti dicono "mi serve questo, fatemelo" ... ma stiamo scherzando o cosa ???  :smiley-eek:

Guglielmo
Search is Your friend ... or I am Your enemy !

cyberhs

Quote
Ormai arrivano qui e ti dicono "mi serve questo, fatemelo" ... ma stiamo scherzando o cosa ???  smiley-eek

Se avessi pensato che questo era la motivazione della richiesta, avrei inviato un preventivo!  :D

gpb01

@ cyberhs :

Beh, tu come la interpreti ???  XD XD XD


Mi scrivete un codice (spiegandolo per favore!)??


... mandagli il preventivo per la scrittura e per le ore di addestramento, poiché glie lo devi anche spiegare  :smiley-mr-green:

Guglielmo

@ JonnyK : ti assicuro, non è accanimento personale contro di te, ci mancherebbe ... ma ormai, qui sul forum ... la cosa sta diventando un'abitudine
Search is Your friend ... or I am Your enemy !

JonnyK

Ciao
forse fraintendo, ma mi sembra che ve la siate presa parecchio...
prima di tutto, io non sono "un ragazzino", ma sono un ragazzo, alle prime armi con questo tipo di tecnologia.
ci ho provato da solo a risolvere il mio problema, ma anche cercando su internet e sul forum non ci ho capito niente.
riguardo al "mi scrivete un codice (spiegandolo per favore)", ho chiesto a qualcuno di scrivere commentando, perchè penso sia il miglior modo per imparare.
infatti, dopo che mi è stato dato l'esempio da cyberhs, ho bene o male capito come funzionano randomSeed() e random().
ora sono in grado (quasi) di scrivermi da solo il codice per far funzionare i miei tre led.
riguardo al regolamento sul forum, non sapevo della sua esistenza, quindi ora corro a leggerlo.
se ve la siete presa non vi preoccupate, tutto ciò non era per offesa, ma un semplice commento.
gradirei però che la smetteste di rispondere con battutine e risposte sarcastiche.
grazie mille a tutti, vi tengo aggiornati (se v'interessa), sull'andamento del mio progetto.

Ciao a TUTTI
                     JonnyK

P.S.: era solo una critica costruttiva, non vi offendete.

nid69ita

#13
Jul 17, 2014, 10:06 pm Last Edit: Jul 17, 2014, 10:08 pm by nid69ita Reason: 1

Guglielmo
@ JonnyK : ti assicuro, non è accanimento personale contro di te, ci mancherebbe ... ma ormai, qui sul forum ... la cosa sta diventando un'abitudine


Come scritto da @Guglielmo, non era riferito esattamente a te, si poteva pensare che la tua richiesta fosse per un esame di uno studentello. Sai negli ultimi 2 mesi quanti han fatto richieste (in maniera autoritaria e senza buone maniere) per i loro esami di maturità ?

Comunque, anche tu non ti offendere, ma oltre a internet esistono anche dei buoni libri per iniziare con Arduino e non costano molto, tipo la guida di Banzi.

Prova a cercare in internet due pdf (gratuiti in italiano) di Tiziana Marsella, 2 buoni testi su programmazione C in Arduino e su una serie di progettini.
Applicazioni con Arduino
Programmare Arduino
my name is IGOR, not AIGOR

leo72


ci ho provato da solo a risolvere il mio problema, ma anche cercando su internet e sul forum non ci ho capito niente.
Senza offesa, ma non si studia un linguaggio di programmazione e l'elettronica su internet. Per lo meno, io sono all'"antica" ed un bel libro in mano lo considero indispensabile. Ma se preferisci, esistono guide sul C/C++ liberamente scaricabili. Per l'elettronica esistono dei siti in cui spiegano le cose base.

Quote

riguardo al "mi scrivete un codice (spiegandolo per favore)", ho chiesto a qualcuno di scrivere commentando, perchè penso sia il miglior modo per imparare.

E' il modo sbagliato, per far entrare un concetto in testa bisogna sbatterci la testa da sé, altrimenti non si impara bene.

Quote

infatti, dopo che mi è stato dato l'esempio da cyberhs, ho bene o male capito come funzionano randomSeed() e random().

Scusami ma queste funzioni base di Arduino sono ben documentate nel Reference stesso di Arduino:
http://arduino.cc/en/Reference/HomePage

Quote

P.S.: era solo una critica costruttiva, non vi offendete.

Finché si parla in modo civile non si offende nessuno  ;)

Go Up