Holografické hodiny: Rozdiel medzi revíziami
Zo stránky SensorWiki
Bez shrnutí editace |
Bez shrnutí editace |
||
Riadok 49: | Riadok 49: | ||
== Analýza == | == Analýza == | ||
V prvom rade sme si potrebovali vyrezat krabičku a plexiskla . Po návrhu a vyrezaní skiel a krabičky sme sa pustili do zapojenia elektroniky. | V prvom rade sme si potrebovali vyrezat krabičku a plexiskla . Po návrhu a vyrezaní skiel a krabičky sme sa pustili do zapojenia elektroniky. | ||
[[Súbor:CisliceObr.jpg]] | [[Súbor:CisliceObr.jpg|center]] | ||
== Popis riešenia == | == Popis riešenia == | ||
Pri zapájaní elektroniky sme sa snažili pozápajať v prvom rade naše Arduino s Shiftout registrami | |||
[[Súbor:4.jpg|center]] | |||
Kedže v elektronike sme nováčikovia , riadili sme sa schémami , ktoré sme našli pri podobných projektoch , v nasledújucom obrázku je detailnejšie popísané zapojenie Shiftout registrov s LED svietilami a Arduinom | |||
[[Súbor:Shift.jpg|center]] | |||
Diagram na podrobnejšiu schému zapojenia | |||
[[Súbor:diagram.jpg|center]] | |||
'''Schéma zapojenia Arduina s RTC modulom''' | '''Schéma zapojenia Arduina s RTC modulom''' | ||
Riadok 69: | Riadok 70: | ||
[[Súbor:Arduino.png|300px]] | [[Súbor:Arduino.png|300px]] | ||
=== Algoritmus a program === | === Algoritmus a program === |
Verzia z 07:32, 25. máj 2018
Autori: | Adriána Selepová, Oliver Lachkovič | |
Študijný odbor: | Aplikovaná informatika | 3. Bc. (2018) |
Opis projektu
Cieľom tohto projektu bolo vytvoriť tzv. Holografické hodiny.
Prečo?
- Tento projekt nás zaujal na základe digitrónov alebo inač nazývaných číslicových výbojek.Kdedže digitróny sú elektronické súčiastky ,plynom plnené výbojky so studenou katódou, bolo by to pre nás veľmi obtiažne niečo také vyrobiť, našli sme alternatívu ako niečo také napodobniť.
Využité technológie
- Laserový vyrezávač
- Arduino Uno
- RTC
Material
- 28 x vygravirované plexisklo
- Preglejková krabička
- Arduino Uno, RTC modul
- BreadBoard,prepojovacie káble
- 4 x ShiftOut registre
Návod
V návode v krátkosti popisané základné kroky prípravy a zhotovenia produktu:
- Návrh 7 segmentových plexisiek
- Návrh krabičiek
- Vyrezanie potrebných materiálov : 28 plexiskiel vygravírovaných podľa 7 segmentov na displeji, drevená krabička na osadenie čísel
- Zapojenie potrebnej elektroniky
- Naprogramovanie hodiniek
- Osadenie naprogramovanej a zapojenej dosky do krabicky
Použité zdroje:
- Zoznam použitej literatúry, vrátane katalógových údajov (datasheet), internetových odkazov a pod.
Analýza
V prvom rade sme si potrebovali vyrezat krabičku a plexiskla . Po návrhu a vyrezaní skiel a krabičky sme sa pustili do zapojenia elektroniky.
Popis riešenia
Pri zapájaní elektroniky sme sa snažili pozápajať v prvom rade naše Arduino s Shiftout registrami
Kedže v elektronike sme nováčikovia , riadili sme sa schémami , ktoré sme našli pri podobných projektoch , v nasledújucom obrázku je detailnejšie popísané zapojenie Shiftout registrov s LED svietilami a Arduinom
Diagram na podrobnejšiu schému zapojenia
Schéma zapojenia Arduina s RTC modulom
Algoritmus a program
Výsledný program sme naprogramovali v C cez prostredie Arduino. V princípe sme si nasetovali čas , a potom následne cez RTC modul sme si vytiahli čas a "rozparsovali" sme si ho na hodiny a minuty.
/* Na začiatku sme si museli includnuť knižnice , ktoré budeme potrebovať */
#include <Wire.h>
#include <RTClib.h>
RTC_DS1307 RTC;
const int dataPin = 11; // zapojenie arduino pin 12 k Shiftout pin 3 serial in (SER IN)
const int latchPin = 8; // zapojenie arduino pin 10 k Shiftout pin 12 latch signal (RCK)
const int clockPin = 12; // zapojenie arduino pin 9 k Shiftout pin 13 clock (SRCK)
// pole čísel nám znázorňuje sučet čisiel, ktoré LEDKY sa nám rozsvietia aby vykreslili čislo
const int digits[10] = {63, 6, 91, 79, 102, 109, 125, 7, 127, 111};
void setup() {
Serial.begin(9600);
//set pins to output so you can control the shift register
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);[[Súbor:
pinMode(dataPin, OUTPUT);
Wire.begin();
RTC.begin();
if (! RTC.isrunning()) {
RTC.adjust(DateTime(__DATE__, __TIME__));
} // end if
} // end void setup
void loop() {
// RTC nám zistí reálny čas odkedy sme ho setli
DateTime now = RTC.now();
int thehour = now.hour();
int hour_tens = thehour / 10;
int hour_ones = thehour % 10;
int minute_tens = now.minute() / 10;
int minute_ones = now.minute() % 10;
//Vypis na overenie či nám ide správne čas
Serial.print(now.hour());
Serial.print(":");
Serial.print(now.minute());
Serial.print(":");
Serial.print("\n");
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, digits[hour_tens]);
shiftOut(dataPin, clockPin, MSBFIRST, digits[hour_ones]);
shiftOut(dataPin, clockPin, MSBFIRST, digits[minute_tens]);
shiftOut(dataPin, clockPin, MSBFIRST, digits[minute_ones]);
//rozsvietenie LED
digitalWrite(latchPin, HIGH);
}
Nezabudnite však nahrať aj kompletné zdrojové kódy vášho programu!
Zdrojový kód: serial.h a main.c
Výsledok
Nezabudnite zdokumentovať výsledok vašej práce. Určite sem patria fotografie, video a zhodnotenie ako ste spokojní s výsledkom,