Επιστροφή στο Forum : Μέτρηση Ταχυτήτων
γειά σας, είμαι αρκετώ καιρό κοντά σας, αλλά γράφω για πρώτη φορά. το κύκλωμα που θέλω να φτιάξω είναι απλό αλλα έχω μερικές απορίες.
θέλω να φτίαξω ένα μετρητή με led (6) με push button, όσες και η ταχύτητες της μηχανής μου, δηλαδή όταν θα πατάω τον επιλογέα ταχυτήτων o διακόπτης που θα είναι προσαρμοσμένος (ακόμα δεν ξέρω πως) θα ανάβει και ένα led.
1) αυτό μπορώ να το κάνω χρησιμοποιώντας το 4040β?
2)στο κατέβασμα τον ταχυτήτων με χρήση ενός άλλου διακόπτη πως θα σβήνουν τα led?
ελπίζω να έγινα κατανοητός. Ευχαριστώ
εχω να σου προτινω κατι αλλο... θελεις οποσδηποτε λεντ η μηπως θα σου αρεσε και ενα 7segment display? πες ποιο σου αρεσει ποιο πολυ και βλεπουμε.. αλλα λογο του οτι θα χρειαστει να "καθαρισεις" τους παλμους απο τα διακοπτακια που θα εχεις μπορω αν θελεις να σου προγραμματισω ενα 16f84a και να στο στειλω... ετσι απλα εσυ το μονο που θα χρειαστεις ειναι να κανεις τις συνδεσεις.. και ολο αυτο μονο με ενα ολοκληρομενο.. αλλιως θελεις ενα για να βγαλεις καθαρο παλμο ενα για τον μετρητη και ενα ακομα που θα μετατρεπει τα σηματα του μετρητη ή σε 6 λεντ ή σε 7segment...εννοειτε οτι δεν θελω λεφτα...
φιλικα πανος
γιατί πρέπει να καθαρίζει ο παλμός για τα led? θέλω να πω πως είναι ένα απλό ηλεκτρικό σήμα που σε κάθε πάτημα του button θα ανάβει το led. τώρα για να το λές κάτι θα ξέρεις. όσο αφορά το 16f84a, αν δεν θα σου ήταν κόπος θα ήθελα να μου το στήλεις, αλλά μπορείς να μου πείς στο ολοκληρωμένο που θα στήλεις εγώ θα συνδέσω το 7segment και τον διακόπτη σωστα? θα σου στήλω σε Pm τα στοιχεία μου. είσαι παλικάρι, ευχαριστώ
και κάτι ακόμα δες αυτό το κύκλωμα. σε αυτό σκευτόμουνα να βασιστώ
οταν ειπα να "καθαρισει" γιατι οσο και αν το βλεπει το ανθρωπινο ματι οτι οτι ο διακωπτης δινει σημα οταν τον πατας στην πραγματικοτιτα δινει καποια παρασητα μεχρι να αλλαξει απο 0 τα οποια ομως δεν εντοπιζει το ματι μας αλλα τα εντοπιζουν τα ολοκληρωμενα με αποτελεσμα να μετραει παραπανω απο οτι πρεπει...
σημερα το βραδυ θα ασχολειθω με το προγραμματακι και αν μπορεσω θα στο στειλω αυτο... θα εχω μεσα και σχεδιαγραμμα με το τις σινδεσεις...
Ωραίος ... Ο Nemmesis...! 8)
και κάτι ακόμα δες αυτό το κύκλωμα. σε αυτό σκευτόμουνα να βασιστώ
το κυκλωμα που λες δεν σου κανει γιατι δεν ειναι up/down counter... ειναι μονο up... δλδ θα σου δειχνει σωστα οταν ανεβαζεις ταχυτητα αλλα οταν κατεβαζεις τι θα κανει? αυτο μπορει μονο να προσθετει και να μηδενιζει... αλλα μην αγχονεσε... συντομα θα εχεις γραμμα :)... εσυ απλα θα χρειαστει να κανεις μια τροφοδοσια 5v για το κυκλωμα...
Ωραίος ... Ο Nemmesis...! 8) :)
ο κωδικας ειναι ετοιμος αλλα τελικα το εκανα σε 16f88 για να μην χρειαζεσε κρυσταλο... το προγραμμα μπορει να δουλεψει και 7λεντ(κενο+6ταχυτητες) και 7segment display αναλογα με το αν εχεις στο + ή - ενα ποδαρακι του πικ... μαλλων δεν θα μπορεσω να στο στειλω αυριο ομως λογο δουλειας... θα ποσταρω και το κυκλωματακι ολο με τις συνδεσεις συντομα...
ps. ακομη δεν εχω ιντερνετ σπιτι :(
και κάτι ακόμα δες αυτό το κύκλωμα. σε αυτό σκευτόμουνα να βασιστώ
ποιο ολοκληρωμένο είναι αυτό?
ο κωδικας ειναι ετοιμος αλλα τελικα το εκανα σε 16f88 για να μην χρειαζεσε κρυσταλο... το προγραμμα μπορει να δουλεψει και 7λεντ(κενο+6ταχυτητες) και 7segment display αναλογα με το αν εχεις στο + ή - ενα ποδαρακι του πικ... μαλλων δεν θα μπορεσω να στο στειλω αυριο ομως λογο δουλειας... θα ποσταρω και το κυκλωματακι ολο με τις συνδεσεις συντομα...
ps. ακομη δεν εχω ιντερνετ σπιτι :(
Ποσταρε τα ολα μαζι αδερφε σε ενα zip αν θελεις
Ευχαριστω κι εγω.
θα τα ετοιμασω ολα και θα τα ανεβασω...
προς το παρων δειτε τα βιντεο:)
o πικ να δουλευει τα 7 λεντ...
http://www.youtube.com/watch?v=z7t5gFNSwik
και το 7segment
http://www.youtube.com/watch?v=ki8DSFHfRc8
πολύ καλό φίλε, μπράβο !
αν θέλεις πόσταρε τον κώδικα να σε καμαρώσουμε. :D
πολύ καλό φίλε, μπράβο !
αν θέλεις πόσταρε τον κώδικα να σε καμαρώσουμε. :D
program dred
dim i as byte
dim ii as byte
dim oldstate1 as byte
dim oldstate2 as byte
main:
osccon = %01110000
INTCON = 0
ANSEL = 0
trisb=%10000000
trisa=%01100000
porta = 0
portb = 0
i = 0
ii = 0
portb = 0
delay_ms(100)
PORTB = %11111110
delay_ms(100)
PORTB = %11111100
delay_ms(100)
PORTB = %11111000
delay_ms(100)
PORTB = %11110000
delay_ms(100)
PORTB = %11100000
delay_ms(100)
PORTB = %11000000
delay_ms(100)
PORTB = %10000000
delay_ms(100)
PORTB = %10000001
delay_ms(100)
PORTB = %10000011
delay_ms(100)
PORTB = %10000111
delay_ms(100)
PORTB = %10001111
delay_ms(100)
PORTB = %10011111
delay_ms(100)
PORTB = %10111111
delay_ms(100)
PORTB = %11111111
delay_ms(100)
PORTB = %00000000
delay_ms(100)
PORTB = %11111111
delay_ms(100)
PORTB = %00000000
delay_ms(100)
PORTB = %11111111
delay_ms(500)
dred:
if Button(PORTB, 7, 1, 1) then
II = 255
ELSE
ii = 0
END IF
if Button(PORTa, 6, 10, 1) then 'koumpi down
oldstate1 = 255
end if
if oldstate1 and Button(PORTa, 6, 10, 0) then
oldstate1 = 0
goto up
end if
if Button(PORTa, 7, 10, 1) then 'koumpi down
oldstate2 = 255
end if
if oldstate2 and Button(PORTa, 7, 10, 0) then
oldstate2 = 0
goto down
end if
if ii = 255 then
select case i
case 0
PORTB = %11111110
case 1
PORTB = %11111101
case 2
PORTB = %11111011
case 3
PORTB = %11110111
case 4
PORTB = %11101111
case 5
PORTB = %11011111
case 6
PORTB = %10111111
end select
else
select case i
case 0
PORTB = $C0
case 1
PORTB = $F9
case 2
PORTB = $A4
case 3
PORTB = $B0
case 4
PORTB = $99
case 5
PORTB = $92
case 6
PORTB = $82
end select
end if
GOTO DRED
up:
if i <6> 0 then
i=i-1
else
i=6
end if
goto dred
end.
ο κωδικας οπως βλεπετε ειναι πολυ βιαστηκα γραμμενος αλλα δουλευει... :P
Μάλλον θα ξαναμπώ στο τρυπάκι...
Πολύ Ωραίος!!!!!!!!!!!!!!!
Φίλε Nemmesis έχω κάποιες απορίες...
if Button(PORTa, 7, 10, 1) then
εδώ υπάρχει ένα πρόβλημα , το πιν 7 της πόρτας Α το έχεις
καθορίσει σαν έξοδο στην αρχή τού προγράμματος.
up:
if i <6> 0 then
i=i-1
else
i=6
end if
goto dred
εδώ δεν καταλαβαίνω τι σημαίνει η πρώτη γραμμή (if i <6> 0 then)
και τέλος , παρατηρώ ότι δεν υπάρχει ρουτίνα down
μπορείς να μου εξηγήσεις αυτές τις απορίες ?
τα λέμε ...
φίλε nemmesis βρήκες καθόλου χρόνο να μου το στήλεις?
παιδια κατι εγινε με τα login μου και δεν εδειξε οτι υπηρχαν νεα μνμτ εδω... τωρα τα ειδα...
@ DT200.. λαθος μου.. οταν γραφω καποιο προγραμμα συνηθως αποθηκευω την προοδο του προγραμματος σε διαφορετικα αρχεια ετσι ωστε να μπορω ευκολα να παω πισω.. και ετσι μπρερδευτικα και αυτο που ανεβασα δεν ηταν ολοκληρωμενο.. και σωστο.. το προγραμμα ειναι αυτο..
program dred_release
dim i as byte
dim ii as byte
dim oldstate1 as byte
dim oldstate2 as byte
main:
osccon = %01110000
INTCON = 0
ANSEL = 0
trisb=%10000000
trisa=%11000000
porta = 0
portb = 0
i = 0
ii = 0
portb = 0
delay_ms(100)
PORTB = %11111110
delay_ms(100)
PORTB = %11111100
delay_ms(100)
PORTB = %11111000
delay_ms(100)
PORTB = %11110000
delay_ms(100)
PORTB = %11100000
delay_ms(100)
PORTB = %11000000
delay_ms(100)
PORTB = %10000000
delay_ms(100)
PORTB = %10000001
delay_ms(100)
PORTB = %10000011
delay_ms(100)
PORTB = %10000111
delay_ms(100)
PORTB = %10001111
delay_ms(100)
PORTB = %10011111
delay_ms(100)
PORTB = %10111111
delay_ms(100)
PORTB = %11111111
delay_ms(100)
PORTB = %00000000
delay_ms(100)
PORTB = %11111111
delay_ms(100)
PORTB = %00000000
delay_ms(100)
PORTB = %11111111
delay_ms(500)
dred:
if Button(PORTB, 7, 1, 1) then
II = 255
ELSE
ii = 0
END IF
if Button(PORTa, 6, 10, 1) then 'koumpi select
oldstate1 = 255
end if
if oldstate1 and Button(PORTa, 6, 10, 0) then
oldstate1 = 0
goto up
end if
if Button(PORTa, 7, 10, 1) then 'koumpi menu
oldstate2 = 255
end if
if oldstate2 and Button(PORTa, 7, 10, 0) then
oldstate2 = 0
goto down
end if
if ii = 255 then
select case i
case 0
PORTB = %11111110
case 1
PORTB = %11111101
case 2
PORTB = %11111011
case 3
PORTB = %11110111
case 4
PORTB = %11101111
case 5
PORTB = %11011111
case 6
PORTB = %10111111
end select
else
select case i
case 0
PORTB = $C0
case 1
PORTB = $F9
case 2
PORTB = $A4
case 3
PORTB = $B0
case 4
PORTB = $99
case 5
PORTB = $92
case 6
PORTB = $82
end select
end if
GOTO DRED
up:
if i <6> 0 then
i=i-1
else
i=6
end if
goto dred
down:
if i > 0 then
i=i-1
else
i=6
end if
goto dred
end.
@ MIXAGELOS τον φακελο τον εχω δωσει εδω και μερες να τον ταχυδρομισει ενας φιλος μου οποτε μαλλον θα πρεπει να των περιμενεις απο δευτερα...
φίλε Nemmesis τι σημαίνει αυτό και τι κάνει ?
if i <6> 0 then
φίλε Nemmesis τι σημαίνει αυτό και τι κάνει ?
if i <6> 0 then
ελα ντε? τι ειναι??
κανονικα ειναι
if i <0 then
ελπιζω να ειναι μην ειναι τπτ αλλο... αυτο εγινε γιατι εξηγουσα πως δουλευει ο κωδικας σε εναν φιλο μου που θελει να ασχολιθει...
και ολα τα αρχεια για την microbasic...
http://rapidshare.com/files/119372242/endhjh_taxythtas_internal_crustal.rar.html
οχι ακόμα. ίσως φταίνε τα ΕΛΤΑ
Στην δικια μου μηχανη υπαρχει Gear Possition Sensor το οποιο αναλογατην σχεση που εχεις σου δινει και μια ταση.
Θα χρησιμοποιησω αυτα για την κατασκευη του ενδικτη:
1 579-PIC16F506-I/P
1 595-LM324D
7 299-270-RC
1 299-1.5K-RC
1 299-100K-RC
1 696-LDS-C516RI
1 512-LM7805CT
1 594-K104K15X7RF53L2
Δεν εχω και πολλες γνωσεις απο ηλεκτρονικα. Κατασκευαστηκα δεν εχω προβλημα αλλα στον προγραμματισμο μεγαλο.
Μπορειτε να μου δοσετε καποιες πληροφορειες για τον προγρμματισμο του pic.
παιδια εχω προβλημα
σχετικα με το κωγικα κανω copy paste sti macrobasic και οταν παω να κανω hex η φραση if i <6> 0 then μου βγαζει error
Καμια λυση
ολο το κωδικο δε μπορω να το μετατρεψω σε hex
Πιστεύω ότι το κομμάτι:
up:
if i <6> 0 then
i=i-1
else
i=6
end if
goto dred
down:
if i > 0 then
i=i-1
else
i=6
end if
goto dred
πρέπει να αντικατασταθεί από το κομμάτι:
up:
if i < 6 then
i=i+1
else
i=6
end if
goto dred
down:
if i > 0 then
i=i-1
else
i=0
end if
goto dred
κανω την αντικατασταση και κατω στο messege για την πετατρωπη μου βγαζει 145:1 E-4 Syntax error: Expected '.' but '' found 18.pbas
μηνυμα στην 145 σειρα που δεν εχω γραψει κατι
Αν το τελικό end είναι στη γραμμή 144, τότε σου λέει ότι δεν έβαλες τελεία στο end.
το εκανα μετατρωπει αλλα οταν φτιαχνω το κυκλωμα δε μου δουλεει 5v R=1kΩ
μου δειχνει συνεχεια 8 και οταν παταω up μου σβηνει το 7segment
παιδια ειναι συγουρα το pic1688 γιατι στο programmer μου λεει οτι δεν υποστηριζει το hex ayto to pic
αν μπορητε καντε το μου σε hex
πρεπεο να φτεει το προγραμα του programmer γιατι οταν παω να το φορτωσο μου λεει να ρυθμισω τα fuses ο programmer μου το συστησε ο θανος10
Stergios_[.gr]
16-10-09, 13:55
ΩΡΑΙΟΣ Nemmesis!! :thumbup:
το εκανα μετατρωπει αλλα οταν φτιαχνω το κυκλωμα δε μου δουλεει ταση δινο 5v και R=1kΩ και
μου δειχνει συνεχεια 8 και οταν παταω up or down μου σβηνει το 7segment
καμια βοηθεια
χμμ.. τωρα μολις ειδα οτι εχει ξανανοιξε το θεμα... θα ψαξω να βρω το hex να σας το ανεβασω...
Stergios_[.gr]
19-10-09, 00:37
χμμ.. τωρα μολις ειδα οτι εχει ξανανοιξε το θεμα... θα ψαξω να βρω το hex να σας το ανεβασω...
Ευχαριστούμε! θα το θέλαμε πολύ!
Ρε παιδια οι πιο πολλες μηχανες εχουν την πρωτη ταχυτητα κατω και τις υπολοιπες επανω. Επισης η νεκρα ειναι ενδιαμεσα πρωτης και δευτερας. Σε αυτη την περιπτωση τι γινεται?
Ρε παιδια οι πιο πολλες μηχανες εχουν την πρωτη ταχυτητα κατω και τις υπολοιπες επανω. Επισης η νεκρα ειναι ενδιαμεσα πρωτης και δευτερας. Σε αυτη την περιπτωση τι γινεται?
Kαλα, εκτος απο αυτο (που ειναι και το προφανες λαθος της κατασκευης)
τι γινετε με τις "ψευτοαλλαγες", οπου ανεβαζεις τον λεβγιε, αλλα η ταχυτητα δεν εχει μπει και θελει και δευτερη.
΄Η στην περιπτωση που εχεις 6 και ξεχαστεις και πας να ανεβασεις σε "εβδομη"?
Γενικα, ωραιο το κυλωματακι και ο κωδικας, αλλα δεν θα δουλεψει ποτε με αυτον τον τροπο.
Αυτο που κανουν τα περισσοτερα universal Gear Indicators ειναι να μετρανε τις στροφες
του μοτερ και την ταχυτητα της μηχανης και με μια σταθερη σχεση (την "μαθαίνουν" αρχικα για καθε μηχανη)
υπολογιζουν την σχεση που πρεπει να υπαρχει στο κιβώτιο.
Βεβαια αυτο ολο τα κανει λιγο αργα στην ένδειξή τους και βεβαια οταν η μηχανη ειναι ακινητη δεν διχνουν τιποτα.
Powered by vBulletin® Version 4.2.5 Copyright © 2024 vBulletin Solutions Inc. All rights reserved.