Sari la conținut
ELFORUM - Forumul electronistilor

Schema ceas cu Attiny2313


norad

Postări Recomandate

Va salut,

In trecut am construit niste ceasuri cu tuburi Nixie comandate de circuite CMOS.

Am vazut ca ce poate construi un ceas doar cu un microcotroller si un circuit integrat BCD-decimal decoder. Adica multiplexat.

Un montaj simplu pe care vreau sa-l realizez este cel de pe pagina: http://elbastl.sweb.cz/clock.htm

Schema originala este aceasta:

clock.gif

Vreau sa folosesc doar patru tuburi (ora si minutul), secundele fiind indicate separat printr-o lampa mica cu neon. Microcontrollerul va fi un Attiny2313. Codul este in arhiva attiny.zip din pagina mentionata.

Cunostintele mele la programare microcontrolere sunt zero.

In Arduino sunt undeva la genunchiul broastei (aprins leduri, comandat stepper, citit temperatura cu senzori, LCD display,  i++, if, else, for s.a.).

Cum imi lipsesc cunostintele de programare, vreau sa folosesc codul original al autorului cu o modificare hardware pentru afisarea secundei. Lampa va lumina cand decodorul zecimal va trimite semnal logic pentru cifrele 0, 2, 4, 6 si 8. Rezistorul R va fi ales prin tatonare.

Schema modificata este mai jos (cu rosu sunt diferentele fata de original):

clock-mod.gif

Acum, cateva intrebari:

1 - Se poate scrie codul in attiny2313 cu ajutorul unei placi Arduino Uno (clona)?

2 - E corecta modificarea hardware propusa de mine ? Nu vreau sa modific codul initial.

3 - Ce rol au butoanele K1, K2, K3 ? Concret, fiecare in parte. Nu mi-am dat seama din cod.

4 - Indicati-mi va rog, care e corespondenta POS1, POS2 etc cu zecile de ore, orele, zecile de minute si minutele.

 

Link spre comentariu
  • Răspunsuri 12
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • nico_2010

    4

  • one

    3

  • norad

    2

  • Liviu M

    2

1. Nu prea cred;

2. Nu am avut timp sa verific;

3.de la stanga la dreapta pe desen: Validare valoare, UP, si Menu

4. Numai dupa ce "citesti" firmware-ul iti dai seama;

P.S.: Te inteleg ca vrei sa-l realizezi, insa fara cunostinte de programare palaria este putin cam mare. Ia-o treptat.

Link spre comentariu
4 hours ago, norad said:

 

Acum, cateva intrebari:

2 - E corecta modificarea hardware propusa de mine ? Nu vreau sa modific codul initial.

 

In momentul in care este comandata aprinderea cifrei doi, pe pinul 9 al circuitului 74141 o sa ai zero volti, la fel si pentru pinii care comanda cifrele zero, patru, sase si opt.

Asta inseamna ca diodele trebuie conectate invers si regandita comanda aprinderii neonului, insa adevarata problema care te impiedica sa faci afisarea secundei (hardware) este aceea se foloseste multiplexarea.
Daca, de exemplu, este afisata ora 8:16 timp de o ora neonul o sa clipeasca cu fregventa cu care se face multiplexarea, iar daca acel neon are o anumita inertie si nu va clipi o sa stea aprins pana se face trecerea la o ora impara.
Singura solutie este programarea unui pin ramas liber (9,16,20) pentru afisarea secundei. 

Link spre comentariu

De ce nu un cod de la O ? Si o schema adaptata la nevoi ? Nu e mare lucru sa scrii un cod de ceas chiar mi se pare mai usor de facut de la 0 decat sa-ti bati capul intelegand ce au facut altii.

Link spre comentariu
  • 3 săptămâni mai târziu...

Legat de programarea ATtiny cu Arduino,

nu ar putea sa functioneze, dat fiind ca Arduino are aceasta functie?

https://www.arduino.cc/en/Tutorial/ArduinoISP

 

Eu nu utilizez pentru ca am deja programatoare originale Atmel dar in documentatie scrie ca poate arde booloader. 

https://www.instructables.com/id/How-to-Program-the-ATtiny2313/

 

 

Apoi programul se poate incarca cu AVRdude imi imaginez..... 

Link spre comentariu

Nu, nu poate functiona ca programator decat pentru a scrie un firmware "bootloader" in alt microcontroller ce va fi folosit cu platforma Arduino.

Insa exista facilitatea de a folosi FT232 de pe placile Arduino Duemilanove (care au si padurile pentru accesare din exterior a pinilor acestui integrat) pentru programarea altor microcontrollere cu fisierul dorit, in conjunctie cu AVRdude GUI. Insa asta este alta mancare de peste.

Link spre comentariu
7 hours ago, nico_2010 said:

Nu, nu poate functiona ca programator decat pentru a scrie un firmware "bootloader" in alt microcontroller ce va fi folosit cu platforma Arduino.

 

Atunci e suficient.

Cu bootloaderul de la Arduino se poate incarca un program compilat cu orice compilator, cu ajutorul programului Xloader.

Doar daca nu sunt limitari in lista de microcontrollere suportate.

 

Am vazut ca Arduino are ca optiuni scrierea bootloader, si separat programare. Am versiunea 1.6.6.

Am devenit curios, cred ca in zilele urmatoare o sa studiez problema.

Editat de one
Link spre comentariu

Aici se punea problema programarii ATtiny 2313 direct cu hex-ul pentru aplicatie prin intermediul placii Arduino, folosita ca programator. Si in aceste conditii nu, nu se poate programa!

Restul sunt colaterale acestui subiect.

Link spre comentariu
3 hours ago, nico_2010 said:

Aici se punea problema programarii ATtiny 2313 direct cu hex-ul pentru aplicatie prin intermediul placii Arduino, folosita ca programator.

 

 Eu cred ca initiatorul topicului vrea sa programeze ATtiny13 prin oricare metoda, neavand programator, dar avand un Arduino la dispozitie.

Care este problema daca nu se programeaza "direct" ?

 

Editat de one
Link spre comentariu
La 12.03.2019 la 13:19, norad a spus:

Cunostintele mele la programare microcontrolere sunt zero.

In Arduino sunt undeva la genunchiul broastei

 

Nu am de gand sa contest ca s-ar putea face programarea si cum ziceti voi, nu am incercat si nu am de gand sa incerc asta (la fel ca userul One am programator original Atmel).

Insa pornind de la afirmatiile initiatorului topicului, citate mai sus, nu incurajez genul asta de experimente pentru ca, ulterior, il vom regasi cu afirmatii de genul "la scriere mi-a dat eroare si nu functioneaza", "l-am scris, dar nu mai pot sa-l sterg si sa inscriu hex-ul din nou, imi da eroare" sau chiar "l-am blocat, ce fac?". Si probabil ca exemple mai sunt!

Cel mai simplu este sa-si cumpere un programator USBasp pe care sa-l foloseasca cu un program de scriere compatibil cu acest programator sau sa cumpere un modul USB-TTL cu FT232 si sa foloseasca varianta propusa de mine anterior si care se regaseste aici: https://www.waveshare.com/w/upload/3/31/FT232-For-Arduino-Writing-Bootloader.pdf.

Se poate ignora aspectul cu scrierea bootloader-ului, pentru ca varianta permite scierea oricarui fisier hex uC din seria Atmel.

Originalul articolului se gaseste aici: https://make.kosakalab.com/arduino/avr-writer/ si se poate traduce cu Google Chrome, sau varianta in engleza: https://make.kosakalab.com/arduino/bootloader/index_en.html.

Editat de nico_2010
Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări