Arduino schéma - arduino.sk

Mikrovlnka

Vaše nápady a pomoc s Vašimi projektami
Príspevky: 89
Registrovaný: Uto 03. Jún 2014 21:48:35
Bydlisko: Košice Slovakia

Mikrovlnka

Poslaťod kosice4 » Pia 26. Dec 2014 0:46:47

Nemá tu niekto napísanú mikrovlnku ?
@ tomXX rada "google" mi veľmi pomôže, vopred ďakujem :)
Ďakujem za pomoc posjirka, Diego, Xeram a barado :)

Obrázok užívateľa
Príspevky: 133
Registrovaný: Štv 06. Nov 2014 12:06:09

Re: Mikrovlnka

Poslaťod budvar10 » Sob 27. Dec 2014 9:00:37

?

Príspevky: 89
Registrovaný: Uto 03. Jún 2014 21:48:35
Bydlisko: Košice Slovakia

Re: Mikrovlnka

Poslaťod kosice4 » Sob 27. Dec 2014 11:41:08

Nemá nikto nič ???
Ďakujem za pomoc posjirka, Diego, Xeram a barado :)

Príspevky: 174
Registrovaný: Ned 16. Mar 2014 23:22:00

Re: Mikrovlnka

Poslaťod posjirka » Ned 28. Dec 2014 18:49:07

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

Príspevky: 174
Registrovaný: Ned 16. Mar 2014 23:22:00

Re: Mikrovlnka

Poslaťod posjirka » Ned 28. Dec 2014 18:55:54

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..

Príspevky: 89
Registrovaný: Uto 03. Jún 2014 21:48:35
Bydlisko: Košice Slovakia

Re: Mikrovlnka

Poslaťod kosice4 » Ned 28. Dec 2014 22:28:35

@ posjirka bingo, presne toto by mi bodlo :D
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 :)

Príspevky: 174
Registrovaný: Ned 16. Mar 2014 23:22:00

Re: Mikrovlnka

Poslaťod posjirka » Ned 28. Dec 2014 23:09:58

koukám že tam nema ni regulaci výkonu. Chceš tam i tu volbu mikro/gril?

Príspevky: 174
Registrovaný: Ned 16. Mar 2014 23:22:00

Re: Mikrovlnka

Poslaťod posjirka » Ned 28. Dec 2014 23:20:54

koukám že ani nemá rele na motor otáčení talíře. Je to fakt takový moc jednoduchý...

Príspevky: 89
Registrovaný: Uto 03. Jún 2014 21:48:35
Bydlisko: Košice Slovakia

Re: Mikrovlnka

Poslaťod kosice4 » Ned 28. Dec 2014 23:24:20

@ 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 :)
Ďakujem za pomoc posjirka, Diego, Xeram a barado :)

Príspevky: 174
Registrovaný: Ned 16. Mar 2014 23:22:00

Re: Mikrovlnka

Poslaťod posjirka » Pon 29. Dec 2014 22:52:25

ok, tak s čím chceš pomoct ??

Príspevky: 89
Registrovaný: Uto 03. Jún 2014 21:48:35
Bydlisko: Košice Slovakia

Re: Mikrovlnka

Poslaťod kosice4 » Pon 29. Dec 2014 23:36:35

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

Príspevky: 174
Registrovaný: Ned 16. Mar 2014 23:22:00

Re: Mikrovlnka

Poslaťod posjirka » Pon 29. Dec 2014 23:48:24

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...

Príspevky: 174
Registrovaný: Ned 16. Mar 2014 23:22:00

Re: Mikrovlnka

Poslaťod posjirka » Sob 31. Jan 2015 21:26:26

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:

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   
  }
}

Príspevky: 89
Registrovaný: Uto 03. Jún 2014 21:48:35
Bydlisko: Košice Slovakia

Re: Mikrovlnka

Poslaťod kosice4 » Pon 02. Feb 2015 20:06:54

@ posjirka Wau, ďakujem :) Budem v noci študovať a skúšať.
Ďakujem za pomoc posjirka, Diego, Xeram a barado :)

Príspevky: 174
Registrovaný: Ned 16. Mar 2014 23:22:00

Re: Mikrovlnka

Poslaťod posjirka » Štv 05. Feb 2015 17:02:58

Neni zac

Ďalší

Späť na Projekty vo fáze vývoja