با سلام من از فروشگاه قصد خرید 14 عدد ماژول سون سگمنت 8 رقمی همراه با درایور Max7219
آیا میشه هر چهارده تا رو به آردینو نصب کنیم و برای هر کدام یک عدد رو نمایش بدیم؟
نمایش نسخه قابل چاپ
با سلام من از فروشگاه قصد خرید 14 عدد ماژول سون سگمنت 8 رقمی همراه با درایور Max7219
آیا میشه هر چهارده تا رو به آردینو نصب کنیم و برای هر کدام یک عدد رو نمایش بدیم؟
سلام
تنها مشکل فقط تعداد پین هاست.
هر ماژول 3 پین کنترل داره.
پین کلاک
پین لود (همون لچ یا چیپ سلکت)
پین دیتا
پین کلاک که بین همه مشترکه. پس تا الان تعداد کل پینای مورد نیاز میشه : 14*2 + 1 پین مشترک که میشه 29 تا
هر بار که به هر کدوم از این ماژولها میخوایم مقدار بدیم، باید پین لود low باشه، 16 بیت دیتا رو وارد پین دیتا کنیم و بعد لود رو ببریم High.
پس یه کار میکنیم. پین دیتا رو هم بین همه مشترک میگیریم. اینجوری موقه مقدار دادن، هر کدومو که میخوای مقدار بدیم، پین لودشو پایین نگه میداریم، مقدار میدیم و بعد میبریم بالا دوباره و نگه میداریم بالا.
پس الان شد : 14 تا پین لود مختلف + 2 تا پین مشترک که میشه 16 تا
اگر با مدارهای منطقی آشنایی دارید میتونید با خریدن یه آی سی باینری دیکودر جدا، کمتر از این مقدار پینم مصرف کنید. خیلیم حرفه ای تر و بصرفه تره. مثلا آیسی سی موس 4514، یه دیکودر 4 به 16 هست که براحتی میتونید باش با تعداد پین های کمتر و سویچ سریعتر، ماژول ها رو کنترل کنید. در این حالت :
4 تا پین دیکودر برای کنترل 14 تا پین لود + 2 تا پین مشترک : 6 تا پین
اطلاعات پین ها بر اساس دیتاشیت آی سی 7219 ماکسیم نوشته شده.
اینا با پروتکل SPI به آردوینو وصل میشن .
شما میتونید هر چند تا ماژول spi رو با هم به یه میکرو وصل کنید به ظرط اینکه پینهای CS اونها رو جداگونه انتخاب کنید.
همچنین نقششون رو تو این خط کد هم باید در نظر بگیرید و هر کدوم رو که خواستید مقدار دهی کنید به شماره پین cs اش دقت کنید.
و این که چون 14 تا میخوایکد:/* Set the LOAD (CS) digital pin number*/
#define LOAD 10
آردوینو UNO 13 تا پین دیجیتال + 6 تا آنالوگ داره که اون 6 تا رو هم میشه به عنوان دیجیتال تعریف کرد
سه تا از اون 14 تا واسه spi میره بنابراین
11+6 = 17
دوتاش هم که پین های پروگرام 0 و 1 هستن بهتره استفاده نشه
بنابراین میشه 15 تا بازم هم میتونی جواب بگیری
البته در تئوری!
ممکنه یه موقع آردوینو برای 14 تاش جریان کم بیاره
البته مکس 7219 spi نداره. مکس 7221 spi داره و مستقیما با اس پی آی میتونه مقدار دهی بشه. مکس 7219 درسته نامگذاری پایه هاش مث spi هست ولی کلاک سلکت cs نداره و بجاش همون لچ یا لود داره.
The MAX7219/MAX7221 are compact, serial input/output
common-cathode display drivers that interface
microprocessors (μPs) to 7-segment numeric LED displays
of up to 8 digits, bar-graph displays, or 64 individual
LEDs
The MAX7221 is compatible
with SPI™, QSPI™, and MICROWIRE™, and has slewrate-
limited segment drivers to reduce EMI.
آخه توی کد نویسی هم حتی میاد از کتابخونه spi استفاده می کنه
تو هدر کد دقیقا صداش زده :
و چیزی هم که تو دیتاشیت دارم میبینم برای هر دوتاش یکسانهکد:#include "SPI.h"
فایل پیوست 2618
آهان
متوجه شدم
اینجا دقیق توضیح داده :
Arduino Playground - MAX72XXHardware
برای آردوینو عملا فرقی نمی کنن انگار چون کتاخونه spi ای که نوشته مشکل رو حل می کنه
ممنون از پاسختون
متاسفانه با مدار های منطقی اشنایی ندارم.
درسته بنده میخوام در عمل این کارو انجام بدم و به نظر بنده که جریان کم میاره باید مقدار جریان رو از یک منبع دیگه بگیرم
من نیاز به اتصال یک ماژول وای فای هم دارم برای اتصال به اینترنت
و مشکلی با دو تا برد آردینو ندارم
نه جریان کم نمیارید . خود آی سی 7219 برای همینکار ساخته شده. هر ماژول بصورت جدا به منبع تغذیه وصل میشه و فقط دیتا رو از آردویینو میگیره. اکثر وسایلی که به میکروکنترلرها وصل میشن خودشون تغذیه جدا دارن. مث نمایشگرا، ال سی دی ها و ...
ممنون از پاسختون
بنابر این من باید ی مدار جدا برای تغذیه سون سگمنت ها تهیه کنم.
و دیتا ها رو به اردینو وصل کنم
امکانش هست بکی از دوستان یک شماتیک از نحوه اتصال دیتا مدار رو به اردینو برای بنده بذاره
و البته یک نمونه از برنامه
بنده گفتم میتومم از دو تا اردینو استفاده کنم
مثلا دو تا اردینو رو به هم متصل کنم مثلا i2c
و بعد چند تا از سون سگمنت ها رو به یکی از ادرینو ها و تعدادی به ادرینو مادر که ماژول wifi هم داره متصل کنم و به یک سرور متصل کنم
و با سمت سرورش هیچ مشکلی نداره بنده برنامه نویس تحت وب هستم
میخوای یکسری اعداد بگریم و روی هر سگمت نمایش بدم
خیلی ممنون بابت پاسخگوییتون
اگر نمونه ای کد ضمینه کنید من ممنون میشم
نیازی به 2 تا آردویینو ندارید.
آردویینو اونو 20 پین ورودی خروجی داره
شما فقط به 16 تا پایه برای 14 تا ماژول نیاز دارید. 4 تا هم اضافه میارید.
اگه هم وایفای میخواید، برد nodeMCU رو میتونید بگیرید 20 تومن و با I2C به آردویینو وصل کنید. پین های I2C هم جدا هستن از بقیه پین ها و هنوز همون 4 تا پین اضافه رو دم دست دارید.
اگر پین بیشتر میخواید آردویینو مگا 2560 هم 70 تا پین ورودی خروجی داره با قیمت 35 تومن.
درسته خیلی متشکر بعد نمونه کدی میتونم داشته باشم؟
به نظرتون از خود ماژول esp8266 استفاده کنم با سریال هم کار میکنه خوبه؟
بله انتخاب Esp8266 برای انتقال اطلاعات تحت وایفای بسیار روش مناسبیه
و روش های کنترلی متفاوتی هم داره
مثلا این که خودش میتونه بره تو مد ap و از اون به بعد بتونید با گجت های مختلف کنترل رو انجام بدید یا اینکه وصل بشه به اکسس پوینت به عنوان کلاینت و باز هم مسیر مشابه
esp انتخاب خیلی خوبیه
درسته خیلی ممنون