Sari la conținut
ELFORUM - Forumul electronistilor

Modul inregistrare redare vocala cu Pic16F628A


niculae

Postări Recomandate

Si inca o varianta cu doua iesiri de semnalizare - RA0 activata (constant) cand e usa deschisa, deactivata cand usa e inchisa si RA1 - pulseaza cat timp e usa deschisa.

 

Multumesc frumos, cand vei mai avea timp poate pui si codul pt aceasta varianta si am sa te rog sa-mi spui unde este sectiunea RA1 cu led-ul 2, poate am nevoie sa maresc sau sa micsorez timpul de clipire.

In rest, am testat si functioneaza ok.

MARE BOIER, MARE CARACTER !

Link spre comentariu

Salut,

ai mai jos codul pentru doua iesiri - RA0 si RA1.

Modificarea timpului cat RA1 sta high/low o faci in functia de mai jos, modificand numarul din __delay_ms(500);

void waitEom(unsigned char ledPulses){
  //asteapta sa se termine mesajul
  while(EOM){
    if(ledPulses){
      BUZZER ^= 1;
      __delay_ms(500); //durata teoretica a pulsurilor RA1. Practic mai sunt si alte delay-uri care se adauga
    } else {
      NOP();
    }
  }  
}

comandaISD25xx_douaIesiri.zip

Editat de Liviu M
Link spre comentariu

 

Salut,

ai mai jos codul pentru doua iesiri - RA0 si RA1.

Modificarea timpului cat RA1 sta high/low o faci in functia de mai jos, modificand numarul din __delay_ms(500);


Multumesc Liviu.

 

Toate cele bune!

Editat de niculae
Link spre comentariu

Din ce inteleg eu din programul de mai sus, PIC-ul asta isi iroseste in cea mai mare parte existenta cu delay-uri :)

O fi pacat de el insa, eu de asta am nevoie!

Link spre comentariu

In varianta atasata RA2 e tot timpul iesire si e 0 cand usa e deschisa, 1 in rest.

Multumesc Liviu, este exact ceea ce trebuie!

 

Toate cele bune!

Link spre comentariu

Am descoperit ca desi am postat codul, lipsesc instructiunile de folosire, asa ca:
1. proiectul e facut cu ajutorul IDE-ului MPLAB-X si a compilatorului xc8. Se downloadeaza variantele necesare de la uChip si se instaleaza.

2. se descarca si se dezarhiveaza proiectul din posturile de mai sus. Dezactivarea sa fie cat mai aproape de "radacina" (in Windows cat mai aproape de c:) si fara spatii/caractere speciale/diacritice in nume (xc8 are probleme cu ele). Asa cum e arhivat, la dezarhivare numele va fi comandaISD25xx.X.

3. se lanseaza mplabx. Ar trebui sa detecteze automat compilatorul xc8. Daca nu, mai vorbim.

4. Se deschide proiectul pregatit la 2. : File -> OpenProject.

5. Se compileaza proiectul cu ajutorul butonului ciocan. Daca avem un programator suportat (proiectul e configurat pentru pickit2, dar se poate reconfigura), putem compila si programa intr-un pas cu sageata verde in jos (care apasa un CI) :). Daca n-avem un programator suportat, hex-ul se gaseste in
comandaISD25xx.X/dist/default/production/comandaISD25xx.X.production.hex

6. Daca pasii 1-5 functioneaza, toata lumea poate adapta codul la necesitatile proprii si recompila. Daca, de exemplu, vrem sa schimbam logica pinului RA2 (eu i-am zis ZERO_USA_DESCHISA, ca sa-mi fie mai usor mai tarziu sa ma prind ce e cu el) - in loc de 0 sa-l facem 1 si in loc de 1 sa-l facem 0, schimbam toate locurile in care ii dam valori din valoarea veche in valoarea noua:
- linia 51
PORTA = 0x04; //RA2 = 1 devine
PORTA = 0x00; //RA2 = 0
- linia 68
ZERO_USA_DESCHISA = 0; //RA2=0 devine
ZERO_USA_DESCHISA = 1; //RA2=1
- linia 84
ZERO_USA_DESCHISA = 1; //RA2 = 1 devine
ZERO_USA_DESCHISA = 0; //RA2 = 0

Logic ar fi sa schimbam si ZERO_USA_DESCHISA in UNU_USA_DESCHISA, dar...

Spor,
Liviu

Editat de Liviu M
Link spre comentariu

Am descoperit ca desi am postat codul, lipsesc instructiunile de folosire, asa ca:

 

 

Spor,

Liviu

 

 

Buna treaba, am descarcat cele necesare si..... la treaba!

 

Revin cu detalii!

Multumesc Liviu.

Editat de niculae
Link spre comentariu

Am descoperit ca desi am postat codul, lipsesc instructiunile de folosire, asa ca:

1. proiectul e facut cu ajutorul IDE-ului MPLAB-X si a compilatorului xc8. Se downloadeaza variantele necesare de la uChip si se instaleaza.

 

2. se descarca si se dezarhiveaza proiectul din posturile de mai sus. Dezactivarea sa fie cat mai aproape de "radacina" (in Windows cat mai aproape de c:) si fara spatii/caractere speciale/diacritice in nume (xc8 are probleme cu ele). Asa cum e arhivat, la dezarhivare numele va fi comandaISD25xx.X.

 

3. se lanseaza mplabx. Ar trebui sa detecteze automat compilatorul xc8. Daca nu, mai vorbim.

 

4. Se deschide proiectul pregatit la 2. : File -> OpenProject.

 

5. Se compileaza proiectul cu ajutorul butonului ciocan. Daca avem un programator suportat (proiectul e configurat pentru pickit2, dar se poate reconfigura), putem compila si programa intr-un pas cu sageata verde in jos (care apasa un CI) :). Daca n-avem un programator suportat, hex-ul se gaseste in

comandaISD25xx.X/dist/default/production/comandaISD25xx.X.production.hex

 

6. Daca pasii 1-5 functioneaza, toata lumea poate adapta codul la necesitatile proprii si recompila. Daca, de exemplu, vrem sa schimbam logica pinului RA2 (eu i-am zis ZERO_USA_DESCHISA, ca sa-mi fie mai usor mai tarziu sa ma prind ce e cu el) - in loc de 0 sa-l facem 1 si in loc de 1 sa-l facem 0, schimbam toate locurile in care ii dam valori din valoarea veche in valoarea noua:

- linia 51

PORTA = 0x04; //RA2 = 1 devine

PORTA = 0x00; //RA2 = 0

- linia 68

ZERO_USA_DESCHISA = 0; //RA2=0 devine

ZERO_USA_DESCHISA = 1; //RA2=1

- linia 84

ZERO_USA_DESCHISA = 1; //RA2 = 1 devine

ZERO_USA_DESCHISA = 0; //RA2 = 0

 

Logic ar fi sa schimbam si ZERO_USA_DESCHISA in UNU_USA_DESCHISA, dar...

 

Spor,

Liviu

 

 

 

Salutare,

 

Am urmat pasii descrisi mai sus si totul este perfect functional ! sincer nu credeam ca am sa ma descurc, facand asta pt prima data dar, tinand cont de buna indrumare oferita era si pacat sa nu iasa!

Iti multumesc pt tot si nu in ultimul rand pt rabdarea avuta pt cei ca mine, novice!

De acum incepe sa ma tenteze sa invat si sa experimentez mai mult, pt ca sunt multe lucruri interesante in lumea microcontrolerelor!

 

Toata stima !

Link spre comentariu

 

totul este perfect functional !

Asta inseamna ca softurile (mplabx si xc8) functioneaza, sau ca ai modificat proiectul si face ce-ti trebuie?

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