60min taimeris su Arduino ir 1602 LCD

17 08 2014

Valydamas kompiuteri radau čia dar viena mažą projektuką, kuri galiu aprašyti. Reikalas prasidėjo nuo to, kad mane susiradę žmonės norėjo paprasto, vienu mygtuku valdomo taimerio, kuris rodytų likusį valandos laiką. Tokie laikrodžiai būtų naudojami interaktyviame žaidimo kambaryje, kur žaidėjai turi matyti kiek jiems liko laiko. Taigi aš pasiūliau 1602 LCD ir Atmega328P derinį kuris pilnai visus tenkino 🙂

Gamyba

Pirmoje vietoje pasijungiau kelis komponentus prie Arduino (nesvarbu kad tai Mega), kad viska suprogramuočiau:

IMG_8694

Programoje įgyvendinau vieną ir rastų internete didelių šriftų – rodyti laiką mažomis raidėmis juk nėra tikslo. Programavimo metu naudojau mažyti tumblerį mygtuką, bet kuom jis skiriasi nuo didelio?

Toliau gaminame PCB, lituojame ir turime štai šį darinį:

IMG_8702

Schema įrenginio labai paprasta – tai tik įtampos reguliatorius, LCD lizdas, Serial programavimo jungtis (taip, naudojau Arduino bootloaderi ir vėl) ir sąsaja mygtukui. Mygtukas šiuo atveju gali būti įvairios kilmės, tiek paprasti mygtukai, tiek herkonai tiek dar kas panašaus. Kad įėjimas būtų kiek galima saugesnis jo grandinėje įmečiau pora varžų ir pora diodų. Niekur nematore RTC laikrodžio nes jo ir nėra. Valandai laiko Atmega ir su savo laikrodžiai toli nenugrybaus 😀 Dar galima pridurti, kad vietoje Atmega328P buvo galima naudoti Atmega8 ar Atmega168, bet viska nulėmė man sandėliuko turinys.

Na ir laikas uždėti LCD:

IMG_8700

IMG_8699

IMG_8696

Kaip matote PCB gaminau tokių pačių matmenų kaip LCD ekranas. Pačioje PCB net yra žymės skylėms, kurias pragręžus galima abu modulius sujungti į vieną tvirtą įrenginuką.Tik aišku to su mėlinu ekranu PCB gavosi tokia kreiva, papildomai apdribau ją tik prieš montavimą.

Įrenginuko veikimas

Gaminau visus du, tad bent jau verta buvo žaisti su PCB gamyba ir panašiai. Liko tik pajungti elektrą ir ištestuoti:

IMG_8707

IMG_8709

Pajungimas jų labai elementarus: bendras +12V maitinimas ir individualius mygtukas kiekvienam:

bestDrawingEver

Dar programuodamas ir betestuodamas padariau kelis filmukus:

Antrame filmuke greitis dirbtinai pagreitinamas FPS override funkcijos, tai nekreipkite dėmesio kad laikas bėga greitai.

Apibendrinimas

Dabar įrenginukas gali atlikti kelias funkcijas:

  • rodyti mažėjantį laiką dideliu šriftu;
  • laikui pasibaigus ekrane mirgantys nuliai atkreipia žaidėjo dėmesį;
  • laikas perkraunamas ilgiau (500ms) paspaudus mygtuką;
  • mygtukas gali būti tiek durų skambutis, tiek herkonas primontuotas pvz. prie durų;
  • maitinimas 7-24V;
  • programos atnaujinimas per serial jungtį pasinaudojus Arduino IDE;

Ateičiai galima įrenginuką išnaudoti geriau:

  • suprogramavus skirtingus laikmačio intervalus skirtingam perkrovimo mygtuko nuspaudimui;
  • ekrane rodyti LCD Smartie generuojamą informaciją – tam nereikti įrašyti atitinkama programą į mikrokontrolerį ir duomenis siųsti per Serial;

Atnaujinta

Smagu rasti savo sukurtą įrenginuką pramogą reklamuojamuose video siužetuose:

Daugiau: www.wrongroom.lt


Veiksmai

Information

Parašykite komentarą

Įveskite savo duomenis žemiau arba prisijunkite per socialinį tinklą:

WordPress.com Logo

Jūs komentuojate naudodamiesi savo WordPress.com paskyra. Atsijungti / Keisti )

Twitter picture

Jūs komentuojate naudodamiesi savo Twitter paskyra. Atsijungti / Keisti )

Facebook photo

Jūs komentuojate naudodamiesi savo Facebook paskyra. Atsijungti / Keisti )

Google+ photo

Jūs komentuojate naudodamiesi savo Google+ paskyra. Atsijungti / Keisti )

Connecting to %s




%d bloggers like this: