ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 17
  1. #1
    2015/12/04
    10
    0

    راه اندازی LED RGB نواری با آردوینو (PWM)

    سلام نمیدونستم این سوالو کجا مطرح کنم اینه که تاپیکشو زدم

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    قابلیت برنامه پذیری با آردوینو یا هر میکرو دیگه ای دارن؟؟ به عبارتی adressable هستن؟؟
  2. #2
    2018/02/22
    976
    597

    پاسخ : راه اندازی LED RGB نواری با آردوینو (PWM)

    درود ، خیر این مدل ساده هست ، قیمت رو هم ببینید خیلی از آدرس پذیر کمتر هست ، در عنوان حتما باید کلمه آدرس پذیر یا برنامه پذیر و یا کد آی سی مثلاً ws2813 و ... ذکر شده باشه .
    از روی نام پین های نوار led هم میشه متوجه شد که آدرس پذیر هست یا نه ، باید پین Din یا data داشته باشه ، در مدل معمولی پایه ها rgb نامگذاری شده
  3. #3
    2016/03/05
    12
    1

    پاسخ : راه اندازی LED RGB نواری با آردوینو (PWM)

    سلام دوستان. من چند عدد هگزادسیمال رو با میکرو دریافت میکنم(0x2F64A3) میخوام عدد 2F رو داخل یک متغیر بریزم (برای کنترل led rgb) چجوری میتونم این کارو بکنم؟
  4. #4
    2017/06/13
    121
    75

    پاسخ : راه اندازی LED RGB نواری با آردوینو (PWM)

    نقل قول نوشته اصلی توسط freewill

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام دوستان. من چند عدد هگزادسیمال رو با میکرو دریافت میکنم(0x2F64A3) میخوام عدد 2F رو داخل یک متغیر بریزم (برای کنترل led rgb) چجوری میتونم این کارو بکنم؟
    سلام
    اگر منظورتون بایت اول باشه، به صورتی که میگم. فرض میگیریم متغیر a حاوی عدد مورد نظر شما یا همون
    0x2F64A3 باشه و ما میخواییم بایت اول رو در یک متغیر هشت بیتی به اسم b بریزیم. به شکل زیر این کار امکان پذیره:
    b = (a>>16);
  5. #5
    2016/03/05
    12
    1

    پاسخ : راه اندازی LED RGB نواری با آردوینو (PWM)

    ممنون از جوابتون
    این اعداد رو توسط سریال میکرو دریافت میکنم و در متغیر ذخیره میکنم مثلا a(0)=2 و a(1)=F و... حالا میخوام این دو عدد اول رو داخل رجیستر ccr تایمر بزارم(برای تنظیم duty cycle).به این صورت:
    TIM4->CCR1=0x2F
    اما نمیدونم اینکارو چجوری انجام بدم
    ;

    دلیل: ادغام دو پست برای جلوگیری از اسپم

    نقل قول نوشته اصلی توسط hossein.m98

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    سلام
    اگر منظورتون بایت اول باشه، به صورتی که میگم. فرض میگیریم متغیر a حاوی عدد مورد نظر شما یا همون
    0x2F64A3 باشه و ما میخواییم بایت اول رو در یک متغیر هشت بیتی به اسم b بریزیم. به شکل زیر این کار امکان پذیره:
    b = (a>>16);
    ممنون از جوابتون
    این اعداد رو توسط سریال میکرو دریافت میکنم و در متغیر ذخیره میکنم مثلا a(0)=2 و a(1)=F و... حالا میخوام این دو عدد اول رو داخل رجیستر ccr تایمر بزارم(برای تنظیم duty cycle).به این صورت:
    TIM4->CCR1=0x2F
    اما نمیدونم اینکارو چجوری انجام بدم
  6. #6
    2017/06/13
    121
    75

    پاسخ : راه اندازی LED RGB نواری با آردوینو (PWM)

    دیتای دریافتی رو توی آرایه میریزید؟ چه نوع آرایه ای؟ به چه ترتیب دیتا وارد میشه؟ چجوری دیتا ذخیره میشه؟
    اگر بازم مشکلی بود، سوالات بالا رو جواب بدید تا بگم به چه شکل میشه کار رو پیش برد.
    خوب من فرض میکنم دیتای شما در آرایه ای به اسم a از نوع unsigned char ذخیره میشه و طبق فرضی که گفتید خونه شماره 0 از آرایه، حاوی مقدار 2 و خونه شماره 1 حاوی مقدار F باشه و شما میخوایید مقدار 0x2F رو به رجیستر مورد نظر منتقل کنید؛ به این شکل میشه این کار رو انجام داد:

    TIM4->CCR1 = (a[0]<<4) | a[1];

    خوب من اومدم و خونه شماره 0 رو به اندازه 4 بیت شفیت دادم تا 4 بیت پر ارزش رجیستر رو پر کنه و با مقدار خونه شماره 1 یای بیتی کردم تا این هم 4 بیت کم ارزش رو پر کنه. برای حفاظت بیشتر من یکم خط بالا رو تغییر میدم تا مطمئن بشم مشکلی پیش نمیاد:

    TIM4->CCR1 = ((a[0] & 0x0F)<<4) | (a[1] & 0x0F);

    خوب اینکه چرا این کارو کردم و کد رو کمی تغییر دادم بحثش جداس و اگر بخوایید میتونم توضیح بدم. موفق باشید
  7. #7
    2016/03/05
    12
    1

    پاسخ : راه اندازی LED RGB نواری با آردوینو (PWM)

    نقل قول نوشته اصلی توسط hossein.m98

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    دیتای دریافتی رو توی آرایه میریزید؟ چه نوع آرایه ای؟ به چه ترتیب دیتا وارد میشه؟ چجوری دیتا ذخیره میشه؟
    اگر بازم مشکلی بود، سوالات بالا رو جواب بدید تا بگم به چه شکل میشه کار رو پیش برد.
    خوب من فرض میکنم دیتای شما در آرایه ای به اسم a از نوع unsigned char ذخیره میشه و طبق فرضی که گفتید خونه شماره 0 از آرایه، حاوی مقدار 2 و خونه شماره 1 حاوی مقدار F باشه و شما میخوایید مقدار 0x2F رو به رجیستر مورد نظر منتقل کنید؛ به این شکل میشه این کار رو انجام داد:

    TIM4->CCR1 = (a[0]<<4) | a[1];

    خوب من اومدم و خونه شماره 0 رو به اندازه 4 بیت شفیت دادم تا 4 بیت پر ارزش رجیستر رو پر کنه و با مقدار خونه شماره 1 یای بیتی کردم تا این هم 4 بیت کم ارزش رو پر کنه. برای حفاظت بیشتر من یکم خط بالا رو تغییر میدم تا مطمئن بشم مشکلی پیش نمیاد:

    TIM4->CCR1 = ((a[0] & 0x0F)<<4) | (a[1] & 0x0F);

    خوب اینکه چرا این کارو کردم و کد رو کمی تغییر دادم بحثش جداس و اگر بخوایید میتونم توضیح بدم. موفق باشید
    ممنون بابت وقتی که گذاشتید
    بله توی آرایه میریزم.برنامه رو میزارم که مشخص بشه
    uint8_t a[10]
    HAL_UART_Receive(&huart1,a, 2, -1)
    TIM4->CCR1 = ((a[0] & 0x0F)<<4) | (a[1] & 0x0F)
    ,از پورت سریال دیتا دریافت میشه و در a(0) و a(1) ذخیره میشه.دیتای دریافتی از 00 تا ff تغیر میکنه. خروجی تایمر هم به led وصل کردم که نورش تغیر کنه.الان مشکلی که هست اینه که اعداد از 00 تا 9f درست به تایمر اعمال میشه و نور led زیاد میشه ولی وقتی عدد به a0 میرسه بجای اینکه بازهم زیاد شه،نورش کم میشه!
  8. #8
    2017/06/13
    121
    75

    پاسخ : راه اندازی LED RGB نواری با آردوینو (PWM)

    نقل قول نوشته اصلی توسط freewill

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    ممنون بابت وقتی که گذاشتید
    بله توی آرایه میریزم.برنامه رو میزارم که مشخص بشه
    uint8_t a[10]
    HAL_UART_Receive(&huart1,a, 2, -1)
    TIM4->CCR1 = ((a[0] & 0x0F)<<4) | (a[1] & 0x0F)
    ,از پورت سریال دیتا دریافت میشه و در a(0) و a(1) ذخیره میشه.دیتای دریافتی از 00 تا ff تغیر میکنه. خروجی تایمر هم به led وصل کردم که نورش تغیر کنه.الان مشکلی که هست اینه که اعداد از 00 تا 9f درست به تایمر اعمال میشه و نور led زیاد میشه ولی وقتی عدد به a0 میرسه بجای اینکه بازهم زیاد شه،نورش کم میشه!
    مگه دیتای شما بین 0 تا FF نیست؟ پس چه اصراری دارید که حتما در غالب 2 بایت ارسال بشه؟ با 1 بایت هم میشه. سعی کنید دیتا در غالب 1 بایت ارسال بشه؛ احتمالا مشکلات حل میشن. این که برنامه تا مقدار 9F درست کار میکنه و برای مقادیر بعد از اون دچار خطا میشه یکم جای تعجبه! مطمئنید که تایمر مورد استفاده از مقادیر بالاتر هم پشتیبانی میکنه؟ سعی کنید برای عیب یابی مقداری که به رجیستر داده میشه رو در جای دیگه ای مثل پورت خروجی یا LCD بشه دید و فهمید اشکال از برنامس یا سخت افزار. مثلا مقدار ((a[0] & 0x0F)<<4) | (a[1] & 0x0F) رو به یک LCD بدید تا نمایش بده و بشه فهمید که خروجی برای مقادیری مثل A0 حقیقتا A0 میشه یا چیز دیگه!
  9. #9
    2016/03/05
    12
    1

    پاسخ : راه اندازی LED RGB نواری با آردوینو (PWM)

    نقل قول نوشته اصلی توسط hossein.m98

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    مگه دیتای شما بین 0 تا FF نیست؟ پس چه اصراری دارید که حتما در غالب 2 بایت ارسال بشه؟ با 1 بایت هم میشه. سعی کنید دیتا در غالب 1 بایت ارسال بشه؛ احتمالا مشکلات حل میشن. این که برنامه تا مقدار 9F درست کار میکنه و برای مقادیر بعد از اون دچار خطا میشه یکم جای تعجبه! مطمئنید که تایمر مورد استفاده از مقادیر بالاتر هم پشتیبانی میکنه؟ سعی کنید برای عیب یابی مقداری که به رجیستر داده میشه رو در جای دیگه ای مثل پورت خروجی یا LCD بشه دید و فهمید اشکال از برنامس یا سخت افزار. مثلا مقدار ((a[0] & 0x0F)<<4) | (a[1] & 0x0F) رو به یک LCD بدید تا نمایش بده و بشه فهمید که خروجی برای مقادیری مثل A0 حقیقتا A0 میشه یا چیز دیگه!
    دیتایی که دریافت می کنم 6 بایت است که 2 بایت اول مورد استفاده ی من هستش.تایمر مشکلی نداره دستی مقدار دادم قبلش. مقداری که به رجیستر داده میشه مشکل داره احتمالا.روی lcd اوردمش اعداد عجیب نشون میده! تایمر مورد استفاده 16 بیتی هستش
  10. #10
    2017/06/13
    121
    75

    پاسخ : راه اندازی LED RGB نواری با آردوینو (PWM)

    نقل قول نوشته اصلی توسط freewill

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

    دیتایی که دریافت می کنم 6 بایت است که 2 بایت اول مورد استفاده ی من هستش.تایمر مشکلی نداره دستی مقدار دادم قبلش. مقداری که به رجیستر داده میشه مشکل داره احتمالا.روی lcd اوردمش اعداد عجیب نشون میده! تایمر مورد استفاده 16 بیتی هستش
    تایمر در مد 16 بیتی کار میکنه یا 8 بیتی؟ چه میکروکنترلر و چه کامپایلری استفاده میکنید؟ بهتره برنامتون رو به صورت کامل قرار بدید بلکه مشکل پیدا بشه
    راستی این اطلاعات از چه منبعی ارسال میشن؟ از صحت ارسال اطلاعات مطمئنید؟ مطمئنید همونطوری که خودتون هم گفتید مقادیر A0 به بعد واقعا درست ارسال میشن؟ اول از همه باید از صحت اطلاعات ارسالی مطمئن بود
صفحه 1 از 2 12 آخرین
نمایش نتایج: از 1 به 10 از 17

موضوعات مشابه

  1. راه اندازی LCD Nokia 5110 با آردوینو
    توسط edison1991 در انجمن خانواده Arduino
    پاسخ: 2
    آخرين نوشته: 2017/08/19, 13:52
  2. راه اندازی DHT11 با آردوینو
    توسط علی چمانی در انجمن خانواده Arduino
    پاسخ: 16
    آخرين نوشته: 2017/07/28, 02:03
  3. راه اندازی NRF24L01 با آردوینو
    توسط ezzati_ali در انجمن خانواده Arduino
    پاسخ: 0
    آخرين نوشته: 2017/07/22, 13:41
  4. راه اندازی rfm12b با آردوینو
    توسط hamidrmv در انجمن خانواده Arduino
    پاسخ: 0
    آخرين نوشته: 2017/04/09, 23:11
  5. راه اندازی wtv020m01 با آردوینو
    توسط sfzz در انجمن میکروکنترلرهای AVR
    پاسخ: 1
    آخرين نوشته: 2015/07/20, 23:56

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •