Ovdje pročitajte kako se registrirati na forum.

E-Lemilica by Halužan

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
Avatar
haluzanpavao#5476
Novak
Novak
Postovi: 22
Pridružen/a: sri lip 13, 2018 12:19 pm

E-Lemilica by Halužan

Post Postao/la haluzanpavao#5476 » ned pro 02, 2018 3:54 am

Dobra večer društvo.
Neznam dali Vas bude zanimalo ali meni je bio izazov natjetati ATTiny85 da radi malo više stvari odjednom.
Očekujem Vaše mišljenje iako priča nije gotova - mislim da je interesantno pokazati razvoj ideje u ovom stadiju :)
Eto ovdje je mali programček koji (u nastavku čete vidjeti kaj radi)

Kod: Označite sve

// e-lemilica By Halužan
// ATTiny85 Led_tm1637 tipkovnica sa 5 tipki PWM drajver za grijač lemilice
// DISPLAY

#include <TM1637Display.h>
#define CLK PB4
#define DIO PB1
TM1637Display display(CLK, DIO);

// TIPKOVNICA
 const byte ReadKeyPin = A3;
 int R2= 0;
 int keyripit = 0;
 int ReadKey =0;
// const int pauza=1000;
 byte ripitmax = 25;
//GRIJAĆ
const int PWMPin = PB0;  
 byte jacinaPWM=0;
 int printdispley=0;



void setup(){
    display.setBrightness(10);
    pinMode(PWMPin, OUTPUT);
    digitalWrite(PWMPin, 255);
}

void loop() {
  
        ReadKey = CitajTipku();
switch (ReadKey) {
 case 0:  
          keyripit=0;
          goto van;
          break;
      
 case 5:

          jacinaPWM = 20;
          goto van;
          break;

 case 4:

          jacinaPWM = 90;
          goto van;
          break;

 case 3:

          jacinaPWM = 200;
          goto van;
          break;
 case 2:


        if (keyripit > ripitmax){jacinaPWM = jacinaPWM-10;keyripit=1;goto van;}
        if (keyripit == 0){jacinaPWM = jacinaPWM-10;keyripit=keyripit+1;goto van;}
        keyripit=keyripit+1;
        goto van;
        break;
 case 1:
        if (keyripit > ripitmax){jacinaPWM = jacinaPWM+10;keyripit=1;goto van;}
        if (keyripit == 0){jacinaPWM = jacinaPWM+10;keyripit=keyripit+1;goto van;}
        keyripit=keyripit+1;
        goto van;
        break;
  }
van:
  printdispley=ReadKey*1000;
  printdispley=printdispley+jacinaPWM;
    display.showNumberDec(printdispley, 0);
//    display.showNumberDec(ReadKey, 0);
      analogWrite(PWMPin, jacinaPWM);
 }

int CitajTipku()
{
   R2= analogRead(ReadKeyPin);// Ovdije čitam tipkovnicu sa ADC 3 pina
   R2= R2+analogRead(ReadKeyPin);// to ponavljam 10 puta da anuliram greške čitanja
   R2= R2+analogRead(ReadKeyPin);
   R2= R2+analogRead(ReadKeyPin);
   R2= R2+analogRead(ReadKeyPin);
   R2= R2+analogRead(ReadKeyPin);
   R2= R2+analogRead(ReadKeyPin);
   R2= R2+analogRead(ReadKeyPin);
   R2= R2+analogRead(ReadKeyPin);
   R2= R2+analogRead(ReadKeyPin);
   R2= R2/10;                     // zbroj djelim sa 10 da ponovo dobijem realni broj
              if (R2 > 800) { R2=0;goto CitajTipkuVan;} // u odnosu na pročitani broj definiram tipku
              if (R2 > 399) { R2=5; goto CitajTipkuVan;}   
              if (R2 > 300) { R2=4; goto CitajTipkuVan;}   
              if (R2 > 200) { R2=3; goto CitajTipkuVan;}   
              if (R2 > 120) { R2=2; goto CitajTipkuVan;}   
              R2=1 ;  
CitajTipkuVan:
      return (R2);
}

Tu je sada shema u Fritzingu

Pozdrav
slika


I malo filmiča za laku noč :)
Avatar
david.zovko#9632
e-radionica.com team
e-radionica.com team
Postovi: 193
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Osijek, Croatia
Kontakt:

Re: E-Lemilica by Halužan

Post Postao/la david.zovko#9632 » uto pro 11, 2018 2:43 pm

Zgodno! Za ovako mali mikrokontroler podosta stvari je spojeno na njega. Super je ideja s puno tipkala na jedan pin.

Kako stojite s memorijom na flashu? Attiny85 ima samo 8kB, kada korstite Arduino, to je već samo nekih 6.5kB zbog bootloadera, jel točno?
Avatar
haluzanpavao#5476
Novak
Novak
Postovi: 22
Pridružen/a: sri lip 13, 2018 12:19 pm

Re: E-Lemilica by Halužan

Post Postao/la haluzanpavao#5476 » sri pro 26, 2018 10:45 pm

Nije točno jer na attinyju se setiraje samo flegovi- nema bootloadera.
Trenutno je iskorišteno mem prostora za ovaj kod gore oko 30% .Kada bude sve gotova nesmije preći 50% :)-to mi je cilj.
Inače ne radim ovo iz koristi ili zato da jeftinije prođem, nego baš zbog izazova samom sebi da vidim dali još mogu nekaj malo složenije sklepati :)
Odgovorite