Zegarek dla dziewczyny

Masz problem z Arduino? Tutaj możesz szukać pomocy.
ODPOWIEDZ
marcelh2o
Majsterkowicz
Posty: 103
Rejestracja: 8 wrz 2013, 11:18

Zegarek dla dziewczyny

Post autor: marcelh2o » 30 paź 2013, 13:26

Witam. Może najpierw wyjaśnie skąd pomysł żebyście nie pomyśleli że mam fatalny gust co do prezentów dla wlasnej dziewczny ;d Zawsze kiedy jest godzina np 11.11 , 15,15 lub 19,19 mówimy sobie dodatkowe kocham Cię lub jeśli nie jesteśmy obok siebie to wysyłamy sobie smsa "<3" może niektórym wydać się to dziwne jednak nam to sprawia frajde;p

I tak sobie pomyślałem z racji tego że zbliżają się jej urodziny mógłbym jej dać coś od siebie, a że wie że lubie majsterkować to postawnowiłem zrobić zegarek na wyświetlaczu LCD który normalnie pokazywał by godzine a dodatkowo kiedy jest właśnie jedna z tych godzin kiedy sa te same cyferki to wyświetlało by dodatkowo na wyświetlaczu kocham Cię <3.

Czy ktoś może robił coś w tym stylu i jest w stanie mi pomóc jak to zrobić i napisać kod do tego. Sprawilibyście ogromną radość mi mi mojej dziewczynie pozdrawiam:)

Przepraszam za chaos ale pisze na szybko.

Co miesiąc do wygrania nagrody o wartości ponad 1600 zł!


Arturr300
Starszy majsterkowicz
Posty: 307
Rejestracja: 16 paź 2013, 17:24

Re: Zegarek dla dziewczyny

Post autor: Arturr300 » 30 paź 2013, 16:48

Jakaś atmega z bootloaderem Arduino + elementy + moduł RTC + wyświetlacz LCD
:P
marcelh2o
Majsterkowicz
Posty: 103
Rejestracja: 8 wrz 2013, 11:18

Re: Zegarek dla dziewczyny

Post autor: marcelh2o » 30 paź 2013, 17:31

No stary tyle to ja na prawde się domyśliłem ;d chodzi mi raczej o kod który by miał takie funkcje;p
rufek
Młodszy majsterkowicz
Posty: 19
Rejestracja: 8 wrz 2013, 16:41

Re: Zegarek dla dziewczyny

Post autor: rufek » 30 paź 2013, 18:50

Na pewno w sieci znajdziesz sporo przykładów na zegarek na atmedze. Większość przykładów korzysta pewnie właśnie z RTC i wyświetlacza - czyli tego, czego potrzebujesz.
Jeżeli chodzi o czas, to dajesz prostego ifa - jeżeli godzina "11:11:00" to wyświetl coś innego przez np. 1 minutę. Kod i budowa nie wydają się być skomplikowane.
zelek93
Majsterkowicz
Posty: 96
Rejestracja: 27 sie 2013, 02:01

Re: Zegarek dla dziewczyny

Post autor: zelek93 » 30 paź 2013, 20:12

Cześć, zadanie jest dość banalne. Jeśli nie ma być to duży wyświetlacz to możesz użyć jakiegoś z telefonu. Ja np używam wyświetlacz z noki 5110 rozdzielczości 84px X 48px. W zupełności wystarczy aby wyświetlić serduszko czy napis "Kocham Cię". Drugą rzeczą potrzebną będzie moduł czasu rzeczywistego. Tego na alledrogo jest pełno, na ebay'u to grosze tylko dochodzi czas oczekiwania. Zmienne jakimi obsługujemy czas w bibliotece dla ds1307 : dt.hour() ,dt.minute(),dt.second(), a więc musiał byś porównać warunkiem IF wartość godzin oraz minut, jeśli są równe wyświetlało by uprzednio skonfigurowany ekran wiadomości. W innym przypadku wyświetla się aktualna godzina. Mniej więcej coś takiego:

Kod: Zaznacz cały

#include <Wire.h>
#include "RTClib.h"

void setup () {
   Serial.begin(57600);
}

void loop () {
  
    Serial.print(dt.hour(), DEC);
    Serial.print(':');
    Serial.print(dt.minute(), DEC);
    Serial.print(':');
    Serial.print(dt.second(), DEC);
    
    if (dt.hour == dt.minute)
    {
     Serial.print("Kocham Cie <3");  
     delay(60000);
    }
}
Pozdrawiam ;)
marcelh2o
Majsterkowicz
Posty: 103
Rejestracja: 8 wrz 2013, 11:18

Re: Zegarek dla dziewczyny

Post autor: marcelh2o » 31 paź 2013, 15:56

Myślałem raczej o takim wyświetlaczu na poczatek http://allegro.pl/wyswietlacz-lcd-2x16- ... 60475.html

a co do tego kodu to widziałem tutaj sporo kodow do zegarkow ale wszystkie byly strasznie skomplikowane i mnie odstraszaja.

Czyli tak musze kupić moduł RTC np taki http://allegro.pl/modul-rtc-ds1307-evb- ... 08852.html
wyświetlacz LCD jak wyżej
oraz wykorzystam do tego atmege 328p

Tylko nie chce żeby było tak że nakupuje tych elementów i później nie będzie chciało działać;d
Więc wystarczy że wgram ten progam na atmege i odpowiednio połączę razem z wyświetlaczem i koniec? W porównaniu do innych projektów które robie coś mi to podlatuje prościzną i jest za piękne żeby było możliwe;p

@edit już wiem że nie będzie śmigać bo kod jest tylko do RTC a brakuje mi jeszcze do wyświetlacza;)
Awatar użytkownika
rafalzaq
Majsterkowicz
Posty: 180
Rejestracja: 2 maja 2013, 23:57

Re: Zegarek dla dziewczyny

Post autor: rafalzaq » 31 paź 2013, 20:06

Do tego wyświetlacza jeszcze by się przydał mały potencjometr żeby regulować kontrast. Ale ogólnie tak. To jest takie proste.
zelek93
Majsterkowicz
Posty: 96
Rejestracja: 27 sie 2013, 02:01

Re: Zegarek dla dziewczyny

Post autor: zelek93 » 31 paź 2013, 20:25

Cześć, tak to naprawde jest tak proste :P

zrobiłem to w mniej niż chwile:

Kod: Zaznacz cały

#include <Wire.h>
#include "RTClib.h"
#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
RTC_DS1307 rtc;
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);

void setup () {
  Serial.begin(57600);
  #ifdef AVR
  Wire.begin();
  #else
  Wire1.begin(); 
  #endif
  rtc.begin();
  display.begin();
  delay(20);
  display.setContrast(60);
  display.display(); 
  display.clearDisplay(); 
  analogWrite(9,0);
}

void loop () {
  
    DateTime now = rtc.now();
    
    display.clearDisplay(); 
    display.setTextSize(1);
    display.setCursor(10,0);
    
    display.print(now.year(), DEC);
    display.print('/');
    display.print(now.month(), DEC);
    display.print('/');
    display.print(now.day(), DEC);
    display.println();
    
    display.setTextSize(2);
    display.setCursor(10,8);
    display.print(now.hour(), DEC);
    display.print(':');
    
    if (now.minute()<10)
      {
        display.print("0");
        display.println(now.minute(), DEC);
      }
    else {display.println(now.minute(), DEC);}

 
         if (now.minute()== now.hour())
     {
         display.setTextSize(1);
         
           display.print("Kocham Cie !");
     
     }
     display.display(); 
}
Pozostaje wgranie to na atmege, efekt jest taki:

http://i44.tinypic.com/zula20.gif
marcelh2o
Majsterkowicz
Posty: 103
Rejestracja: 8 wrz 2013, 11:18

Re: Zegarek dla dziewczyny

Post autor: marcelh2o » 31 paź 2013, 23:02

Niesamowite! Ja sie jeszcze tak nie znam żeby napisać taki program ale wielkie dzieki ze mi w tym pomogles juz widzę usmiech dziewczyny ;D Zamawiam wszysko składam i pokażę efekt:)
marcelh2o
Majsterkowicz
Posty: 103
Rejestracja: 8 wrz 2013, 11:18

Re: Zegarek dla dziewczyny

Post autor: marcelh2o » 14 lis 2013, 17:22

Jeszcze mam takie pytanie odnosnie schematu jak go podłączyc?

Dostałem już ten sam wyświetlacz co tu kolega pokazal i moduł rtc ale jaki to podłączyć z Atmegą 328p oraz jaką baterią najlepiej to zasilać i ile orientacyjnie by mogła trzymać?
marcelh2o
Majsterkowicz
Posty: 103
Rejestracja: 8 wrz 2013, 11:18

Re: Zegarek dla dziewczyny

Post autor: marcelh2o » 22 gru 2013, 18:33

Mam jeszcze takie pytanie do kogos kto sie orientuje. Podłączylem juz modul rtc z aruino i wyswietlaczem i po w graniu kodu jest wszystko ok poza tym ze wyswietlacz sie tylko swieci a nie pokazuje zadnych wiadomosci.
Czym to jest spowodowane cos zmienic w kodzie? czy gdzies indzie?
Awatar użytkownika
cube
Złota rączka
Posty: 834
Rejestracja: 2 gru 2012, 17:02

Re: Zegarek dla dziewczyny

Post autor: cube » 22 gru 2013, 20:02

Kontrast? Poza tym ciężko coś powiedzieć o zmianach w kodzie, jeśli nie widzi się tego kodu. Nasze szklane kule ostatnio szwankują.
marcelh2o
Majsterkowicz
Posty: 103
Rejestracja: 8 wrz 2013, 11:18

Re: Zegarek dla dziewczyny

Post autor: marcelh2o » 23 gru 2013, 11:30

kod byl doslownie 4 komentarze wyżej

#include <Wire.h>
#include "RTClib.h"
#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
RTC_DS1307 rtc;
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3);

void setup () {
Serial.begin(57600);
#ifdef AVR
Wire.begin();
#else
Wire1.begin();
#endif
rtc.begin();
display.begin();
delay(20);
display.setContrast(60);
display.display();
display.clearDisplay();
analogWrite(9,220);
}

void loop () {

DateTime now = rtc.now();

display.clearDisplay();
display.setTextSize(1);
display.setCursor(10,0);

display.print(now.year(), DEC);
display.print('/');
display.print(now.month(), DEC);
display.print('/');
display.print(now.day(), DEC);
display.println();

display.setTextSize(2);
display.setCursor(10,8);
display.print(now.hour(), DEC);
display.print(':');

if (now.minute()<10)
{
display.print("0");
display.println(now.minute(), DEC);
}
else {display.println(now.minute(), DEC);}


if (now.minute()== now.hour())
{
display.setTextSize(1);

display.print("Kocham Cie !");

}
display.display();
}
siwy2411
Młodszy majsterkowicz
Posty: 29
Rejestracja: 4 cze 2013, 14:56

Re: Zegarek dla dziewczyny

Post autor: siwy2411 » 23 gru 2013, 16:29

Obstawiałbym źle podłączony wyświetlacz.
Żeby wyeliminować wszystkie zmienne - napisz prosty program który (niezależnie od aktualnej godziny i innych dupereli) wyświetli Ci jakiś tekst na wyświetlaczu. Jak nie zadziała (co obstawiam) to albo wyświetlacz walnięty, albo źle podłączony. Jak zadziała to albo brak komunikacji atmega - RTC (a więc brak danych do wyświetlenia) albo coś jednak w kodzie.
marcelh2o
Majsterkowicz
Posty: 103
Rejestracja: 8 wrz 2013, 11:18

Re: Zegarek dla dziewczyny

Post autor: marcelh2o » 24 gru 2013, 15:53

a macie jakis najprostszy program do wyswietlacza tej nokii? bo widzialem duzo dla roznych lcd ale to chyba jest jakas roznica nie?;p nie znam sie za bardzo na tym a zalezy mi zeby to zrobic;p
Arturr300
Starszy majsterkowicz
Posty: 307
Rejestracja: 16 paź 2013, 17:24

Re: Zegarek dla dziewczyny

Post autor: Arturr300 » 25 gru 2013, 10:19

karp
Majsterkowicz
Posty: 94
Rejestracja: 28 sty 2014, 19:16

Re: Zegarek dla dziewczyny

Post autor: karp » 26 lis 2015, 16:04

No własnie ja równiez się rozglądam za czymś tak do max 200 zł na rękę dla mojej dziewczyny. Widziałem,zę lubi zegarki na pasku. Co polecicie?
Awatar użytkownika
pebb
Majsterkowicz
Posty: 94
Rejestracja: 20 sie 2014, 11:22

Re: Zegarek dla dziewczyny

Post autor: pebb » 27 lis 2015, 14:36

Sam nie znam się trochę na modzie damskiej ale jakiś czas temu zamawiaem dla żony zegarek na urodziny. Oczywiście sam go nie wybierałem ale sama wskazała mi co chce dostać :P
Konkretnie taki zegarek Swatch
sell-watch.pl/swatch-ge706a-egyptia-gent-ge-706a-p-2387.html

Wcześniej dopytałem się jeszcze o jakość na forum o zegarkach to chłopaki dobrze o nich pisali. Najlepiej jakby Twoja równięż Ci pokazala jaki chce dostać. No chyba,ze znasz jej gust albo chcesz jej zrobić niespodziankę.
ODPOWIEDZ

Strony partnerskie: