Ovdje pročitajte kako se registrirati na forum.

RGB lanterna

Tvoj projekt je upravo dovršen? Podijeli s nama što si napravio u ovom podforumu! Upute drugima kako napraviti isti projekt su uvijek dobrodošle!
Odgovorite
domagoj#2362
Ozbiljni hardveraš
Ozbiljni hardveraš
Postovi: 89
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Zagreb

RGB lanterna

Post Postao/la domagoj#2362 » pon pro 24, 2018 6:16 pm

Pozdrav svima!
Baš sam se pitao hoće li netko pisati u ovo praznično vrijeme kad mi je na pamet palo nešto prikladno. Igrao sam se s generatorom slučanjnih brojeva a kako kod računala ništa nije slučajno, odlučio sam provjeriti kako to izgleda u praksi. Da ne duljim, napravio sam mali program koji metodom slučajnih brojeva mijenja boje na RGB ledici. Boje su odabrane tako da simuliraju plamen svijeće. Poigrao sam se s bojama ali i pauzama između promjena. Sve u svemu jednostavno, ali za realan rezultat treba se poigrati. Shema je jednostavna, PWM izlaze sam preko otpornika 220 ohma spojio s RGB nožicama LEDice i to je to. Ostalo je odradio generator slučajnih brojeva i analogWrite(). Od zanimljivosti treba spomenuti da prije upotrebe funkcije random() treba odrediti konstantu koju ta funkcija koristi. Za to sam iskoristio analogni ulaz koji nije spojen, ali baš zato njegova vrijednost može varirati, pa je to onda dobar predložak da bude što bliže slučajnosti.
Evo programa.

Kod: Označite sve

#define red 6
#define blue 9
#define green 10

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(red,OUTPUT);
  pinMode(blue,OUTPUT);
  pinMode(green,OUTPUT);
  randomSeed(analogRead(0));
}

void loop() {

analogWrite(red,(byte)random(50,256));
analogWrite(green,(byte)random(128,256));
analogWrite(blue,(byte)random(0,5));

delay(random(100,300));
//možda ako se nakratko i potpuno ugasi
/*analogWrite(red,0);
analogWrite(green,0);
analogWrite(blue,0);
delay(random(0,20));*/
}
A evo i jedne slikice.

slika
I to je to, poigrajte se.
Pozdrav, Domagoj
Avatar
haluzanpavao#2625
Novak
Novak
Postovi: 23
Pridružen/a: sri lip 13, 2018 12:19 pm

Re: RGB lanterna

Post Postao/la haluzanpavao#2625 » uto pro 25, 2018 9:50 am

Sretan i blagoslovljen Božićti ti želim.
A projektić koji si napravio je savršeno tajmiran i još bolje zapakiran.
Jedino nisi rekao što si stavio u lanternu, (da se mene pita stavio bi ATTiny85/1Mhz staru bateriju od mobitela(3,6V) i RGBicu spojio direktno na PWM pinove)
domagoj#2362
Ozbiljni hardveraš
Ozbiljni hardveraš
Postovi: 89
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Zagreb

Re: RGB lanterna

Post Postao/la domagoj#2362 » uto pro 25, 2018 11:27 am

Hvala Pavao, i ja također želim tebi i tvojima, a i svima ostalima koji nas prate ili ne prate. Baš se potrefilo. :)
Izvorno sam razmišljao o Dambi. Ona ima samo dva PWM izlaza što i ne bi bio takav problem jer je plava nožica skoro na nuli. Ali kako sam eksperimentirao s random generatorom, pa sam trebao blagodati serial monitora, onda sam sve izveo na Basic2. Sad kad sve radi prebacit ću na Dambu, čisto da vidim osjeti li se kakva razlika, posebno u brzini izvođenja.
Avatar
haluzanpavao#2625
Novak
Novak
Postovi: 23
Pridružen/a: sri lip 13, 2018 12:19 pm

Re: RGB lanterna

Post Postao/la haluzanpavao#2625 » uto pro 25, 2018 12:40 pm

Ja neznam kaj je na dambi definirano ali sirovi ATTiny85 ima 4 PWM izlaza. Ovdje je pinout (isproban svaki pin i svaka funkcija istoga:)ž
slika
domagoj#2362
Ozbiljni hardveraš
Ozbiljni hardveraš
Postovi: 89
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Zagreb

Re: RGB lanterna

Post Postao/la domagoj#2362 » sri pro 26, 2018 8:36 pm

Damba je proizvod e-radionice (https://e-radionica.com/hr/croduino-damba.html) i mozak mu je attiny85. Meni je simpatična zbog svoje veličine a i zbog slota za dugmastu bateriju. I cijena joj je simpatična. :) Po defaultu radi na 1 MHz, ali se može podesiti i na 8 MHz, samo što tada taj parametar treba spržiti u bootloader. S externim oscilatorom ide i do 20 MHz. Ja sve radim na 1MHz, sasvim dovoljno. Još sam neke stvari odradio s njom, npr. notebook cooler i elektronski vodokotlić. Posebno je kod ugradbenog vodokotlića bilo važno da je sve malih dimenzija kako bi stalo ispod poklopca. Ali kako je za programiranje nužan drugi mikrokontroler, u fazi razvoja programa ne mogu koristiti serial monitor. Onda sve napravim na Basic2 pa kad sve štima, prebacim na Dambu. Neke stvari treba prilagoditi, a neke neće raditi kao npr. LCD preko I2C komunikacije. Zapravo, nije da neće raditi, nego već pri compile javlja grešku. Ne mislim da je problem u Dambi, ona ima I2C komunikaciju, već nema library za LCD. Možda i ima, nisam tražio. Međutim, ako ti projekt nema takvih ograničenja, onda je Damba vrlo upotrebjiva. Evo npr. u nastavku je izvorni program RGB lanterne preuređen za Dambu.

Kod: Označite sve

#define Damba //za Dambu ovu liniju stavi u komentar

#ifdef Damba
  #define red 0
  #define green 1
#else
  #define red 6
  #define blue 9
  #define green 10
#endif
void setup() {
  // put your setup code here, to run once:
#ifndef Damba
  Serial.begin(9600);
  pinMode(blue,OUTPUT);
#endif
  pinMode(red,OUTPUT);
  pinMode(green,OUTPUT);
  randomSeed(analogRead(0));
}

void loop() {

analogWrite(red,(byte)random(50,256));
analogWrite(green,(byte)random(128,256));
#ifndef Damba
analogWrite(blue,(byte)random(0,5));
#endif
delay(random(100,300));
//možda ako se nakratko i potpuno ugasi
analogWrite(red,0);
analogWrite(green,0);
#ifndef Damba
analogWrite(blue,0);
#endif
delay(random(0,20));
}
U programu za Dambu ne koristim plavu boju jer nemam treći PWM izlaz, ali ne smeta jer je plava samo u tragovima. Prejaka plava bi vukla na ljubičastu pa ne bi izgledao kao plamen.
Evo jedne slike gdje se vidi prava veličina Dambe.

slika
To je baš od RGB lanterne, plava je isključena, a žuta mi je GND i sve se napaja iz dugmaste baterije. Trenutno je napon 1,8V, ledica svijetli ali ne trepće što znači da je Damba prestala raditi. Ipak joj je preniski napon. Ali ukupni dojam uopće nije loš jer je prestala nakon cca 22 sata neprekidnog rada. A kako je RGB ledica glavni potrošač, mislim da je dugmasta baterija dobro izdržala.
Avatar
haluzanpavao#2625
Novak
Novak
Postovi: 23
Pridružen/a: sri lip 13, 2018 12:19 pm

Re: RGB lanterna

Post Postao/la haluzanpavao#2625 » sri pro 26, 2018 10:31 pm

Svaka čast imaš volje i živaca za starkelje pooput mene :)
Iako osim programskog djela bojim se da mi nemožeš baš pokazati nepoznanicu na ATTiny85.
Baci malo pogled na dve objave ispod tvoje viewtopic.php?f=15&t=72.
Ja pišem kao i ti u Arduinoid a programiram sa ponyprog serial programatorom koji je kompatibilan sa AVRdude a koštao me 1 sat rada i 10 kn :)
Ako te zanima rad sa I2C LCD 1602 na 85ici imam lib koji radi.
A možda mi i ti možeš pomoći?
Par redova iznad je adresa mog malog projekta zove se elemilica
Za njega sam napisao i napravio sve djelove osim mjerenja temperature.
Ako češ imati volje i vremena malo pomoči oko ideje i eventualno koji programski redak biti ću jako zahvalan.
Tolko za sada i lijepi pozdrav i laka Božićna noč-
domagoj#2362
Ozbiljni hardveraš
Ozbiljni hardveraš
Postovi: 89
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Zagreb

Re: RGB lanterna

Post Postao/la domagoj#2362 » sri pro 26, 2018 11:26 pm

He, he, pa nisam ni ja mladunac. :) Vidio sam tvoj post ali kako se ne kužim u elektroniku, strojar sam po struci, onda mi treba hrpa vremena da skužim shemu. Tu onda često bude i hrpa pitanja. Nije sad da baš ništa ne znam, ali je činjenica da u elektronici nisam doma. S programiranjem je već druga stvar. Time se bavim stvarno dugo i tu bi već mogao pomoći. Koji je problem oko mjerenja temperature? Vidim da koristiš PT100 sondu. BTW, mislim da bi daljnju konverzaciju o temperaturi trebali nastaviti na temi E-lemilica da se ne izgubi misao.
Odgovorite