Arduino B=A-1 ?

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Nerre
Inlägg: 26725
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Arduino B=A-1 ?

Inlägg av Nerre »

Det jag var inne på var ju att i vissa typer av grejer så vill man inte ha uppräkningen av loop-index i början eller slutet av loopen utan mitt i. Det kan ju iofs lösa med +1 eller -1 på valfria ställen, men kan bli otydligt om det t.ex. inte räknas upp med fasta steg.

Men också just det sodjan är inne på: I början och slutet har man oftast specialfall.

Om man ska släcka föregående pixel innan man tänder den nya så går ju inte det i början, eftersom där finns ingen föregående pixel.

Och på slutet måste man släcka den sista eftersom annars ligger den kvar.

Dessa två specialfall bör då alltså läggas utanför loopen, annars måste man fixa en massa villkor inuti loopen.
Användarvisningsbild
Lennart Aspenryd
Tidigare Lasp
Inlägg: 12607
Blev medlem: 1 juli 2011, 19:09:09
Ort: Helsingborg

Re: Arduino B=A-1 ?

Inlägg av Lennart Aspenryd »

Var nere i skrubben och letade, Hittade display men inte joystickarna ;-( Skall finnas.
Så blev jag intresserad av denna:
20150106_034919.gif
Men om man tar släckvärdet från tändvärdet sedan ger tändvärdet nytt värde och därefter kör släckvärdet!
Kanske skall det vara en buffer emellan, men visst blir det snyggare om man tänder ny och släcker därefter?
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Nerre
Inlägg: 26725
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Arduino B=A-1 ?

Inlägg av Nerre »

Det blir säkert snyggare om man tänder den nya innan man släcker den gamla, men du får fortfarande problemet att för den första finns det ingen gammal att släcka och den sista vill du kanske inte ha kvar lysande efter loopen?
Användarvisningsbild
GeekJoan
Admin
Inlägg: 10681
Blev medlem: 26 maj 2003, 15:59:27
Ort: Solna

Re: Arduino B=A-1 ?

Inlägg av GeekJoan »

Kollade igen på koden. Så här ser sista versionen ut.

Kod: Markera allt

#include "LedControl.h" //  need the library
LedControl lc=LedControl(12,11,10,1); // 
// Joystick till pinar A0 och A1 
// pin 12 is connected to DIN - MAX7219 pin 1
// pin 11 is connected to CLK - MAX7219 pin 13
// pin 10 is connected to CS -  MAX7219 pin 12
// 1 as we are only using 1 MAX7219
 
int potV;
int potH;
int A;
int B;

void setup()
{
  // the zero refers to the MAX7219 number, it is zero for 1 chip
  lc.shutdown(0,false);// turn off power saving, enables display
  lc.setIntensity(0,1);// sets brightness (0~15 possible values)
  lc.clearDisplay(0);// clear screen
}
void loop(){
  potV=analogRead(A0);
   potH=analogRead(A1);
   A=potV/128;
   B=potH/128;
   lc.setLed(0,A,B,true);
   delay(5);
   lc.setLed(0,A,B,false);
}
Men vad jag egentligen hade tänkt göra är samma display och att den tänder där man ritar och om man ritar på samma ställe en gång till så släcker den. Men det har jag ingen aning om hur jag löser. Måste ju hålla reda på vilka som är tända och släckta i någon tabell eller nått. ?
ronnylov
Inlägg: 987
Blev medlem: 23 februari 2012, 12:06:19
Ort: Borås

Re: Arduino B=A-1 ?

Inlägg av ronnylov »

Du kan ha en array av 8 stycken unsigned char där varje element motsvarar en rad och varje bit motsvarar varje prick. Sedan kan du ha en funktion som uppdaterar arrayen på önskat sätt utifrån dina indata och sedan ställer in lysdioderna enligt arrayens innehåll. Om du skickar en pekare till arrayen från main som indata till funktionen så uppdateras din array inuti funktionen men arrayen är ändå åtkomlig i main eftersom det är i main den definierats. Alternativt kan du ha arrayen som global variabel om det känns enklare.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Arduino B=A-1 ?

Inlägg av sodjan »

Men, eftersom en sådan den 8x8 matrix i alla fall måste
multiplexas så måste deet redan finnas en array någonstans
för att hålla redan på pixlarna...
Användarvisningsbild
GeekJoan
Admin
Inlägg: 10681
Blev medlem: 26 maj 2003, 15:59:27
Ort: Solna

Re: Arduino B=A-1 ?

Inlägg av GeekJoan »

OK, det är säkert enkelt om man vet hur man gör... :vissla:

Tror jag vet vad helgen kommer gå åt till.

sodjan, den ligger nog i så fall i LedControl.h ?
Skriv svar