Jag håller på att testa att skriva en kod för att testa att fota med lång slutartid och måla med denna ljusstrip.
Egentligen har jag två frågor. Den ena är hur jag får min kod att fungera, den andra är hur jag kan skriva koden mer effektiv. För jag är helt övertygad om att det går att skriva mycket MYCKET effektivare.
Jag har nu ett antal Arrays som tillsammans bildar ett åtta pixlar högt hjärta.
Kod: Markera allt
int nArray0[8]={0,0,255,255,0,0,0,0};
int nArray1[8]={0,255,255,255,255,0,0,0};
int nArray2[8]={255,255,255,255,255,255,0,0};
int nArray3[8]={255,255,255,255,255,255,255,0};
int nArray4[8]={0,255,255,255,255,255,255,255};
int nArray5[8]={255,255,255,255,255,255,255,0};
int nArray6[8]={255,255,255,255,255,255,0,0};
int nArray7[8]={0,255,255,255,255,0,0,0};
int nArray8[8]={0,0,255,255,0,0,0,0};
Jag ”snurrar” ut de åtta pixlarna på första raden i en ”while” sats.
Kod: Markera allt
while(num < NUMPIXELS){
pixels.setPixelColor(num , pixels.Color(nArray1[num],0,0)); // num i denna kod representerar vilken plats i arrayen som ska skrivas ut.
num++;
}
Detta funkar bra. Men hur jag än gör så lyckas jag inte få till det att bläddra igenom alla arrayer. Jag tänkte mig en While sats som ligger utanför denna Whilesats och som ändrar numret på Arreyen. nArray1 nArray2 nArray3 osv.
Jag har försökt på många olika sätt men får olika error meddelanden. Tyvärr har jag inga exempel nu för jag har prövat och tagit bort och prövat på nytt osv.
Pseudokod för det jag är ute efter skulle kunna se ut nåt sånt här.
Jag försökte Fetmarkera de få delar som är ändringen men det var lite svårt att se. Skit att det inte gick att fetmarkera inom Code taggarna.while(line < LINENUMBER){
while(num < NUMPIXELS){
pixels.setPixelColor(num , pixels.Color(nArray + line[num],0,0)); // num i denna kod representerar vilken plats i arrayen som ska skrivas ut.
num++;
}
num=0;
line++;
}
Fråga 1:
Har nån nåt tips på hur jag ska lyckas ta en array, rulla igenom alla åtta pixlar, ta nästa array, rulla igenom alla åtta pixlar osv?
Fråga 2:
Hur skulle man kunna göra detta lite effektivare? Jag vet att det finns stora avancerade program där man kan lägga in en gifbild på ett SDkort och få det väldigt snyggt och "flashigt" men jag skulle vilja hitta nått mellanting där jag kanske kan skriva ut lite enkel text MEN fortfarande förstå det mesta av koden. Jag vill alltså hellre lära mig än få en färdig lösning och vara nöjd med den.
//Peter