E-Lemilica by Halužan
Postano: 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)
Tu je sada shema u Fritzingu
Pozdrav

I malo filmiča za laku noč
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);
}
Pozdrav

I malo filmiča za laku noč
