Mikrovlnka
Príspevkov: 19
• Stránka 1 z 2 • 1, 2
Mikrovlnka
Nemá tu niekto napísanú mikrovlnku ?
@ tomXX rada "google" mi veľmi pomôže, vopred ďakujem
@ tomXX rada "google" mi veľmi pomôže, vopred ďakujem

Ďakujem za pomoc posjirka, Diego, Xeram a barado 

Re: Mikrovlnka
napsanou ne ale klidně ti můžu pomoct s projektem.
jak si to představuješ? LCD/LED, vstupy/výstupy, funkční princip ,...
Sice teď dělám vytápění kostela, ale pár chvilek bych našel
jak si to představuješ? LCD/LED, vstupy/výstupy, funkční princip ,...
Sice teď dělám vytápění kostela, ale pár chvilek bych našel
Re: Mikrovlnka
a co třeba toto:
http://extremeelectronics.co.in/avr-pro ... r-project/
sice je to psané v "c" a né v arduinu, ale to by šlo poupravit..
http://extremeelectronics.co.in/avr-pro ... r-project/
sice je to psané v "c" a né v arduinu, ale to by šlo poupravit..
Re: Mikrovlnka
@ posjirka bingo, presne toto by mi bodlo 
Všetko mi vyhovuje na 100% ako to napísal Avinash Gupta.
S mojimi znalosťami to asi neprehodím pre Arduino, takže by ma potešila tvoja pomoc.
Dsplay 2*16 pripojený cez i2c a tlačítka tak ako sú.
Ďakujem

Všetko mi vyhovuje na 100% ako to napísal Avinash Gupta.
S mojimi znalosťami to asi neprehodím pre Arduino, takže by ma potešila tvoja pomoc.
Dsplay 2*16 pripojený cez i2c a tlačítka tak ako sú.
Ďakujem

Ďakujem za pomoc posjirka, Diego, Xeram a barado 

Re: Mikrovlnka
@ posjirka,
ten výber mikrovlnka / gril by sa mi hodil, ale keď to tam nebude nič sa nedeje.
Výkon nieje potrebné mi nastavovať.
Dík za snahu
ten výber mikrovlnka / gril by sa mi hodil, ale keď to tam nebude nič sa nedeje.
Výkon nieje potrebné mi nastavovať.
Dík za snahu

Ďakujem za pomoc posjirka, Diego, Xeram a barado 

Re: Mikrovlnka
Preklopiť to aby to šlo na Arduine.
Ďakujem.
Ďakujem.
Ďakujem za pomoc posjirka, Diego, Xeram a barado 

Re: Mikrovlnka
budeme asi komunikovat mimo forum at to tady nezase... věcmi mimo. Když klikeš na muj nic objeví se muj popis a uprostřed je volba poslat soukromou zprávu. Přes to můžeme v klidu komunikovat...
Re: Mikrovlnka
tak konečně jsem se dokopal dodělat ten program pro mikrovlnku. Snad to bude někomu ku prospěchu.
Je to dělané na arduino uno + lcd shield + 3x rele:
Je to dělané na arduino uno + lcd shield + 3x rele:
- Kód: Vybrať všetko
// regulace mikrovlne trouby + gril v02
// navrh LCD:
// 0123456789012345
//
// MICROWAVE 100%
// 00:00 STOP
//
// KNIHOVNY
#include <TimerOne.h> // Casovac 1 sekondy
#include <LiquidCrystal.h>
// KONSTANTY
#define MICRO 15 // PIN rele mikrovlnky
#define GRILL 16 // PIN rele grilu
#define BZUCAK 17 // PIN bzucak
#define TALIR 18 // PIN rele talir
#define MAXCAS 5400 // max nastavitelnz cas 90 min = 5400s
// moje definice tlacitek
#define btnRIGHT 0 // STOP
#define btnUP 1 // + cas
#define btnDOWN 2 // - cas
#define btnLEFT 3 // START
#define btnSELECT 4 // typ ohrevu
#define btnNONE 5 // nic
// promenne
int TYP = 0; // 0 - mikro 100%, 1 - mikro 66%, 2 - mikro 33%, 3 - gril
int SEKUNDY = 0; // celkovy cas ohravu v sekundach
int SEK = 0; // zobrazeni sekund na lcd
int MIN = 0; // zobrazeni minut na LCD
int STAV = 0; // 0 - STOP, 1 - RUN
int BUTTON = btnNONE; // tlacitka
int VYKON = 0; // vykon je resen formou PWM, kazdou 1 sekundu pripocte 1 az do 15 a kazdych 5s = 33% vykonu
// znak zvonku
byte bell[8] = {0x4,0xe,0xe,0xe,0x1f,0x0,0x4};
// piny kde je pripojen LCD panel
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
void setup()
{
Timer1.initialize(1000000); // casovac 1s pro odecet pri ohrevu
Timer1.attachInterrupt(odpocet); // odpocet pri ohrevu
lcd.begin(16, 2); // inicializace LCD
lcd.createChar (0, bell); // zvonek
pinMode(MICRO, OUTPUT); // nastav pin na vystup
pinMode(GRILL, OUTPUT); // nastav pin na vystup
pinMode(BZUCAK, OUTPUT); // nastav pin na vystup
pinMode(TALIR, OUTPUT); // nastav pin na vystup
Inic(); // inicializace a nulovani rele
}
void loop() //----------------------------------------------------------
{
ReadButton(); // jake je stisknute tlacitko?
if (STAV == 0) // stav STOP
{
switch (BUTTON)
{ // typ ohrevu
case btnRIGHT: // STOP/CLEAR
SEKUNDY = 0;// vymaze cas
TYP = 0; // mikro 100%
Beep(); // pipnuti + zpozdeni
break;
case btnUP: // + CAS
if (SEKUNDY < MAXCAS) // pridej 30 s
{
SEKUNDY = SEKUNDY + 30;
}
Beep(); // pipnuti + zpozdeni
break;
case btnDOWN: // - CAS
if (SEKUNDY > 0) // uber 30 s
{
SEKUNDY = SEKUNDY - 30;
}
Beep(); // pipnuti + zpozdeni
break;
case btnLEFT: // START
STAV = 1;
Beep(); // pipnuti + zpozdeni
break;
case btnSELECT:// typ ohrevu
TYP ++; // dalsi typ
if (TYP > 3)
{
TYP = 0; // zpet na TYP 0
}
Beep(); // pipnuti + zpozdeni
break;
}
}
else // stav RUN
{
switch (BUTTON)
{ // typ ohrevu
case btnRIGHT: // STOP/CLEAR
STAV = 0; // STOP
Beep(); // pipnuti + zpozdeni
break;
}
}
REGULACE(); // regulace vykonu nebo nulovani
Display(); // zobraz display
}
void Beep() // pipani pri stisku tlacitka
{
digitalWrite(BZUCAK, 1); // pipat
delay(25);
digitalWrite(BZUCAK, 0); // nepipat
delay(250); // pauza na uvolneni tlacitka
}
void Alarm() // alarm konec ohrevu
{
for (int i=0; i < 4; i++){
lcd.setCursor(8,1); // nastav kurzor
lcd.print (char(0)); // zvonek
digitalWrite(BZUCAK, 1); // pipat
delay(500);
lcd.setCursor(8,1); // nastav kurzor
lcd.print(" ");
digitalWrite(BZUCAK, 0); // nepipat
delay(500);
}
}
void Inic()
{
digitalWrite(BZUCAK, 0); // nepipat
digitalWrite(TALIR, 0); // neotace talir
digitalWrite(GRILL, 0); // vypni grill
digitalWrite(MICRO, 0); // vypni mikrovlnku
lcd.clear(); // smaze lcd
TYP = 0; // nulovani typu
SEKUNDY = 0; // nulovani casu
STAV = 0; // stav zarizeni
VYKON = 0; // nulovani vykonu
}
void Display()
{
lcd.setCursor(0,0); // kurzor na 0,0
switch (TYP)
{ // typ ohrevu
case 0:
lcd.print("MICROWAVE 100%");
break;
case 1:
lcd.print("MICROWAVE 66%");
break;
case 2:
lcd.print("MICROWAVE 33%");
break;
case 3:
lcd.print("GRILL ");
break;
}
lcd.setCursor(0,1); // nastav kurzor
MIN = SEKUNDY/60; // vypocet minut
if (MIN < 10) { // nula na zacatku minut
lcd.print("0");
}
lcd.print(MIN);
lcd.print(":"); // dvojtecka mezi MIN:SEK
SEK = SEKUNDY%60; // vypocet sekund jako zbytek po deleni minut
if (SEK < 10) { // nula na zacatku sekund
lcd.print("0");
}
lcd.print(SEK);
lcd.print(" "); // vymazani jineho textu
lcd.setCursor(12,1); // nastav kurzor
if (STAV == 0)
{
lcd.print("STOP");
}
else
{
lcd.print("RUN ");
}
}
void odpocet()
{
if (STAV == 1 && SEKUNDY > 0)
{
SEKUNDY--;
}
VYKON ++;
if (STAV > 15)
{
VYKON = 0;
}
}
void ReadButton() { // otestuje jestli neni stisknuto tlacitko
if (analogRead(0) > 1000) BUTTON = btnNONE;
if (analogRead(0) < 790) BUTTON = btnSELECT;
if (analogRead(0) < 555) BUTTON = btnLEFT;
if (analogRead(0) < 380) BUTTON = btnDOWN;
if (analogRead(0) < 195) BUTTON = btnUP;
if (analogRead(0) < 50) BUTTON = btnRIGHT;
}
void REGULACE() // vlastni rizeni RELE
{
if(STAV == 1) // START
{
digitalWrite(TALIR, 1); // otacet talir
if(SEKUNDY == 0) // konec odpoctu
{
STAV = 0;
Display(); // zobraz display
Alarm();
}
else
{
switch (TYP)
{
case 3: // grill
digitalWrite(GRILL, 1); // sepni gril
break;
case 2: // mikro 33%
if((VYKON/5) < 1)
{
digitalWrite(MICRO, 1); // sepni mikrovlnku
}
else
{
digitalWrite(MICRO, 0); // vypni mikrovlnku
}
break;
case 1: // mikro 66%
if((VYKON/5) < 2)
{
digitalWrite(MICRO, 1); // sepni mikrovlnku
}
else
{
digitalWrite(MICRO, 0); // vypni mikrovlnku
}
break;
case 0: // mikro 33%
digitalWrite(MICRO, 1); // sepni mikrovlnku
break;
}
}
}
if(STAV == 0) // STOP
{
digitalWrite(BZUCAK, 0); // nepipat
digitalWrite(TALIR, 0); // neotace talir
digitalWrite(GRILL, 0); // vypni grill
digitalWrite(MICRO, 0); // vypni mikrovlnku
}
}
Re: Mikrovlnka
@ posjirka Wau, ďakujem
Budem v noci študovať a skúšať.

Ďakujem za pomoc posjirka, Diego, Xeram a barado 

Príspevkov: 19
• Stránka 1 z 2 • 1, 2