www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 
Sponsored by SiOL

Arduino Uno in RTC DS1302

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Arduino sekcija
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
poldim
Član
Član



Pridružen-a: Sre 02 Mar 2011 11:34
Prispevkov: 85
Aktiv.: 0.88
Kraj: Ormož

PrispevekObjavljeno: Pet Feb 01, 2019 4:29 pm    Naslov sporočila:  Arduino Uno in RTC DS1302 Odgovori s citatom

Pozdravljeni.

Sem začetnik na Arduinu. Z njim bi želel izdelati čebelarsko tehtnico. V bistvu mi sama tehtnica že deluje. Težave so nastopile, ko želim tehtnico povezati z zunanjim svetom.
Na internetu je ohromno primerov a mi noben od njih ne deluje. Napak pa ne najdem.

Za tehtnico uporabljam Arduino Uno (kitajska), tehtalni modul 200kg z HX711 (A/D 64bit), LCD 16x2, ter senzor temperature, tlaka in vlage BME280. Ta kombinacija komponent mi deluje dobro.

Dodati želim še RTC DS1302 in GSM800L. Iz interneta sem preizkusil veliko primerov za RTC DS1302, vendar mi nobeden ne deluje. Napake ne najdem. Podobno je pri GSM modulu.

DS1302 imam povezan na porte 5, 6 in 7. Ostale porte imam že zasedene ali rezervirane za druge komponente.

Prosim vas, če mi lahko kdo pomaga s kakšnim delujočim primerom.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
polkic
Član
Član



Pridružen-a: Pon 04 Dec 2017 20:27
Prispevkov: 39
Aktiv.: 2.64

PrispevekObjavljeno: Pet Feb 01, 2019 5:34 pm    Naslov sporočila:   Odgovori s citatom

Pozdravljen,
objavi trenutno kodo programa in mogoče kakšno shemo vezave, da ti bomo lahko lažje svetovali.

Lp.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
poldim
Član
Član



Pridružen-a: Sre 02 Mar 2011 11:34
Prispevkov: 85
Aktiv.: 0.88
Kraj: Ormož

PrispevekObjavljeno: Pet Feb 01, 2019 9:32 pm    Naslov sporočila:   Odgovori s citatom

polkic je napisal/a:
Pozdravljen,
objavi trenutno kodo programa in mogoče kakšno shemo vezave, da ti bomo lahko lažje svetovali.

Lp.


Pozdravljeni. prilagam kodo programa za branje in prikaz ure na LCD in napake, ki so sem jih dobil pri prevajanju programa. Originalni primer sem popravil v smislu popravka pinov. Upam, da tu nisem naredil kake napake.

Program izgleda tako:
_________________________________________________________________
Koda:
// DS1302_LCD (C)2010 Henning Karlsen
// web: http://www.henningkarlsen.com/electronics
//
// Adopted for DS1302RTC library by Timur Maksimov 2014
//
// A quick demo of how to use my DS1302-library to make a quick
// clock using a DS1302 and a 16x2 LCD.
//
// I assume you know how to connect the DS1302 and LCD.
// DS1302:  CE pin    -> Arduino Digital 5
//          I/O pin   -> Arduino Digital 6
//          SCLK pin  -> Arduino Digital 7
//          VCC pin   -> Arduino Digital 33
//          GND pin   -> Arduino Digital 35
// LCD:     DB7       -> Arduino Digital 13
//          DB6       -> Arduino Digital 12
//          DB5       -> Arduino Digital 11
//          DB4       -> Arduino Digital 10
//          E         -> Arduino Digital 9
//          RS        -> Arduino Digital 8

#include <Wire.h>          // Need for NewLiquidCrystal library
#include <LiquidCrystal.h>
#include <DS1302RTC.h>
#include <Time.h>

// Init the DS1302
// Set pins:  CE, IO,CLK
DS1302RTC RTC(7, 6, 5);

// Optional connection for RTC module
//#define DS1302_GND_PIN 33 - not for UNO
//#define DS1302_VCC_PIN 35 - not for UNO

// Init the LCD
//   initialize the library with the numbers of the interface pins
//            lcd(RS,  E, d4, d5, d6, d7, [slovenščina je zame španska vas], polarity)
LiquidCrystal lcd(8,   9, 10, 11, 12, 13);


void setup()
{
  // Setup LCD to 16x2 characters
  lcd.begin(16, 2);
 
// Activate RTC module
//  digitalWrite(DS1302_GND_PIN, LOW); - not for UNO
//  pinMode(DS1302_GND_PIN, OUTPUT); - not for UNO

 // digitalWrite(DS1302_VCC_PIN, HIGH); - not for UNO
//  pinMode(DS1302_VCC_PIN, OUTPUT); - not for UNO

  lcd.print("RTC activated");

  delay(500);
 
  lcd.clear();
   //setSyncProvider(RTC.get);          // the function to get the time from the RTC
  if (RTC.haltRTC())
    lcd.print("Clock stopped!");
  else
    lcd.print("Clock working.");

  lcd.setCursor(0,1);
  if (RTC.writeEN())
    lcd.print("Write allowed.");
  else
    lcd.print("Write protected.");

  delay ( 2000 );
 
  // Setup time library 
  lcd.clear();
  lcd.print("RTC Sync");
  setSyncProvider(RTC.get);          // the function to get the time from the RTC
  if(timeStatus() == timeSet)
    lcd.print(" Ok!");
  else
    lcd.print(" FAIL!");
 
  delay ( 2000 );
 
  lcd.clear();
}

void loop()
{
  static int sday = 0; // Saved day number for change check

  // Display time centered on the upper line
  lcd.setCursor(3, 0);
  print2digits(hour());
  lcd.print("  ");
  print2digits(minute());
  lcd.print("  ");
  print2digits(second());
 
  // Update in 00:00:00 hour only
  if(sday != day()) {
    // Display abbreviated Day-of-Week in the lower left corner
    lcd.setCursor(0, 1);
    lcd.print(dayShortStr(weekday()));

    // Display date in the lower right corner
    lcd.setCursor(5, 1);
    lcd.print(" ");
    print2digits(day());
    lcd.print("/");
    print2digits(month());
    lcd.print("/");
    lcd.print(year());
  }
  // Warning!
  if(timeStatus() != timeSet) {
    lcd.setCursor(0, 1);
    lcd.print(F("RTC ERROR: SYNC!"));
  }

  // Save day number
  sday = day();

  // Wait small time before repeating :)
  delay (100);
}

void print2digits(int number) {
  if (number >= 0 && number < 10) {
    lcd.write('_');
  }
  lcd.print(number);
}



DC1302_LCD.png
 Opis:
 Velikost datoteke:  152.67 KB
 Pogledana:  3 krat

DC1302_LCD.png



DS1302_LCD_napake.txt
 Opis:
Napake, ki so se pojavile pri kompajliranju.

Download
 Ime datoteke:  DS1302_LCD_napake.txt
 Velikost datoteke:  2.88 KB
 Downloadano:  10 krat



Nazadnje urejal/a poldim Pet Feb 01, 2019 10:45 pm; skupaj popravljeno 1 krat
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
solomojster
Član
Član



Pridružen-a: Tor 18 Maj 2010 12:26
Prispevkov: 757
Aktiv.: 7.10
Kraj: NOVA GORICA

PrispevekObjavljeno: Pet Feb 01, 2019 10:43 pm    Naslov sporočila:   Odgovori s citatom

Ta priložen program je verjetno za mego.
Poglej priklope na Uno plošči.
https://goo.gl/images/Pgxdgd

Če poskusiš s temle;
https://www.google.com/amp/s/surtrtech.com/2018/01/27/how-to-simply-use-ds1302-rtc-module-with-arduino-board-and-lcd-screen/amp/

Druga knjižnica...
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
igo
Član
Član



Pridružen-a: Sre 11 Okt 2006 19:11
Prispevkov: 3463
Aktiv.: 23.01
Kraj: Krško

PrispevekObjavljeno: Sob Feb 02, 2019 1:33 am    Naslov sporočila:   Odgovori s citatom

Knjižnica mora vsebovati dve datoteki z enakim imenom, a različnima končnicama: .c (ali .cpp) in .h . Tudi mapa mapa imeti enako ime kot obe datoteki.

Kup napak v zvezi z nedefiniranimi spremenljivkami je verjetno povezan z manjkajočo .h datoteko.
Hkrati pa sta najdeni 2 knjižnici s podobnim imenom.

Ali si kaj brisal v zvezi z DS1302? Poišči vse datoteke s 1302 v imenu in preveri, kaj paše skupaj.

Najbolje je dodati .c in .h datoteki od vseh uporabljanih knjižnic kar v mapo s skico.ino .

_________________
Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
poldim
Član
Član



Pridružen-a: Sre 02 Mar 2011 11:34
Prispevkov: 85
Aktiv.: 0.88
Kraj: Ormož

PrispevekObjavljeno: Sob Feb 02, 2019 9:41 am    Naslov sporočila:   Odgovori s citatom

Hvala za predloga, danes popoldne preizkusim.

Obstaja možnost, da sem pri nalaganju različnih primerov kako knjižnico podvojil ali prepisal. Bom preveril knjižnice.

Sporočim kakšno je stanje.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Krampus
Član
Član



Pridružen-a: Pon 08 Sep 2008 13:07
Prispevkov: 1722
Aktiv.: 13.53
Kraj: Središče ob Dravi

PrispevekObjavljeno: Ned Feb 03, 2019 6:08 pm    Naslov sporočila:   Odgovori s citatom

Zdravo

Imaš tudi drugo varianto, če te slučajno piči Very Happy

Nekaj, kar C verniki ne smejo videti

_________________
Nisem ravno najbolj pameten na svetu, tu in tam pa imam kakšno idejo.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
poldim
Član
Član



Pridružen-a: Sre 02 Mar 2011 11:34
Prispevkov: 85
Aktiv.: 0.88
Kraj: Ormož

PrispevekObjavljeno: Pon Feb 04, 2019 1:46 am    Naslov sporočila:   Odgovori s citatom

Krampus je napisal/a:
Zdravo

Imaš tudi drugo varianto, če te slučajno piči Very Happy

Nekaj, kar C verniki ne smejo videti


Zdravo,

kaj si to novega odkril, rabim nekaj podnapisov.

Jaz sem na forumu malo zaspal, pa sem izgleda določene zadeve spregledal.

Very Happy
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
poldim
Član
Član



Pridružen-a: Sre 02 Mar 2011 11:34
Prispevkov: 85
Aktiv.: 0.88
Kraj: Ormož

PrispevekObjavljeno: Pon Feb 04, 2019 2:03 am    Naslov sporočila:   Odgovori s citatom

solomojster je napisal/a:
Ta priložen program je verjetno za mego.
Poglej priklope na Uno plošči.
https://goo.gl/images/Pgxdgd

Če poskusiš s temle;
https://www.google.com/amp/s/surtrtech.com/2018/01/27/how-to-simply-use-ds1302-rtc-module-with-arduino-board-and-lcd-screen/amp/

Druga knjižnica...


Hvala za dober primer. To je najenostavnejši primer, kar sem jih preizkusil. Deloval je iz prve. Moral sem ga vkomponirati v svoj program, in sedaj je rezultat pozitiven. Ostaja mi samo še to, da usposobim GSM 800L.

Ima kdo kakšen predlog za najenostavnejšo povezavo GSM modula (SIM800L)?

Pini na GSM modulu so: TxD, RxD, (RST ne vem če ga potrebujem?).

Na Arduino Uno imam na razpolago naslednje pine:

0-(RX), 1-(TX), A2, SCL, SDA in AREF.

Za dosedanjo pomoč se iskreno zahvaljujem, če pa je še kdo pripravljen z mano deliti kakšen nasvet, pa se priporočam.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Arduino sekcija Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 2423 dni


Powered by phpBB © 2001, 2005 phpBB Group