Sida 1 av 1

Räkna upp och ned men inte exakt 123456.. osv.

Postat: 3 november 2018, 18:18:30
av Henry
Tänker mig en int där jag sedan räknar upp och ned som vanligt med två knappar men det skall bara räknas mellan 8, 10, 11, 13 och 14 och både upp och ned och bara mellan dessa nummer i den sekvensen.

Det enda jag kan komma på just nu är ev kanske få ihop det med en massa if och grejer, men finns det möjligen inte något bättre sätt?

Re: Räkna upp och ned men inte exakt 123456.. osv.

Postat: 3 november 2018, 18:20:30
av mankan
Stega i en array

Re: Räkna upp och ned men inte exakt 123456.. osv.

Postat: 3 november 2018, 18:21:00
av papabear
En array med dina värden och en int som du räknar upp i ner, som du använder för att slå upp värden i arrayen?

Re: Räkna upp och ned men inte exakt 123456.. osv.

Postat: 3 november 2018, 18:25:41
av Henry
Tja i int vill jag då ha värdena i från arrayn typ, dessa nummer skall sedan användas för att få in andra värden i annan array på exakt rätt ställen.


mankan: Tänkte faktiskt precis just det efter att jag skickat det. :)

Skall kolla upp stegning i en array, tack. Vet hur göra med en for loop men med knappar vet jag ej än, men skall kolla upp detta mer noggrant.

Re: Räkna upp och ned men inte exakt 123456.. osv.

Postat: 5 november 2018, 22:03:26
av Henry
Har hållit på med detta en tid nu då det var grejer jag inte visste att man kunde göra och var väldigt nära på att ge upp och fråga men tyckte att det borde inte vara så svårt att få till. När jag tittade på exempelkoderna där man skriver ut innehållet i en array och där såg att man ju kunde sätta en int där man skriver in antalet element så först då gjorde det hela rätt lätt att få ihop.

Lägger upp kodsnutten så har jag den i säkert förvar, eller om någon ev har invändningar på den. Det är alltså bara enklaste kod för att se om min teori stämde vilken den gjorde och glad blev jag. Kommer förstås läggas i loop och sådant längre fram och kod skrivas för att kunna knappa in andra tal i arrayn och detta samtidigt visas på displayen osv, men det blir nästa steg. Är dock väldigt nöjd och glad att jag fick ihop detta då det har blockerat allt en bra tid.

Kod: Markera allt

#include <LiquidCrystal.h>

LiquidCrystal lcd(40, 42, 28, 26, 24, 22);

void setup() {
  
char value[19] = {'@','2','5','3','S','P','1','!','5','.','3','4','E','-','7',';','F','F'};
int value2[5] = {8, 10, 11, 13, 14};

  lcd.begin(20, 4);
  lcd.clear();
  int number2 = 1;   //0 - 4 väljer specifikt element i "value" enligt siffrorna i "value2"
  int element = value2[number2];
  char number = value[element];
  lcd.print(number); //Visar innehållet i det valda elementet

}

void loop() {

}
Tack för alla tips. :)

Re: Räkna upp och ned men inte exakt 123456.. osv.

Postat: 5 november 2018, 22:29:19
av Zkronk

Kod: Markera allt

char value[] = {'@','2','5','3','S','P','1','!','5','.','3','4','E','-','7',';','F','F'};
int value2[] = {8, 10, 11, 13, 14};
Man kan (om man vill) låta bli att tala om hur många element arrayen ska innehålla, så räknar kompilatorn ut det åt dig automatiskt.
Såg att du hade skrivit att char-arrayen skulle ha 19 element, men du hade bara initierat 18 element.

Re: Räkna upp och ned men inte exakt 123456.. osv.

Postat: 5 november 2018, 23:11:04
av Henry
Jo jag vet att kompilatorn kan göra det själv men tycker det känns som något saknas om jag inte gör det. Sedan med char array så måste man ha ett till element för "/0" som ju kompilatorn lägger till så därav 19 element och inte 18, även om det inte är nödvändigt för sensorns kommunikation sedan då jag förmodligen fått ett felmeddelande tillbaka men lade till det ändå men det är förstås lätt fixat annars.

Re: Räkna upp och ned men inte exakt 123456.. osv.

Postat: 5 november 2018, 23:54:05
av lillahuset
Du menar förmodligen '\0' och det är bara strängar som är definierade

Kod: Markera allt

char namn[] = "Henry";
som får ett "null" som avslut.

Kod: Markera allt

char namn[] = {'H', 'e', 'n', 'r', 'y'};
får inget "null som avslut.

Det är skillnad på strängar och vektorer även om det kanske inte är uppenbart i alla lägen.

Re: Räkna upp och ned men inte exakt 123456.. osv.

Postat: 5 november 2018, 23:58:11
av Henry
Ah ok då vet jag det och det är ju visserligen också logiskt att det behöver vara så när jag tänker på det, jo förstås '\0'.