مشاهده همه محصولات
محصولی پیدا نشد
دوست داشتن

ماژول نمایشگر OLED دو رنگ آبی و زرد 0.96 با پروتکل ارتباطی I2C درایور SSD1306

مرجع:
DKP - 41478
DKP - 41478
دسته بندی: ماژول OLED / LCD
موجودی: 213
پیشنهاد ویژه مدت محدود:
118,830 تومان 139,800 تومان
توضیحات

نمایشگر OLED SSD1306

با ورود ماژول OLED یا به عبارتی Organic Light emitting diode به دنیای نمایشگرها انقلاب تازه‌ای در الکترونیک را رقم زده است. پرنور، شفاف و بسیار نازک و انتخاب رنگ از ویژگی‌های بارز ماژول OLED مدرن است. پس از آموزش راه اندازی ال سی دی های کاراکتری نوبت به OLED گرافیکی رسیده است. محبوب ترین ماژول OLED که در حال حاضر در صنعت الکترونیک و بردهای توسعه میکروکنترلر استفاده می‌شود،

نمایشگر OLED با درایور قدرتمند SSD1306 است که در ظاهرهای مختلف به بازار ارائه شده است. چیپ SSD1306 یک کنترل کننده درایور قدرتمند CMOS است. این درایور از پروتکل های ارتباطی I2C و SPI پشتیبانی میکند و با توجه به اینکه در پروتکل I2C تنها با دو پایه برای اتصال نیاز دارد، ولتاژ کاری نمایشگر ۳٫۳ و ۵ ولت است و از هر دو پایه های تعذیه میکروکنترلر می‌توانید استفاده کنید. زاویه دید نمایشگر ۱۶۰ درجه است و ابعاد آن ۰٫۹۶ اینچ است. نمایشگر دارای ۸ سطر و ۱۲۸ ستون است.

 

ویژگی های فنی نمایشگر OLED SSD1306

برخی از ویژگی‌های فنی ماژول نمایشگر OLED SSD1306 عبارتند از:

  • رزولوشن: 128x64 پیکسل
  • ولتاژ کاری: 3.3 ولت
  • پروتکل ارتباطی: I2C
  • اندازه نمایشگر: 0.96 اینچ یا 1.3 اینچ
  • نوع نمایشگر: OLED
  • تعداد رنگ: 1 (سیاه و سفید)
  • زاویه دید: حدود 160 درجه در هر دو راستای عمودی و افقی
  • میزان روشنایی: قابل تنظیم
  • مصرف برق: کم
  • دمای کاری: بین -40 درجه سانتیگراد تا +85 درجه سانتیگراد

 

پایه های Pinout نمایشگر OLED SSD1306

نمایشگر OLED SSD1306 دارای دو نوع پایه متفاوت است که به شرح زیر است. ابتدا وصل کننده‌های پایه‌های نمایشگر SSD1306 را به پایه‌های مورد نظر در آردوینو وصل کنید. برای این منظور، پایه‌های VCC و GND به منابع تغذیه، پایه SCL به پایه A5 و پایه SDA به پایه A4 آردوینو وصل شوند. همچنین دقت داشته باشید که ترتیب پایه‌های ماژول OLED I2C به دو حالت در دسترس هستند که در ادامه میتوانید مشاهده کنید. البته راه اندازی‌ها هیچ تفاوتی ندارند.

  

نمایشگر OLED I2C

  • VCC: ولتاژ تغذیه (3.3 ولت)
  • GND: زمین
  • SCL: پایه کنترل ساعت I2C
  • SDA: پایه ارتباطی داده I2C

 

پایه های نمایشگر oled ssd1306 - دانشجوکیت

 

پایه های Pinut نمایشگر oled ssd1306 - دانشجوکیت

 

راه اندازی نمایشگر OLED SSD1306 با آردوینو

برای راه اندازی نمایشگر OLED SSD1306 با آردوینو، مراحل زیر را دنبال کنید.

ابتدا باید کتابخانه SSD1306 را در آردوینو نصب کنید. برای این کار به قسمت Sketch -> Include Library -> Manage Libraries بروید و در باکس جستجو کتابخانه SSD1306 را جستجو کنید. پس از پیدا شدن کتابخانه، آن را نصب کنید. کد زیر را کپی و در نرم افزار آردوینو Arduino IDE اجرا کنید. 

#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128 // OLED نمایشگر عرض صفحه
#define SCREEN_HEIGHT 32 // OLED نمایشگر ارتفاع صفحه

// نشانگر OLED تعریف می‌شود
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);

void setup() {
  Serial.begin(9600);

  // شروع ارتباط با OLED نمایشگر
  if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
    Serial.println(F("SSD1306 نمایشگر پیدا نشد"));
    while(true);
  }

  // طرح اولیه را پاک کنید
  display.clearDisplay();

  // متن را نمایش دهید
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(0, 0);
  display.println("Hello, World!");

  // نمایش تصویر
  display.display();
}

void loop() {
  // دستورات دیگر را در اینجا بنویسید
}

 

 راه اندازی نمایشگر OLED SSD1306 با میکروپایتون و ESP32

 برای راه اندازی نمایشگر OLED SSD1306 با ESP32، می توانید از کتابخانه ssd1306 استفاده کنید. ابتدا کتابخانه را در میکروپایتون ESP32 خود نصب کنید. سپس کد زیر را برای راه اندازی نمایشگر OLED SSD1306 با ESP32 بنویسید.

در این کد، ابتدا پایه های SPI تعریف شده و سپس نمایشگر با استفاده از پایه های مورد نیاز و از طریق پروتکل SPI ایجاد می شود. پس از ساخت نمایشگر، با فراخوانی oled.fill(0)، صفحه نمایش پاک شده و با oled.text() متن مورد نظر بر روی صفحه نمایش نمایش داده می شود. در انتها با oled.show() تغییرات روی نمایشگر اعمال می شود.

import machine
import ssd1306

# تعریف پایه های SPI
spi = machine.SPI(1, baudrate=80000000, polarity=0, phase=0)
# تعریف پایه های نمایشگر
oled = ssd1306.SSD1306_SPI(128, 64, spi, machine.Pin(16), machine.Pin(17), machine.Pin(18))

# پاک کردن نمایشگر
oled.fill(0)
oled.show()

# نمایش متن
oled.text("Hello, World!", 0, 0)
oled.show()

  

راه اندازی نمایشگر OLED SSD1306 با میکروپایتون و PICO RP2040

نمایشگر OLED SSD1306 با پروتکل ارتباطی I2C , SPI با تراشه RP2040 همخوانی دارد و قابلیت برنامه نویسی با زبان میکروپایتون را دارد. در ادامه توسط نرم افزار میکروپایتون Thonny IDE کد راه اندازی نمایشگر OLED را اجرا کنید. برای استفاده از سخت افزارها بایستی در ایتدا درایور آن ها برای میکروکنترلر نصب شود. این مورد کاملا وابسته به زبان برنامه نویسی مورد نظر و انتخاب نرم افزار است.

در این پروژه از زبان برنامه نویسی میکروپایتون و نرم افزار THONNY IDE برای نمایش دیتا در نمایشگر OLED استفاده می‌کنیم قدم اول برای معرفی نمایشگر OLED به نرم افزار THONNY IDE اضافه کردن درایور مورد نظر است. درایور نمایشگر OLED درایور SSD1306 است. به ترتیب زیر درایور را به نرم افزار و برد رزبری پای پیکو اضافه کنید.

درایور SSD1306 برای MICROPYTHON را دانلود کنید ( ترجیحا از گیت هاب دانلود کنید )  برای استفاده از سخت افزارها بایستی در ایتدا درایور آن ها برای میکروکنترلر نصب شود. این مورد کاملا وابسته به زبان برنامه نویسی مورد نظر و انتخاب نرم افزار است. در این پروژه از زبان برنامه نویسی میکروپایتون و نرم افزار THONNY IDE برای نمایش دیتا در نمایشگر OLED استفاده می‌کنیم قدم اول برای معرفی نمایشگر OLED به نرم افزار THONNY IDE اضافه کردن درایور مورد نظر است. درایور نمایشگر OLED درایور SSD1306 است. به ترتیب زیر درایور را به نرم افزار و برد رزبری پای پیکو اضافه کنید.

from machine import Pin, I2C 
from ssd1306 import SSD1306_I2C

w = 128
h = 64

i2c = I2C(0, scl=Pin(1), sda=Pin(0), freq=200000)
addr = i2c.scan()[0]
oled = SSD1306_I2C(w, h, i2c, addr)

oled.fill(0)
oled.text("Hello ", 5, 5)
oled.text("Ladyjaaaan", 35, 15)
oled.show()

  

 

ادامه مطلبShow less
جزئیات محصول
DKP - 41478

مشخصات

نوع ماژول
نمایشگر
ابعاد
27x27mm
ولتاژ مورد نياز
3.3 تا 5 ولت DC
رنگ بندی
نمایشگر زرد
تعداد پایه ها
4 پایه
پروتکل ارتباطی
I2C
پردازنده
SSD1306
نوع LCD
OLED
صفحه نمایش لمسی
ندارد
اندازه نمایشگر
0.96 اینچ
نوع نمایشگر
نمایشگر OLED
نوع مبدل
پروتکل I2C
نظرات(18)
رتبه‌بندی کلی
4.9
18 نظرات
کیفیت کالا
(4.8)
ارزش خرید
(4.9)
سوالات متداول
    سلام در ماژول پاور بانک من همه رو درست وصل کردم، باتری شارژ هم میشه اما با زدن شاسی چند ثانیه لامپ قرمز میشه ولی خروجی نمیده

    اتصالات باتری‌ها را بررسی کنید. همگی از یک نمونه باشند و اتصالات کامل و استاندارد باشند.


    برنامه نویسی در محیط ARDUINO IOT CLOUD به چه صورته؟

    پلتفرم ARDUINO IOT CLOUD از چه بردهای میکروکنترلی پشتیبانی میکنه؟

    ماژول برای شارژ و دشارژ همزمان باتری 18650 با ظرفیت 1200mAh تک سل چی بگیرم؟ tp4056 که چنین قابلیتی نداشت

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


    سلام برای راه اندازی ال سی دی کاراکتری 2x16 با i2c چه محصولی را باید خریداری کنم؟

    با سلام

    کاربر گرامی برای این منظور بایستی از ماژول PCF8574 استفاده کنید. لینک ماژول PCF8574 را بررسی کنید.


    چرا با اتصال تغذیه به نمایشگر OLED نمایشگر خاموش است؟

    در نظر داشته باشید، با اتصال تغذیه بدون اجرا شدن کد برنامه، نمایشگر فرمان روشن و فعال شدن را دریافت نمی‌کند و بایستی کد را ابتدا آپلود و سپس تغییرات را مشاهده کنید.


    ارور Adafruit_GFX.h به چه معناست؟

    اگر ارور "Adafruit_GFX.h" در محیط برنامه‌نویسی Arduino یا محیط‌های برنامه‌نویسی مشابه دیده می‌شود، این به معنای این است که کتابخانه گرافیک Adafruit GFX به درستی به پروژه شما اضافه نشده یا به صورت صحیح موقع کامپایل نمی‌شود. کتابخانه Adafruit GFX یک کتابخانه مفید برای کار با نمایشگرهای LCD و OLED است و بسیاری از پروژه‌های الکترونیکی آن را برای رسم شکل‌ها، متون و نمادها بر روی نمایشگر استفاده می‌کنند. اطمینان حاصل کنید که کتابخانه Adafruit GFX به پروژه شما اضافه شده باشد. برای افزودن این کتابخانه، در Arduino IDE به "Sketch" رفته و سپس "Include Library" و در نهایت "Adafruit GFX" را انتخاب کنید.


    آیان امکان راه اندازی چند سنسور DHT با ESP8266 با میکروپایتون وجود دارد؟

    امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایه‌های GPIO قابل اتصال به میکروکنترلرها هستند.


    IFTTT چیه و در پروژه های IOT چه نقشی داره?

    چه جوری از میکروکنترلر ESP32 برای ساخت یک سیستم کنترل دما استفاده کنیم؟ برنامه نویسی پیچیده است؟

    برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:

    یک برد میکروکنترلر ESP32

    یک سنسور دما مثل DHT DS18B20

    یک المان سرد کننده

    با استفاده از کتابخانه DHT.h، می‌توانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، می‌توانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.

    در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال داده‌ها به پلتفرم IoT باید استفاده کنید. 


     مایکروپایتون (MicroPython) چیه و در چه زمینه‌هایی مورد استفاده قرار می‌گیره؟

    من نتونستم درایور OLED SSD1306 را برای میکروپایتون نصب کنم راهنمایی کنید.

    برای نصب درایور SSD1306 فایل زیر را در thonny ide با نام SSD1306.py ذخیره کنید. 

    from time import sleep_ms
    from machine import Pin, I2C
    
    # Constants
    DISPLAYOFF          = 0xAE
    SETCONTRAST         = 0x81
    DISPLAYALLON_RESUME = 0xA4
    DISPLAYALLON        = 0xA5
    NORMALDISPLAY       = 0xA6
    INVERTDISPLAY       = 0xA7
    DISPLAYON           = 0xAF
    SETDISPLAYOFFSET    = 0xD3
    SETCOMPINS          = 0xDA
    SETVCOMDETECT       = 0xDB
    SETDISPLAYCLOCKDIV  = 0xD5
    SETPRECHARGE        = 0xD9
    SETMULTIPLEX        = 0xA8
    SETLOWCOLUMN        = 0x00
    SETHIGHCOLUMN       = 0x10
    SETSTARTLINE        = 0x40
    MEMORYMODE          = 0x20
    COLUMNADDR          = 0x21
    PAGEADDR            = 0x22
    COMSCANINC          = 0xC0
    COMSCANDEC          = 0xC8
    SEGREMAP            = 0xA0
    CHARGEPUMP          = 0x8D
    EXTERNALVCC         = 0x10	#0x1
    SWITCHCAPVCC        = 0x20	#0x2
    SETPAGEADDR         = 0xB0
    SETCOLADDR_LOW      = 0x00
    SETCOLADDR_HIGH     = 0x10
    ACTIVATE_SCROLL                      = 0x2F
    DEACTIVATE_SCROLL                    = 0x2E
    SET_VERTICAL_SCROLL_AREA             = 0xA3
    RIGHT_HORIZONTAL_SCROLL              = 0x26
    LEFT_HORIZONTAL_SCROLL               = 0x27
    VERTICAL_AND_RIGHT_HORIZONTAL_SCROLL = 0x29
    VERTICAL_AND_LEFT_HORIZONTAL_SCROLL  = 0x2A
    
    # I2C devices are accessed through a Device ID. This is a 7-bit
    # value but is sometimes expressed left-shifted by 1 as an 8-bit value.
    # A pin on SSD1306 allows it to respond to ID 0x3C or 0x3D. The board
    # I bought from ebay used a 0-ohm resistor to select between "0x78"
    # (0x3c << 1) or "0x7a" (0x3d << 1). The default was set to "0x78"
    DEVID = 0x3c
    
    # I2C communication here is either <DEVID> <CTL_CMD> <command byte>
    # or <DEVID> <CTL_DAT> <display buffer bytes> <> <> <> <>...
    # These two values encode the Co (Continuation) bit as b7 and the
    # D/C# (Data/Command Selection) bit as b6.
    CTL_CMD = 0x80
    CTL_DAT = 0x40
    
    class SSD1306(object):
    
    	def __init__(self, height=64, external_vcc=True, i2c_devid=DEVID):
    		self.external_vcc = external_vcc
    		self.height       = 32 if height == 32 else 64
    		self.pages        = int(self.height / 8)
    		self.columns      = 128
    		self._row = 0
    		self._col = 0
    		self._x = 0
    		self._y = 0
    
    		self.devid = i2c_devid
    		self.offset = 1
    		self.cbuffer = bytearray(2)
    		self.cbuffer[0] = CTL_CMD
    
    		self.i2c = I2C(scl=Pin(2), sda=Pin(16), freq=400000) 
    		self.buffer = bytearray(self.offset + self.pages * self.columns)
    		
    	def clear(self):
    		self.buffer = bytearray(self.offset + self.pages * self.columns)
    		if self.offset == 1:
    			self.buffer[0] = CTL_DAT
    
    	def write_command(self, command_byte):
    		self.cbuffer[1] = command_byte
    		self.i2c.writeto(self.devid, self.cbuffer)
    
    	def invert_display(self, invert):
    		self.write_command(INVERTDISPLAY if invert else NORMALDISPLAY)
    
    	def display(self):
    		self.write_command(COLUMNADDR)
    		self.write_command(0)
    		self.write_command(self.columns - 1)
    		self.write_command(PAGEADDR)
    		self.write_command(0)
    		self.write_command(self.pages - 1)
    		self.i2c.writeto(self.devid, self.buffer)
    
    	def set_pixel(self, x, y, state):
    		index = x + (int(y / 8) * self.columns)
    		if state:
    			self.buffer[self.offset + index] |= (1 << (y & 7))
    		else:
    			self.buffer[self.offset + index] &= ~(1 << (y & 7))
    
    	def init_display(self):
    		chargepump = 0x10 if self.external_vcc else 0x14
    		precharge  = 0x22 if self.external_vcc else 0xf1
    		multiplex  = 0x1f if self.height == 32 else 0x3f
    		compins    = 0x02 if self.height == 32 else 0x12
    		contrast   = 0x9f # 0x8f if self.height == 32 else (0x9f if self.external_vcc else 0x9f)
    		data = [DISPLAYOFF,
    				SETDISPLAYCLOCKDIV, 0xF0,
    				SETMULTIPLEX, 0x3f,
    				SETDISPLAYOFFSET, 0x00,
    				SETSTARTLINE | 0x00,
    				CHARGEPUMP, 0x14,
    				MEMORYMODE, 0x00,
    				SEGREMAP | 0x00,
    				COMSCANINC,
    				SETCOMPINS, 0x12,
    				SETCONTRAST, 0xCF,
    				SETPRECHARGE, 0xF1,
    				DISPLAYALLON_RESUME,
    				NORMALDISPLAY,
    				0x2e,		# stop scroll
    				DISPLAYON]
    		for item in data:
    			self.write_command(item)
    		# self.clear()
    		self.display()
    
    	def poweron(self):
    		if self.offset == 1:
    			sleep_ms(10)
    		else:
    			self.res.high()
    			sleep_ms(1)
    			self.res.low()
    			sleep_ms(10)
    			self.res.high()
    			sleep_ms(10)
    
    	def poweroff(self):
    		self.write_command(DISPLAYOFF)
    
    	def contrast(self, contrast):
    		self.write_command(SETCONTRAST)
    		self.write_command(contrast)
    		
    	def set_start_end_cols(self, start_col=0, end_col=None):
    		if end_col is None:
    			end_col = self.columns - 1
    		if start_col < 0 or start_col > self.columns - 1:
    			raise ValueError('Start column must be between 0 and %d.' % (self.columns - 1,))
    		if end_col < start_col or end_col > self.columns -1:
    			raise ValueError('End column must be between the start column (%d) and %d.' % (start_col, self.columns - 1))
    		self.write_command(COLUMNADDR)
    		self.write_command(start_col)  # Start column
    		self.write_command(end_col)  # End column
    
    	def set_start_end_pages(self, start_page=0, end_page=None):
    		if end_page is None:
    			end_page = self.pages - 1
    		if start_page < 0 or start_page > self.pages - 1:
    			raise ValueError('Start page must be between 0 and %d.' % (self.pages - 1,))
    		if end_page < start_page or end_page > self.pages - 1:
    			raise ValueError('End page must be between the start page (%d) and %d.' % (start_page, self.pages - 1))
    		self.write_command(PAGEADDR)
    		self.write_command(start_page)  # Page start address. (0 = reset)
    		self.write_command(end_page) # Page end address.
    			
    	def p_char(self, ch):
    		fp = (ord(ch)-0x20) * 5
    		char_buf = bytearray([0,0,0,0,0])
    		f = open('font5x7.fnt','rb')
    		f.seek(fp)
    		char_buf = f.read(5)
    		bp = self.columns*self._row + 6*self._col + 1
    		for x in range (0,5):
    			self.buffer[bp+x] = char_buf[x]
    			self.buffer[bp+5] = 0 # put in inter char space
    		self._col += 1
    		if (self._col>int(self.columns/6 - 1)):
    			self._col = 0
    			self._row += 1
    			if (self._row>int(self.height/8 - 1)):
    				self._row = 0	
    
    	def p_string(self, str):
    		for ch in (str):
    			self.p_char(ch)
    
    	def pixel(self,x,y,fill):
    		r = int(y/8)
    		i = r * self.columns + x + self.offset
    		b = y % 8
    		self.buffer[i] = self.buffer[i] | ( 1 << b )
    		
    
    
    
    

    از کدام پلتفرم های IOT برای پروژه هامون استفاده کنیم؟

خریداران این محصول، این کالاها را نیز خریده اند:
محصولات مرتبط

ویژگی‌های فیزیکی

ابعاد
27x27mm
رنگ بندی
نمایشگر زرد
تعداد پایه ها
4 پایه

ارتباطات

پروتکل ارتباطی
I2C

پردازنده

پردازنده
SSD1306

صفحه نمایش

نوع LCD
OLED
صفحه نمایش لمسی

تغذیه

ولتاژ مورد نياز
3.3 تا 5 ولت DC

سایر ویژگی‌ها

نوع ماژول
نمایشگر
اندازه نمایشگر
0.96 اینچ
نوع نمایشگر
نمایشگر OLED
نوع مبدل
پروتکل I2C
0 تومان
در این کیت 5 مدار آموزشی کنترل سطح مخزن آب ،آبیاری خودکار گل و باغچه ،دزدگیر منزل ،تهویه خودکار ،لامپ هوشمند بصورت کاردستی الکترونیک برای دانش آموزان و بدون نیاز به لحیم کاری و تجهیزات خاص به همراه DVD آموزش ویدئویی...
0 تومان
ماکت یک کیت مونتاژ شده مجموعه کامل و آماده جهت آموزش و یادگیری هوشمندسازی منازل و ساختمانهاست، با استفاده از اپلیکیشن بلوتوث موبایل سنسورهای ماکت را فعال میکنید و عملکرد هر ماژول بصورت آلارم هشدار بازر یا نمایش بر روی...

فهرست

تماس با دانشجو کیت

ساعت تماس همه روزه از 9 صبح تا 5 عصر (بجز روزهای تعطیل) البته فروشگاه ما به صورت آنلاین است و می‌توانید خریدتان را انجام دهید. اما اگر سوالی داشتید که به تماس تلفنی نیاز داشت، فقط در ساعت‌های اعلام شده در خدمتیم.

021-88857245

021-88856524

031-32243207

031-32211313

 

شماره روبیکا و ایتا، فقط پیام، پاسخ به سوالات قبل از خرید و دریافت تصاویر کالاها

09375076606

 

ارسال سریع تهران (تحویل همان روز)

تمامی شهرهای ایران با پست

بخش قوانین ارسال و قوانین خرید را مطالعه کنید.

جستجو

مشاهده همه محصولات
محصولی پیدا نشد

یک حساب کاربری رایگان برای ذخیره آیتم‌های محبوب ایجاد کنید.

ورود به سیستم