PDA

View Full Version : میکرو و ماژول RFM12 فرکانس 915 مگا هرتز



singel
یک شنبه 25 مهر 1389, 08:17 صبح
سلام دوستان
من میخوام یه فرستنده گیرنده رادیویی (البته فعلا یه ریموت همراه گیرنده) درست کنم اما چیز زیاده در موردش نمی دونم توی اینترنت در مورد ماژول RFM12 فرکانس 915 مگا هرتز
مطلب دیدم اما نمی دونم چطوری ازش استفاده کنم
کار زیادی هم نمی خوام برام انجام بده فقط یک قطع و وصل ساده ، اگر دوستان زحمت بکشن و راهنمایی کنن ممنون میشم
البته با میکرو و برنامه بسکام:قلب:

alborz02
یک شنبه 25 مهر 1389, 17:32 عصر
سلام دوستان
من میخوام یه فرستنده گیرنده رادیویی (البته فعلا یه ریموت همراه گیرنده) درست کنم اما چیز زیاده در موردش نمی دونم توی اینترنت در مورد ماژول RFM12 فرکانس 915 مگا هرتز
مطلب دیدم اما نمی دونم چطوری ازش استفاده کنم
کار زیادی هم نمی خوام برام انجام بده فقط یک قطع و وصل ساده ، اگر دوستان زحمت بکشن و راهنمایی کنن ممنون میشم
البته با میکرو و برنامه بسکام:قلب:

سلام به دوستان

اگر برنامه نویسی با میکرو را بلد هستید می تونم کمکتون کنم.

در هر حال اطلاع بدید تا ببنیم چکار میشه کرد.

موفق باشید.

singel
دوشنبه 26 مهر 1389, 07:41 صبح
با بسکام تا 70 تا 80 درصد میتونم بگم بلدم
و چیز های ساده مثل روبات کوچیک و ماشین حساب و دماسنج و ... ساختم

alborz02
دوشنبه 26 مهر 1389, 11:33 صبح
سلام.
یه سئوال داشتم ، می دونید این ماژول ها در چه حالتی کار میکنه ؟

دیتا شیت RFM12 را از اینجا بگیرید و مطالعه کنید :
http://www.hoperf.com/upfile/RFM12.pdf

این صفحه را هم مطالعه کنید همراه با مثال بسکام هستش :
http://www.technofun.org/blog/2008/07/22/rmf12b-interfaced-to-an-atmel-avr-atmega88-running-bascom-code/

و همچنین این صفحه که یک نرم افزار محاسباتی ارائه داده:
http://www.technofun.org/blog/2009/01/24/rfm12-rfm12b-calculator/

البته امیدوارم سر در گم نشید !
به هر حال این صفحات را مطالعه کنید (البته اگر انگلیسی تون بد نباشه !) بعد اطلاع بدید تا ببینیم چه کار میشه کرد.

البته من خودم با یک ماژول rf که ارتباط سریال داشت کار کردم.
که خیلی متفاوت نیست.

اگه دوست داشته باشید در مورد کاری که کردم و در زمینه ی قفل رمزی بود می تونم براتون توضیح بدم.
موفق باشید.

alborz02
دوشنبه 26 مهر 1389, 11:36 صبح
قیمت این ماژول ها الان چقدر هست ؟

این پروژه را برای خودتون می خواید یا که تجاری هست ؟

singel
دوشنبه 26 مهر 1389, 13:53 عصر
از راهنمایی هایی که کردین تشکر فراوان میکنم


قیمت این ماژول ها الان چقدر هست ؟





ماژول RFM12 فرکانس 915 مگا هرتز (http://www.pardakht.ir/specialShoppingCart/Cart.cfm?ID=roboeq89&MP=31&ProdID=0501025) شناسه محصول : 0501025
ماژول فرستنده گیرنده
این کوچک ترین ماژول فرستنده و گیرنده موجود در بازار ایران است
که امکان بر قراری ارتباطی دو طرفه را می دهد
به این نکته توجه کنید که که یک عدد از این ماژول ها هم فرستنده و هم گیرنده است به طوری که با استفاده از دو عدد از آنها می توان دو ربات و یا میکرو و... را به هم متصل کرد .
فرکانس آن قابل تنظیم بود و می تواند بین 67 کیلو تا 400 کیلو هرتز تنظیم شود.
سرعت انتقال اطلاعات بسیار زیاد ( بیش از 115 کیلو بیت در ثانیه )
فاصله کاری بیش از 100 متر
ولتاژکاری 2.2 تا 5.4 ولت

قیمت: 38000 ریال






این پروژه را برای خودتون می خواید یا که تجاری هست ؟



برای ارائه به دانشگاه میخوام ، پروژه پایان دوره




البته من خودم با یک ماژول rf که ارتباط سریال داشت کار کردم.
که خیلی متفاوت نیست.

اگه دوست داشته باشید در مورد کاری که کردم و در زمینه ی قفل رمزی بود می تونم براتون توضیح بدم.


اگر اینکار را بکنید ممنون میشم

singel
دوشنبه 26 مهر 1389, 13:56 عصر
مطالبی هم که فرستاده بودید مطالعه میکنم و خبرش رو بهتون میدم
:تشویق:

alborz02
سه شنبه 27 مهر 1389, 02:16 صبح
از راهنمایی هایی که کردین تشکر فراوان میکنمخواهش می کنم کاری نکردم

اگر همه سعی کنیم چیزی که بلد هستیم را به کسانی که احتیاج دارند یاد بدهیم ، سرعت پیشرفت علم خیلی بیشتر خواهد بود...!

alborz02
سه شنبه 27 مهر 1389, 02:35 صبح
سلام به دوستان طالب علم !


برای ارائه به دانشگاه میخوام ، پروژه پایان دورهبه جهت اینکه گفتید برای پروژه ی دانشگاه می خواهید و خودم هم معمولا جواب آماده و مستقیم نمیدم و معتقدم که اگر شخص با صرف وقت و تفکر به مطلبی برسه اون مطلب را یاد میگیره و در ذهنش ماندگار میشه ؛ کد نویسی هاش را تا جایی که بشه نمیگم ، اما در مورد مراحلش و کارهایی که باید انجام بدید ، اگر بلد باشم راهنمایی تون می کنم !


نقل قول:
البته من خودم با یک ماژول rf که ارتباط سریال داشت کار کردم.
که خیلی متفاوت نیست.

اگه دوست داشته باشید در مورد کاری که کردم و در زمینه ی قفل رمزی بود می تونم براتون توضیح بدم.


اگر اینکار را بکنید ممنون میشم ان شاء الله بعد از مطالعه ی اون منابعی که معرفی شد.


قیمت: 38000 ریالیعنی 3800 تومن ؟!!
خیلی خوبه ، همین فردا میرم یه جفتش را میخرم که یادی از قدیما کنیم...
قدیما حرف از 14 هزار تومن به بالا بود !


به این نکته توجه کنید که یک عدد از این ماژول ها هم فرستنده و هم گیرنده است .این خیلی خوبه چون میشه ارتباط دو طرفه باشه ، اون ماژولی که من کار کردم فرستنده گیرنده بود.

alborz02
سه شنبه 27 مهر 1389, 02:39 صبح
تا حالا با ماژول های RF کار کردید ؟

و یک نقل قول از خودم:

یه سئوال داشتم ، می دونید این ماژول ها در چه حالتی کار میکنه ؟جواب ؟

singel
سه شنبه 27 مهر 1389, 08:00 صبح
تا حالا با ماژول های RF کار کردید ؟

نه هنوز با ماژول rf کار نکردم و نمیدونم چطوری کار میکنه
البته این صفحه هایی که فرستاده بودید خیلی جالبه هم سورس هست و هم مدار با این تفاسیر نباید کار زیاد سختی باشه
من 2 تا ماژول سفارش دادم احتمالا تا یکی دو روز دیگه دستم میرسه

singel
سه شنبه 27 مهر 1389, 08:03 صبح
این مدار که داخل سایت بود

singel
سه شنبه 27 مهر 1389, 08:06 صبح
راستی در مورد این نرم افزار محاسباتی که داخل سایت بود اطلاعاتی دارید ؟

alborz02
سه شنبه 27 مهر 1389, 11:19 صبح
راستی در مورد این نرم افزار محاسباتی که داخل سایت بود اطلاعاتی دارید ؟

نه اطلاعات خاصی ندارم ، ان شاء الله وقت بکنم مطالعه می کنم و اطلاع میدم.

به احتمال زیاد چون ماژول هایی هستند که در فرکانسهای مختلف و شرایط مختلفی کار می کنند ، این نرم افزار کاربرد داره...باز هم میگم باید اون صفحات را مطالعه کنید...البته این نرم افزار یک ابزار هستش و فکر می کنم به کارتون هم نیاد.

alborz02
سه شنبه 27 مهر 1389, 11:20 صبح
ضمنا برای اطلاعات بیشتر یه جستجویی در اینترنت در بین صفحات فارسی موجود بکنید که کم هم نیست ، مفید هستش.

singel
سه شنبه 27 مهر 1389, 23:35 عصر
سلام این عکس ماژول به همراه کمی اطلاعات



RFM 12 ها یکی از پرقدرت ترین محصولات شرکت hoperf است . البته ماژول های قدرتمند تر دیگری از شرکت های مختلف وجود دارد که rfm12 ها در مقایسه با آنها بسیار ضعیف میباشد .

RFM12 یک ماژول نیمه دوطرفه با قابلیت های جالب و کاربردی در پروژه های ابتدایی و نیمه حرفه ای است .
برد این ماژول در بهترین شرایط تست شده به 200 متر میرسد .
این ماژول را میتوان در فرکانس های مختلفی راه اندازی کرد و حتی می توان مقدار دقیق فرکانس کاری آن را مشخص کرد . برای مثال میتوان آن را در فرکانس 912.48 MHZ راه اندازی کرد .
پس این مزیت میتواند در امنیت اطلاعات ما نقش مهمی را ایفا کند .


برخی مواقع نیاز داریم تا برد فرستنده و گیرنده ما محدود باشد مثلا میخواهیم اطلاعات را تا فاصله 5 متری ارسال کنیم و در فواصل بیش از 5 متر اطلاعات دریافت نشود .
این ماژول توانایی آن را دارد تا توان خروجی خود را تضعیف کند .
مثلا برای محدود کردن برد تا 5 متر میتوانیم توان خروجی را تا -21 db کاهش دهیم .
پس این قابلیت نیز میتواند در برخی موارد امنیت اطلاعات ما را تضمین کند .


RFM12 ها دارای بیت ریت بالایی هستند و در واقع میتوانند اطلاعات را با سرعت بسیار بالایی رد و بدل کنند .
در عمل سرعت 172000 bps با این ماژول تست شده و بخوبی کار میکند .
البته این نکته فراموش نشود که برای دستیابی به این بیت ریت میکرو باید با کریستال سرعت بالا کار کند .
در حالت کریستال 16 MHZ میتوان به این بیت ریت دست پیدا کرد .


در موقع خرید ماژول های RFM12 پشت ماژول جدولی موجود می باشد که فرکانس ماژول را مشخص کرده است .
مثلا 433 MHZ .
مزیت دیگر این ماژول این است که میتوان یک کلاک از آن برای میکرو گرفت .
که ماکزیمم آن تا 10MHZ می باشد .

RFM12b :
این ماژول کاملا با ماژول RFM12 یکسان بوده و تنها تفاوت آن در توان خروجی آن می باشد که این ماژول دارای توان بیشتری نسبت به RFM12 می باشد . البته توان آن خیلی بیشتر از RFM12 نیست و در عمل تا 100 متر نسبت به RFM12 توفیق دارد .

singel
سه شنبه 27 مهر 1389, 23:45 عصر
$regfile = "m88def.dat"
$hwstack = 32
$swstack = 10
$framesize = 40

$crystal = 8000000
$baud = 19200

const File = "TxRx 1.05 .bas"
const Description = "RFM12 monitor program"

print
print Description
print File
print version()

RFM12_rst alias portc.5
config RFM12_rst = input

config portb = &b0010_1101

Test_pin alias portb.0

RFM12_cs alias Portb.2
set RFM12_cs

RFM12_sdi alias Portb.3

RFM12_sdo alias Pinb.4
set portb.4

RFM12_sck alias portb.5

RX_LED alias portd.5
config pind.5 = output

TX_LED alias portd.6
config pind.6 = output

Error_LED alias PORTd.7
config pind.7 = output

config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , _
Polarity = Low , Phase = 0 , Clockrate = 4 , Noss = 1
spiinit

declare sub RFM12_SPI_wrt
declare sub RFM12_Tx(TxArray as byte)
declare sub RFM12_Rx(RxArray as byte)
declare sub RFM12_Tx_ready
declare sub RFM12_Rx_wait
declare sub RFM12_Get_Status_bit
declare sub SaveFlags
declare sub RFM12_Clear_FIFO
declare sub RFM12_Rx_on
declare sub RFM12_Init
declare sub PrintFlags

'From: RF12 Programing Guide
'Min Freq 430.24
'Max Freq 439.75
'in 2.5KHz steps
'
'That makes 3800 possible frequencies
'to choose from.

'Fc = the center Freq. in MHz
'Fr = the Freq. register value.
'Fc = 430 + Fr * 0.0025 (MHz)
'Fr = (Fc - 430) * 400
const Fc = 435.00
const Fr =(Fc - 430) * 400
const Fcmnd = &hA000 + Fr

'Payload can be up to 254 bytes.
'I have tested up to 128 bytes only.
'const Payload_Size = 128
const Payload_Size = 32
'const Payload_Size = 16
const PLS_plus1 = Payload_Size + 1

'make the test beacon length Payload_Size - 2
const Beacon = "123456789012345678901234567890"

dim Tempbit as bit
dim Temp as byte
dim TempW as word

dim SPI_Tx_wrd as word
dim SPI_Tx_L as byte at SPI_Tx_wrd overlay
dim SPI_Tx_H as byte at SPI_Tx_wrd + 1 overlay
dim SPI_Rx_wrd as word
dim SPI_Rx_L as byte at SPI_Rx_wrd overlay
dim SPI_Rx_H as byte at SPI_Rx_wrd + 1 overlay

dim Rx_Status_bit as bit
dim RxBuffer(PLS_plus1) as byte
dim RxString as string * Payload_Size at RxBuffer(1) overlay
RxBuffer(PLS_plus1) = 0

dim TxIndex as byte
dim TxBuffer(PLS_plus1) as byte
dim TxString as string * Payload_Size at TxBuffer(1) overlay
TxBuffer(PLS_plus1) = 0

dim Timeout as word
dim Cmnd as string * 4
dim Flags as byte

EchoFlag alias Flags.0
BeaconFlag alias Flags.1
SerMsgFlag alias Flags.2
RxOnFlag alias Flags.3
TxOnFlag alias Flags.4

'I have read somewhere that eram address 0 has a bug
'so I don't use it.
dim Dummy as eram word at 0
'ProgCntr must be at eram address 2.
'ProgCntr is incramented by the bootloader
'each time the chip is flashed.
dim ProgCntr as eram word at 2
dim SavedFlags as eram byte


TempW = ProgCntr
print "uC flashed " ; TempW ; " times."
print

'kill some time here while
'rfm12 does a power on reset.
reset RX_LED
reset TX_LED
reset Error_LED
waitms 500
set RX_LED
set TX_LED
set Error_LED

RFM12_Init
RFM12_Rx_on

Flags = SavedFlags
print "Echo = " ; EchoFlag
print "Beacon = " ; BeaconFlag
Cmnd = ""

do
if BeaconFlag = 1 then
'Tx a test beacon about once a second.
TxString = Beacon
print "Tx: " ; TxString
RFM12_Tx TxBuffer(1)
'now loop waiting for a reply msg.
for temp = 1 to 255
'poll RFM12 for Rx data.
RFM12_Get_Status_bit
if Rx_Status_bit = 1 then
'Rx RxBuffer
RFM12_Rx RxBuffer(1)
print "Rx: " ; RxString
if RxString <> TxString then
reset Error_LED
print "<>"
endif
RxString = ""
exit for
endif
if temp = 255 then
reset Error_LED
print "no echo"
endif
'this delay gives the other module time to echo
'back the beacon.
'waitus 50 'at 38.3kbps, 32 byte payload
'waitus 350 'at 19.2kbps, 128 bytes
waitus 150 'at 19.2kbps, 32 bytes
set Error_LED
next temp
else
'poll RFM12 for Rx data.
RFM12_Get_Status_bit
if Rx_Status_bit = 1 then
'reset RX_LED
'Rx RxBuffer
RFM12_Rx RxBuffer(1)
print "Rx: " ; RxString
if EchoFlag = 1 then
print "Ec: " ; RxString
'Tx RxBuffer.
RFM12_Tx RxBuffer(1)
endif
'set RX_LED
endif
endif

temp = inkey()
if temp <> 0 then

if temp = 27 then
'press "esc" to get a command prompt.
SPI_Tx_wrd = 0
RFM12_SPI_wrt
print
print Description
print File
print version()
print
TempW = ProgCntr
print "uC flashed " ; TempW ; " times."
'print
'print "Status word = " ; bin(SPI_Rx_H) ; "_" ; bin(SPI_Rx_L)
PrintFlags
print
input "Command >" , Cmnd
print
RFM12_Rx_on
elseif temp = 13 then
print
print "Tx: " ; TxString
'Tx TxBuffer.
RFM12_Tx TxBuffer(1)
TxString = ""
TxIndex = 0
else
'fill the TxBuffer until <cr> or full.
if TxIndex < Payload_Size then
print chr(temp);
incr TxIndex
TxBuffer(TxIndex) = temp
Temp = TxIndex + 1
TxBuffer(Temp) = 0
endif
endif
endif


if Cmnd <> "" then
Select Case Cmnd
case "u"
'To start the bootloader without using the reset button.
'Press "u <CR>"
'then within 2+3=5 seconds press F4 to start the programer.
print
print "Press F4 to start upload."
Waitms 3000
'address of boot loader.
'for mega168
'goto &H1C00

'for mega88
goto &hC00

case "c"
'Input a hex command word value to send to RFM12.
'For example enter: c0e0 <enter> will set the
'ouput CLK to 10MHZ.
'see the RFM12 Programing guide for commands.
print
input "Enter a Command Word in HEX >" , Cmnd
SPI_Tx_wrd = hexval(Cmnd)
RFM12_SPI_wrt
print "RFM12 returned >" ; hex(SPI_Rx_wrd)

case "b"
toggle BeaconFlag
if BeaconFlag = 1 then EchoFlag = 0
SaveFlags
PrintFlags

case "e"
toggle EchoFlag
if EchoFlag = 1 then BeaconFlag = 0
SaveFlags
PrintFlags

case else
print "Unknown Command"

end select
print
Cmnd = ""
endif
loop

sub PrintFlags
if BeaconFlag = 1 then
print "Beacon ON"
else
print "Beacon OFF"
endif
if EchoFlag = 1 then
print "Echo ON"
else
print "Echo OFF"
endif
end sub

sub SaveFlags
'save to eram
Flags = Flags and 3
SavedFlags = Flags
end sub

sub RFM12_Init
local i as byte
print "Init values:"
'Initialize RFM12
Restore Init_data
for i = 1 to 14
read SPI_Tx_wrd
print hex(SPI_Tx_wrd)
'send init data to RFM12.
RFM12_SPI_wrt
'waitms 100
next i
print
end sub

'************************************************* **********************
'The following data lines are RFM12 commands used to initialize the device.
'read the RFM12 progamming guide and data sheets for a complete
'description of these commands.
'
'Configuration settings:
'
'&h80D8 = Configure module for 433Mhz band.
'
'RF center Freq. setting
'select freq with const "Fc" above.
'Fcmnd is a constant that holds the Freq command.
'see the "const" statments at the top of this code.
'example: &hA000 + Fr = &hA7D0 for 435MHz
'
'To change the data rate the following values will need to be adjusted.
'
'bit rate
'&hC611 = 19.2kbps works well at 8MHz
'&hC608 = 38.3kbps works at 8MHz
'
'Rx band width
'&h94A0 = Rx BW = 134KHz works at 8MHz
'&h9480 = 200kHz works at 8MHz
'
'Tx deviation
'&h9850 = 90kHz works at 8MHz
'&h9870 = 120kHz works at 8MHz

Init_data:
data &h80D8% , &h8298% , Fcmnd% , &hC611% , &h94A0% , &hC2AC% , &hCA81%
data &hCED4% , &hC483% , &h9850% , &hCC17% , &hE000% , &hC800% , &hC040%
'************************************************* ************************

sub RFM12_Clear_FIFO
'Clear FIFO
SPI_Tx_wrd = &hCA81
RFM12_SPI_wrt
SPI_Tx_wrd = &hCA83
RFM12_SPI_wrt
end sub

sub RFM12_Tx(TxArray as byte)
local i as byte
reset TX_LED
'turn on Tx
SPI_Tx_wrd = &h8239
RFM12_SPI_wrt
TxOnFlag = 1
waitus 150
'Send Preamble.
restore TxPreamble_data
for i = 1 to 5
read SPI_Tx_wrd
RFM12_Tx_ready
if Timeout = 0 then exit for
RFM12_SPI_wrt
next i
'Send payload.
for i = 1 To Payload_Size
RFM12_Tx_ready
if Timeout = 0 then exit for
SPI_Tx_wrd = &hB800 + TxArray(i)
RFM12_SPI_wrt
next i
RFM12_Tx_ready
RFM12_Rx_on
set TX_LED
end sub

TxPreamble_data:
data &hB8AA% , &hB8AA% , &hB8AA% , &hB82D% , &hB8D4%

sub RFM12_Tx_ready
Reset RFM12_cs
Timeout = 65500
While RFM12_sdo = 0
decr Timeout
waitus 6
if Timeout = 0 then
print "Tx Timeout"
exit while
endif
Wend
end sub

sub RFM12_Rx_on
'Start Rx
SPI_Tx_wrd = &h8299
RFM12_SPI_wrt
RFM12_Clear_FIFO
RxOnFlag = 1
waitus 80
end sub

sub RFM12_Rx(RxArray as byte)
local i as byte
timeout = 1
reset RX_LED
SPI_Tx_wrd = &hB000
for i = 1 To Payload_Size
RFM12_Rx_wait
if Timeout = 0 then
set RX_LED
set Error_LED
exit for
endif
RFM12_SPI_wrt
RxArray(i) = SPI_Rx_L
next i
RxArray(i) = 0
RFM12_Clear_FIFO
set RX_LED
end sub

sub RFM12_Rx_wait
Timeout = 35500
do
RFM12_Get_Status_bit
'timeout if nothing happens.
decr Timeout
if Timeout = 0 then
reset Error_LED
print "Rx Timeout"
exit do
endif
loop until Rx_Status_bit = 1
end sub

sub RFM12_Get_Status_bit
reset RFM12_sdi
reset RFM12_cs
set RFM12_sck
Rx_Status_bit = RFM12_sdo
reset RFM12_sck
set RFM12_cs
end sub

sub RFM12_SPI_wrt
'Send word (SPI_Tx_wrd) to RFM12.
'Also receive word (SPI_Rx_wrd).
'RFM12 Chip select
reset RFM12_cs
'send hi byte.
SPI_Rx_H = spimove(SPI_Tx_H)
'send lo byte.
SPI_Rx_L = spimove(SPI_Tx_L)
'deselect chip.
set RFM12_cs
end sub

singel
سه شنبه 27 مهر 1389, 23:52 عصر
سلام ضمن تشکر از دوست عزیزم alborz02 (http://barnamenevis.org/forum/member.php?u=165755)
از دوستان خواهش میکنم اطلاعاتشون رو دریغ نکنن

زکات علم که یادتون هست !
اطلاعات خیلی خیلی کوچیک هم برای من و امثال من خیلی مفید و کارگشاست

alborz02
چهارشنبه 28 مهر 1389, 00:13 صبح
RFM 12 ها یکی از پرقدرت ترین محصولات شرکت hoperf است . البته ماژول های قدرتمند تر دیگری از شرکت های مختلف وجود دارد که rfm12 ها در مقایسه با آنها بسیار ضعیف میباشد .
...این ماژول را میتوان در فرکانس های مختلفی راه اندازی کرد و حتی می توان مقدار دقیق فرکانس کاری آن را مشخص کرد . برای مثال میتوان آن را در فرکانس 912.48 MHZ راه اندازی کرد ....؟؟!!

این همه مطلبی که نوشتید چی هست ؟؟

اینها را که با یک نگاه گذرا میشه فهمید !


زیاد خودتون را درگیر این اطلاعات نکنید ! اینها زیاد مهم نیستند

alborz02
چهارشنبه 28 مهر 1389, 00:22 صبح
اطلاعات خیلی خیلی کوچیک هم برای من و امثال من خیلی مفید و کارگشاست

آفرین !

اینجاست که به این اطلاعات خیلی خیلی کوچیک میگند فوت و فن کاسه گری...

ناراحتش نباش راه میندازیمش

singel
چهارشنبه 28 مهر 1389, 07:40 صبح
دوست عزیز در مورد کدی که داخل سایت گذاشتم یکسری سوال داشتم مثلا این کد چیه و چکار میکنه



config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , _
Polarity = Low , Phase = 0 , Clockrate = 4 , Noss = 1
spiinit

joker
چهارشنبه 28 مهر 1389, 07:48 صبح
Action
Configures the SPI related statements..
http://avrhelp.mcselec.com/index.html?config_spi.htm

این چند خط پروتکل SPI را روی میکرو کنترلرهای اتمل پیکربندی میکنه

برای شروع به کار یک پروگرامر اول بخرید ( مدلهای Usb به قیمت حدود 5-6 هزارتومنی توی بازار هست )
یک یا دو عدد میکرو کنترلر سری atmega8 یا atmega16 یا اتمگا 32 تهیه کنید
یک بردبورد برای بستن موقت مدار بخرید
و دیگه بقیه کارها را طبق نقشه پیش برید ، و نهایتا سورسی که گذاشتید را یکبار با bascom کامپایل کنید و فایل hex اون را با استفاده از پروگرامری که دارید روی میکروکنترلر بریزید وبعد از وصل کردن تغذیه مدار دیگه منتظر کارکردنش باشید.

alborz02
چهارشنبه 28 مهر 1389, 11:35 صبح
سلام.


یک یا دو عدد میکرو کنترلر سری atmega8 یا atmega16 یا اتمگا 32 تهیه کنید
یک بردبورد برای بستن موقت مدار بخرید

دو عدد میکرو لازم دارید و دو عدد برد بورد.

singel
چهارشنبه 28 مهر 1389, 13:10 عصر
سلام عزیزان ممنون از راهنمایی هاتون
اما میخوام بدونم
1- SPI به چه دردی میخوره و کجا بکار میاد
2- این کدی که اینجا قرار دادم چه چیزی رو ارسال میکنه بالای این کد نوشته شده rx,tx یعنی بروی هر دو میکرو باید همین برنامه کامپایل بشه (هم فرستنده و هم گیرنده)
3- ایا مدارش همینه یعنی به همین سادگی به میکرو متصل میشه


دیگه برای تست کردنش طاقت ندارم

singel
یک شنبه 02 آبان 1389, 12:31 عصر
سلام دوستان
امروز ماژول ها که سفارش داده بودم به دستم رسید فقط چند تا سوال دارم
1- توی نقشه مداری که فرستادم rx , tx میکرو به کجا وصل میشه
2- چه نوع اطلاعاتی رو میشه رد و بدل کرد
3- شماره های 4 و 5 و 8 روی ماژول باید ازاد باشه یا به جایی وصل میشه

alborz02
سه شنبه 11 آبان 1389, 11:46 صبح
سلام دوستان
امروز ماژول ها که سفارش داده بودم به دستم رسید فقط چند تا سوال دارم
1- توی نقشه مداری که فرستادم rx , tx میکرو به کجا وصل میشه
2- چه نوع اطلاعاتی رو میشه رد و بدل کرد
3- شماره های 4 و 5 و 8 روی ماژول باید ازاد باشه یا به جایی وصل میشه

سلام.

کار پروژه به کجا رسید ؟

alborz02
سه شنبه 11 آبان 1389, 11:49 صبح
دوست عزیز در مورد کدی که داخل سایت گذاشتم یکسری سوال داشتم مثلا این کد چیه و چکار میکنه



config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , _
Polarity = Low , Phase = 0 , Clockrate = 4 , Noss = 1
spiinit



مراجعه کنید به کتاب میکرو کنترلرهای AVR نوشته ی علی کاهه انتشارات نص

فصل ارتباط سریال SPI

alborz02
سه شنبه 11 آبان 1389, 11:54 صبح
سلام عزیزان ممنون از راهنمایی هاتون
اما میخوام بدونم
1- SPI به چه دردی میخوره و کجا بکار میاد
2- این کدی که اینجا قرار دادم چه چیزی رو ارسال میکنه بالای این کد نوشته شده rx,tx یعنی بروی هر دو میکرو باید همین برنامه کامپایل بشه (هم فرستنده و هم گیرنده)
3- ایا مدارش همینه یعنی به همین سادگی به میکرو متصل میشه


دیگه برای تست کردنش طاقت ندارم

به کتابی که معرفی کردم مراجعه کنید.

برای ارتباط برقرار کردن بین دو وسیله (میکرو) می تونیم از راههای مختلفی استفاده کنیم. یکی از این راهها ارتباط SPI هست.

singel
پنج شنبه 13 آبان 1389, 20:41 عصر
سلام
ببخشید چند وقتی که کارم زیاد شده و نتونستم کاری انجام بده اما الان دارم مدارش رو میبندم تا فردا هم خبرش رو میدم
یکسری اطلاعات جدید هم از اینترنت گرفتم که اگر نتیجه بده بصورت کامل توی سایت قرار میدم:قلب:

singel
چهارشنبه 19 آبان 1389, 22:10 عصر
سلام دوستان عزیز
الان که دارم این من رو مینویسم عرق شرم رو پیشونیم نشسته ، نمی دونم با چه رویی دوباره دارم سوال میپرسم
مقصرش یکی دانشگاه بود و اون یکی پروژه ای که برای اداره دارم مینویسم که فرصت هیچ کاری بهم نداد
خلاصه بازم ببخشید
من این مدار رو بستم یکم هم توی اینترنت تحقیق کردم

یک کد برای فرستنده گیرنده از میکرو به میکرو نوشتم که وقتی روی مدار هم بستم کار کرد
اما همونو به این ماژول ها وصل کردم دیگه کار نکرد ، کد ها رو براتون میزارم لطفا بررسی کنید ببینید اصلا اینجوری کار میکنه
نقشه مدار هم همون عکسی که براتون فرستادم البته با میکرو atmega32

کد فرستنده :



$regfile = "m32def.dat" : $crystal = 8000000
Dim A As Byte , B As Byte
Config Spi = Hard , Interrupt = On , Data Order = Lsb , Polarity = High , Phase = 0 , Clockrate = 128
Spiinit
Do
B = 120
Spiout B , 1
Waitms 50
Loop
End


کد گیرنده :



$regfile = "m32def.dat" : $crystal = 8000000
Dim A As Byte , B As Byte
Config Portc = Output
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Pina.2 , Db5 = Pina.3 , Db6 = Pina.4 , Db7 = Pina.5 , Rs = Pina.0 , E = Pina.1
Config Spi = Hard , Interrupt = On , Data Order = Lsb , Polarity = High , Phase = 0 , Clockrate = 128
Spiinit
Set Portc
Locate 1 , 1 : Lcd "daryaft :"
Do
Spiin B , 1
Locate 2 , 1 : Lcd B
Waitms 50
Loop
End

alborz02
پنج شنبه 20 آبان 1389, 01:46 صبح
سلام دوستان عزیز
الان که دارم این من رو مینویسم عرق شرم رو پیشونیم نشسته ، نمی دونم با چه رویی دوباره دارم سوال میپرسم
مقصرش یکی دانشگاه بود و اون یکی پروژه ای که برای اداره دارم مینویسم که فرصت هیچ کاری بهم نداد
خلاصه بازم ببخشید
من این مدار رو بستم یکم هم توی اینترنت تحقیق کردم

سلام.
چه عجب تشریف آوردید !

alborz02
پنج شنبه 20 آبان 1389, 02:00 صبح
من این مدار رو بستم یکم هم توی اینترنت تحقیق کردم

یک کد برای فرستنده گیرنده از میکرو به میکرو نوشتم که وقتی روی مدار هم بستم کار کرد


مدار را چطوری بستید که کار کرد ؟



اما همونو به این ماژول ها وصل کردم دیگه کار نکرد

از سالم بودن ماژول ها اطمینان حاصل کنید...

یک روش برای این کار اینست که ماژول ها را به همراه میکرو ها کنار یک رادیو بگذارید ، اگر صدای پارازیت از رادیو اومد ، مشخصه که ماژولها سالم هستند.


در مورد مراحل بعدی ، در آینده صحبت می کنیم...

golshahr
سه شنبه 19 بهمن 1389, 11:23 صبح
سلام من تاپیک شما ها رو الان دیدم .راستش من هم دارم رو این ماژول کار میکنم ولی جوابی نگرفتم .من هم بر اساس سورس هائی که تو اینترنت پیدا کردم برنامه رو نوشتم ولی کار نکرد نمی دونم مشکل کار کجاست اگر شما ها کار کردید واقعا خوشحال میشم که از اطلاعات تون استفاده کنم . راستش خیلی وفته گیر کردم .خیلی خوشحال شدم که دیدم اینجا تاپیک راجع به RFM12b هست.

alborz02
چهارشنبه 20 بهمن 1389, 00:21 صبح
سلام من تاپیک شما ها رو الان دیدم .راستش من هم دارم رو این ماژول کار میکنم ولی جوابی نگرفتم .من هم بر اساس سورس هائی که تو اینترنت پیدا کردم برنامه رو نوشتم ولی کار نکرد نمی دونم مشکل کار کجاست اگر شما ها کار کردید واقعا خوشحال میشم که از اطلاعات تون استفاده کنم . راستش خیلی وفته گیر کردم .خیلی خوشحال شدم که دیدم اینجا تاپیک راجع به RFM12b هست.

سلام ؛

خوبه که بالاخره یه نفر پیدا شد تا این بحث را به یه جایی برسونیم ، اون دوست قبلیمون که دیگه خبریشون نشد...

ان شاء الله که بتونیم با کمک همدیگه جواب بگیریم ،

برای شروع یه شرحی از کاری که می خواهید انجام بدید (نوع مدار یا پروژه و...) و همچنین تلاشهایی که انجام دادید ، بدهید.


موفق باشید.