Van Uno Naar Nano

Hardware geleverd door Arduino
Berichten: 7
Geregistreerd: 17 Feb 2021, 19:31

Van Uno Naar Nano

Berichtdoor bulldogrick » 12 Mei 2021, 18:14

Beste lezer

Ik heb een dobbelsteen gemaakt met een 7 segment display op de arduino uno.
Het vreemde is als ik de uno nu vervang in een nano dan blijft het gehele display branden en ook de drukknop lijkt niet te werken.
Ik heb inmiddels 3 nano's geprobeerd maar allemaal met hetzelfde probleem.
Kan iemand mij a.u.b. helpen?
Dit is het programma:
Code: Alles selecteren

int f = 5;
int g = 6;
int e = 7;
int d = 8;
int c = 9;
int h = 10;  //dot
int b = 11;
int a = 12;  //7 Segment pin

int buttonPin=13;
int buttonState=0;
int state=0;
 

void setup() {

  pinMode(h, OUTPUT);
  pinMode(f, OUTPUT);
  pinMode(g, OUTPUT);
  pinMode(e, OUTPUT);
  pinMode(d, OUTPUT);
  pinMode(c, OUTPUT);
  pinMode(b, OUTPUT);
  pinMode(a, OUTPUT);
  pinMode(buttonPin,INPUT);

}

void loop()
{
 buttonState=digitalRead(buttonPin);
 if (buttonState == LOW){
 state = random(1,7); // take random values from 1 to 6
 switch(state){
 
 case 1:
 digitalWrite(a,0);   // 1
 digitalWrite(b,1); 
 digitalWrite(c,1); 
 digitalWrite(d,0); 
 digitalWrite(e,0); 
 digitalWrite(f,0); 
 digitalWrite(g,0);
 digitalWrite(h,1);
 
 break;
 
 case 2: 
 digitalWrite(a,1);   //2
 digitalWrite(b,1); 
 digitalWrite(c,0); 
 digitalWrite(d,1); 
 digitalWrite(e,1); 
 digitalWrite(f,0); 
 digitalWrite(g,1);
 digitalWrite(h,1);

 break;
 
 case 3:
 digitalWrite(a,1);   // 3
 digitalWrite(b,1); 
 digitalWrite(c,1); 
 digitalWrite(d,1); 
 digitalWrite(e,0); 
 digitalWrite(f,0); 
 digitalWrite(g,1);
 digitalWrite(h,1);
 
 break;
 
case 4:
 digitalWrite(a,0);   // 4
 digitalWrite(b,1); 
 digitalWrite(c,1); 
 digitalWrite(d,0); 
 digitalWrite(e,0); 
 digitalWrite(f,1); 
 digitalWrite(g,1);
 digitalWrite(h,1);
 
  break;
   
case 5:
 digitalWrite(a,1);   // 5
 digitalWrite(b,0); 
 digitalWrite(c,1); 
 digitalWrite(d,1); 
 digitalWrite(e,0); 
 digitalWrite(f,1); 
 digitalWrite(g,1);
 digitalWrite(h,1);
 
  break;
 
 case 6:
 digitalWrite(a,1);   // 6
 digitalWrite(b,0); 
 digitalWrite(c,1); 
 digitalWrite(d,1); 
 digitalWrite(e,1); 
 digitalWrite(f,1); 
 digitalWrite(g,1);   
 digitalWrite(h,1);
  break;
 }             
}
}

Advertisement

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Van Uno Naar Nano

Berichtdoor shooter » 13 Mei 2021, 09:41

je zet de pinmode op output maar je vertelt in de setup dan niet of het LOW of HIGH moet worden. dus in de setup alles even op LOW zetten als de leds naar de GND gaan, (beter is overigens dat ze naar de plus gaan want sinken doet arduino gewoon beter net als trouwens bijna alle IC.
dan in je state staan een hele hoop 0 en 1 dat eigenlijk LOW en HIGH moet zijn.
over pin 13 is een led geplaatst dus daar moet je of een weerstand bij kiezen of een andere pin bijv een analoge die mag je digitaal gebruiken A0 is bijv 14 etc.
paul deelen
shooter@home.nl

Berichten: 7
Geregistreerd: 17 Feb 2021, 19:31

Re: Van Uno Naar Nano

Berichtdoor bulldogrick » 13 Mei 2021, 13:23

Maar waarom werkt het op een uno dan wel?

Berichten: 7
Geregistreerd: 17 Feb 2021, 19:31

Re: Van Uno Naar Nano

Berichtdoor bulldogrick » 13 Mei 2021, 13:25

Oh ja pin 13 is de drukknop om opnieuw te werpen met de dobbelsteen zeg maar

Berichten: 7
Geregistreerd: 17 Feb 2021, 19:31

Re: Van Uno Naar Nano

Berichtdoor bulldogrick » 13 Mei 2021, 13:27

Pin 13 is geen led maar een drukknop om de dobbelsteen een nieuw getal te laten weergeven.
En kunt u mij dan uitleggen waarom deze code wel op mijn UNO werkt?

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Van Uno Naar Nano

Berichtdoor shooter » 14 Mei 2021, 13:21

een nano en een uno lijken hetzelfde maar de processor is al anders, en kijk maar naar het schema dat er echt een ledje op het bordje zit op pin 13 en jij gebruikt dat als een ingang, en nu kan ik wel een heel verhaal gaan houden over pull up en weerstanden etc, dat wil ik wel doen als jij aangeeft dat je snapt hoe dat in elkaar zit met het ledje.
paul deelen
shooter@home.nl

Berichten: 7
Geregistreerd: 17 Feb 2021, 19:31

Re: Van Uno Naar Nano

Berichtdoor bulldogrick » 14 Mei 2021, 13:35

Ja ik snap hem inmiddels ik kan voor die knop dus beter een andere pin nemen bv een analoge of juist toch een digitale? pin 3 of 4 bv

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Van Uno Naar Nano

Berichtdoor shooter » 14 Mei 2021, 21:37

begin maar eens met 3 en netjes weerstanden naar de leds want anders gaat de arduino teveel stroom doen.
paul deelen
shooter@home.nl

Berichten: 287
Geregistreerd: 15 Apr 2021, 20:05

Re: Van Uno Naar Nano

Berichtdoor ctunes » 21 Mei 2021, 00:24

bulldogrick schreef:Maar waarom werkt het op een uno dan wel?


Geen idee.

Maar wat jij doet met je drukknop (welke? Hoe heb je die aangesloten?) op de Uno is telkens resetten.

Op een Nano is jouw buttonState dus altijd "LOW" want pin13 is altijd "LOW", zodoende doorloopt de loop() alle cases en lichten alle segmenten random op.

::

Daarnaast is het niet handig om int en bool door elkaar te gebruiken:
Code: Alles selecteren
int buttonState=0; 
if (buttonState == LOW)


alles dat niet 0 is is true bij een int.

Berichten: 287
Geregistreerd: 15 Apr 2021, 20:05

Re: Van Uno Naar Nano

Berichtdoor ctunes » 21 Mei 2021, 00:40

shooter schreef:een nano en een uno lijken hetzelfde maar de processor is al anders


Da's niet waar, het is allebei een 328/168, en die verschillen enkel in geheugencapaciteit.

Volgende

Terug naar Arduino hardware

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 11 gasten