امتیاز موضوع:
  • 2 رأی - میانگین امتیازات: 1
  • 1
  • 2
  • 3
  • 4
  • 5
ولتمتر با سون سگمنت 4تایی
نویسنده پیام
svb93 آفلاین
كاربر تک ستاره
*

ارسال‌ها: 31
موضوع‌ها: 10
تاریخ عضویت: اسفند ۱۳۸۹

تشکرها : 19
( 20 تشکر در 11 ارسال )
ارسال: #1
ولتمتر با سون سگمنت 4تایی
سلام دوستان
من یک ولتمتر 0 تا 15 ولت نیاز دارم
این ولتمتر ساختم ولی نمی دونم کجاش مشکل داره که اصلا درست کار نمی کنه و فقط یکی از سون سگمنت ها روشن میشه و عدد 8 نشون میده (بصورت چشمک زن)
چندین بار تست کردم ولی ...
لینک :
http://www.avrprojects.info/avr-projects...voltmeter/
برنامه :
کد php:
$regfile "m8def.dat"
$crystal 4000000

Config Timer0 
Timer Prescale 8

Dim Timecount 
As Word Timecount 0
Config Adc 
Single Prescaler Auto Reference Internal


Enable Interrupts
Enable Ovf0
On Ovf0 Overflow_isr
Tcnt0 
= &H19

Dim I 
As Byte
Config Pinc.5 
Input

Config Portd 
Output
Portd 
0
Config Pinb.0 
Output
Portb.0 
0
Config Pinb.1 
Output
Portb.1 
0
Config Pinb.2 
Output
Portb.2 
0
Config Pinb.3 
Output
Portb.3 
0

Dim L
(10) As Byte
 
' L(1) = &B11111100

L(1) = &B11111001
L(2) = &B10100100
L(3) = &B10110000
L(4) = &B10011001
L(5) = &B10010010
L(6) = &B10000010
L(7) = &B11111000
L(8) = &B10000000
L(9) = &B10010000
L(10) = &B11000000
Dim Le(10) As Byte
Le(1) = &B01111001
Le(2) = &B00100100
Le(3) = &B00110000
Le(4) = &B00011001
Le(5) = &B00010010
Le(6) = &B00000010
Le(7) = &B01111000
Le(8) = &B00000000
Le(9) = &B00010000
Le(10) = &B01000000
Dim Channel As Byte
Dim W As Long
Dim Ss As Byte
Dim Ad As Long
Dim S(4) As String * 1
Dim Sa As String * 5

Dim Sl(4) As Byte                                           '
Show variables

Do

'------------------------------------ Battery voltage detection
W = 0
Ss = 1
Ad = 0
For Ss = 1 To 20
Start Adc
Channel = 5
W = Getadc(channel)
Stop Adc
Ad = Ad + W
Next Ss
Ad = Ad / 20
Ad = Ad * 2560
Ad = Ad / 1023
Ad = Ad * 10



If Ad < 1000 Then
Sa = Str(ad)
Sa = Format(sa , "000")

S(1) = Mid(sa , 3 , 1)
S(2) = Mid(sa , 2 , 1)
S(3) = Mid(sa , 1 , 1)
'
(4) = Mid (sa11)
Val(s(1))
If 
0 Then
Sl
(1) = L(10)
Else
Sl(1) = L(i)
End If

Val(s(2))
If 
0 Then
Sl
(2) = L(10)
Else
Sl(2) = L(i)
End If

Val(s(3))
If 
0 Then
Sl
(3) = L(10)
Else
Sl(3) = L(i)
End If


Sl(4) = Le(10)

End If



If 
Ad >= 1000 And Ad 10000 Then
Sa 
Str(ad)
Sa Format(sa "0000")

S(1) = Mid(sa 1)
S(2) = Mid(sa 1)
S(3) = Mid(sa 1)
S(4) = Mid(sa 1)
Val(s(1))
If 
0 Then
Sl
(1) = L(10)
Else
Sl(1) = L(i)
End If

Val(s(2))
If 
0 Then
Sl
(2) = L(10)
Else
Sl(2) = L(i)
End If

Val(s(3))
If 
0 Then
Sl
(3) = L(10)
Else
Sl(3) = L(i)
End If

Val(s(4))
If 
0 Then
Sl
(4) = Le(10)
Else
Sl(4) = Le(i)
End If

End If

If 
Ad >= 10000 And Ad 100000 Then
Sa 
Str(ad)
Sa Format(sa "0000")

S(1) = Mid(sa 1)
S(2) = Mid(sa 1)
S(3) = Mid(sa 1)
S(4) = Mid(sa 1)
Val(s(1))
If 
0 Then
Sl
(1) = L(10)
Else
Sl(1) = L(i)
End If

Val(s(2))
If 
0 Then
Sl
(2) = L(10)
Else
Sl(2) = L(i)
End If

Val(s(3))
If 
0 Then
Sl
(3) = Le(10)
Else
Sl(3) = Le(i)
End If

Val(s(4))
If 
0 Then
Sl
(4) = L(10)
Else
Sl(4) = L(i)
End If
End If

Waitms 200
'------------------------------------
Loop

End




Overflow_isr:

Tcnt0 = &H19
Incr Timecount
If Timecount = 15 Then                                      '
1 m 502 1s 4m 2008 1s
Timecount 
0
Portb.0 
1
Portd 
Sl(1)
Waitms 5
Portb.0 
0
Portb.1 
1
Portd 
Sl(2)
Waitms 5
Portb.0 
0
Portb.1 
0
Portb.2 
1
Portd 
Sl(3)
Waitms 5
Portb.0 
0
Portb.1 
0
Portb.2 
0
Portb.3 
1
Portd 
Sl(4)
Waitms 5
Portb.3 
0

End 
If
Return
'------------------------------------------------- -------------------------------- 


ولی وقتی این برنامه پروگرام می کنم درست جواب میده و فقط مشکلش اینه که سون سگمنتش 3 تایی هست و تا 5 ولت اندازه میگیره ممنون میشم کمک کنید این مدار به سون سگمنت 4تایی و محدوده اندازه گیری بالاتری افزایش بدم

لینک در ایرانویج :
http://www.iranled.com/forum/thread-2471...#pid175308

برنامه :
کد php:
$regfile "m8def.dat"
$crystal 500000
Config Adc 
Single Prescaler Auto Reference Off
Config Portb 
Output
Config Portd 
Output
Dim A 
As Word
Dim B 
As Long
Dim C 
As Word
Dim D 
As Word
Dim E 
As Word
Dim F 
As Byte
Dim G 
As Byte
Dim I 
As Byte
Dim J 
As Word
Declare Sub Yekan
Y Alias Portb.3
D0 Alias Portb.2
S Alias Portb.1
Enable Adc
Start Adc
'*******************************************************************************
Do
A = Getadc(0)
B = A * 4887
B = B / 10000
'
*******************************************************************************
Call Yekan
Portb.4 
1
1
Portd 
F
Waitms 4
0
D0 
1
Portd 
G
Waitms 4
D0 
0
1
Portb.4 
0
Portd 
I
Waitms 4
0
Loop
End                                                         
'end program
'
*******************************************************************************
Hadi:
Data &B1000000 , &B1111001 , &B0100100 , &B0110000
Data 
&B0011001 , &B0010010 , &B0000010 , &B1111000
Data 
&B0000000 , &B0010000
'*******************************************************************************
Sub Yekan
C = B / 10
C = C * 10
C = B - C
F = C
F = Lookup(f , Hadi)
D = B / 100
D = D * 100
D = B - D
D = D / 10
G = D
G = Lookup(g , Hadi)
E = B / 100
I = E
I = Lookup(i , Hadi)
End Sub 

شماتیک :
[تصویر:  86119580509765409189.jpg]
(آخرین ویرایش در این ارسال: ۱۳-اردیبهشت-۱۳۹۳, ۱۳:۵۶:۵۸، توسط svb93.)
۱۳-اردیبهشت-۱۳۹۳, ۱۳:۵۱:۲۰
ارسال‌ها
پاسخ
aKaReZa75 آفلاین
حسین باقری
*****

ارسال‌ها: 1,488
موضوع‌ها: 23
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 4898
( 4581 تشکر در 1478 ارسال )
ارسال: #2
RE: ولتمتر با سون سگمنت 4تایی
سلام دوست عزیز.
برنامه که داری خیلی شلوغه ، من خودم نهایتاً تا ساعت 12 امشب این برنامه رو برات مینویسم :)
بعدشم واسه اینیکه بتونی محدوده ی اندازه گیری رو افزایش بدی باید سخت افزار رو هم علاوه بر نرم افزار تغییر بدی :)

راستی تو این عکسی که گذاشتی یکی از سون سگمنت ها پایه اش وصل نیستا ، اسه همین خاموشه

سلام، من حسین باقری هستم، طراح الکترونیک و برنامه نویس میکروکنترلر.
توی کانال یوتیوب من قراراه طراحی انواع بردهای الکترونیکی مثل بردهای تک لایه، دو لایه یا به طور کلی بردهای چند لایه، بردهای مبتنی بر میکروکنترلر، بردهای صنعتی، بردهای الکترونیک قدرت و بردهای فرکانس بالارو یاد بگیریم.
همینطور کدنویسی انواع میکروکنترلرهای 8 بینی مثل میکروکنترلرهای خانواده AVR-STM8، میکروکنترلرهای میبتی بر معماری ARM مثل STM32 و پردازنده های مخصوص اینترنت اشیاء مثل ESP32-ESP8266 و DSPها یاد میگیریم.
در کنار مباحث گفت شده، اصول اندازه الکترونیکی، نحوه صحیح مونتاژ و عیب‌یابی بردهای الکترونیکی، شبیه سازی مدارات مختلف رو هم یاد میگیریم.
اگر علاقه مند به یادگیری موضوعات عنوان شده هستید، به کانال یوتیوب من با آدرس زیر سر بزنید.
https://www.youtube.com/@aKaReZa75
(آخرین ویرایش در این ارسال: ۲۵-اردیبهشت-۱۳۹۳, ۰۸:۳۹:۱۲، توسط aKaReZa75.)
۲۵-اردیبهشت-۱۳۹۳, ۰۸:۳۵:۳۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : behzady
aKaReZa75 آفلاین
حسین باقری
*****

ارسال‌ها: 1,488
موضوع‌ها: 23
تاریخ عضویت: مرداد ۱۳۹۱

تشکرها : 4898
( 4581 تشکر در 1478 ارسال )
ارسال: #3
RE: ولتمتر با سون سگمنت 4تایی
خدمت داداش گلم :)
یه ولت متر 0 تا 15 ولت DC ، با سون سگمنت 4 تایی با 2 رقم اعشار :)


فایل‌(های) پیوست شده
.zip   svb93_lotmetr_15v_7seg_4.zip (اندازه: 50.91 KB / تعداد دفعات دریافت: 69)

سلام، من حسین باقری هستم، طراح الکترونیک و برنامه نویس میکروکنترلر.
توی کانال یوتیوب من قراراه طراحی انواع بردهای الکترونیکی مثل بردهای تک لایه، دو لایه یا به طور کلی بردهای چند لایه، بردهای مبتنی بر میکروکنترلر، بردهای صنعتی، بردهای الکترونیک قدرت و بردهای فرکانس بالارو یاد بگیریم.
همینطور کدنویسی انواع میکروکنترلرهای 8 بینی مثل میکروکنترلرهای خانواده AVR-STM8، میکروکنترلرهای میبتی بر معماری ARM مثل STM32 و پردازنده های مخصوص اینترنت اشیاء مثل ESP32-ESP8266 و DSPها یاد میگیریم.
در کنار مباحث گفت شده، اصول اندازه الکترونیکی، نحوه صحیح مونتاژ و عیب‌یابی بردهای الکترونیکی، شبیه سازی مدارات مختلف رو هم یاد میگیریم.
اگر علاقه مند به یادگیری موضوعات عنوان شده هستید، به کانال یوتیوب من با آدرس زیر سر بزنید.
https://www.youtube.com/@aKaReZa75
(آخرین ویرایش در این ارسال: ۲۵-اردیبهشت-۱۳۹۳, ۱۳:۵۷:۰۲، توسط aKaReZa75.)
۲۵-اردیبهشت-۱۳۹۳, ۱۳:۵۵:۰۱
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : behzady, babyy, hadikh73, رسول, hadi0095


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  تبدیل اعداد نشون داده شده روی سون سگمنت به عدد saeedsmk 2 1,761 ۰۶-اردیبهشت-۱۳۹۷, ۲۱:۵۹:۳۵
آخرین ارسال: 1نفر
  ولتمتر با AVR و بسکام electroavr 163 141,219 ۰۹-شهریور-۱۳۹۵, ۰۹:۱۹:۲۴
آخرین ارسال: alimogmov
Sad [سوال] شمارنده ی دورقمی با سون سگمنت cloner006 4 3,847 ۳۰-دى-۱۳۹۴, ۰۴:۲۴:۱۰
آخرین ارسال: omid_phoenix
  [سوال] شمارش معکوس سه رقمی سون سگمنت مالتی پلکس amiri630 0 2,853 ۱۷-آبان-۱۳۹۴, ۱۵:۳۶:۰۶
آخرین ارسال: amiri630
  کمک در مورد نمایش کلمه روی سون سگمنت سه تایی اند مشترک amiri630 1 2,751 ۱۶-آبان-۱۳۹۴, ۱۰:۱۲:۲۴
آخرین ارسال: hadikh73
  ولتمتر newdesign 10 8,599 ۱۴-تير-۱۳۹۴, ۰۱:۱۱:۰۲
آخرین ارسال: alihes
  شمارنده دو رقمی با سون سگمنت زبان C و AVR hosseinip 12 15,488 ۲۳-اردیبهشت-۱۳۹۴, ۱۱:۰۹:۲۶
آخرین ارسال: hosseinip
  ساخت ولتمتر ac با avr korosh_majd 10 16,187 ۱۲-اردیبهشت-۱۳۹۴, ۰۱:۳۴:۰۵
آخرین ارسال: hamid2916
Shy ولت سنج 5 ولت با سون سگمنت kamran0080 37 24,567 ۲۵-بهمن-۱۳۹۳, ۰۰:۵۶:۴۶
آخرین ارسال: omid_phoenix
  سون سگمنت دو رقمي با كليد puria.69 1 2,259 ۱۸-بهمن-۱۳۹۲, ۱۱:۴۰:۲۷
آخرین ارسال: Ambassador

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS