সুচিপত্র:
- ধাপ 1: আইনস্টেলেন / আইনরিখটেন ডের ARDUINO GUI
- ধাপ 2: I2C Schnittstelle Scannen
- ধাপ 3: ডেমো-স্কেচ Anpassen এবং Auf Den ESP Hochladen
- ধাপ 4: সরঞ্জাম, লিঙ্ক এবং Herkunft/Literaturhinweis
ভিডিও: HowTo - Esp -12F Mini WiFi Modul ESP8266 18650 Nodemcu Batterie 0.96”OLED DEMO Via Arduino GUI: 4 ধাপ
2024 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2024-01-30 08:00
হ্যালো, hier möchte ich Euch zeigen wie Ihr das mit auf der Hauptplatine verbaute OLED Display benutzen/ansteuern könnt। Um es möglichst einfach zu halten, benutze ich die ARDUINO GUI zum schreiben des CODEs und zum hochladen der Firmware।
ধাপ 1: আইনস্টেলেন / আইনরিখটেন ডের ARDUINO GUI
Als erstes muss das ESP8266 বোর্ড in der ARDUINO GUI verfügbar gemacht werden।
Dazu gehen wir in die Einstellungen (Datei Einstellungen / Bild 1) der GUI und tragen unter
"Zusätzliche Boardverwalter-URLs:"
ein (বিল্ড 2)। Damit bekommen wir den benötigten Zugang zu dem passenden Boardtreiber।
Jetzt können wir den Passenden Boardtreiber installieren।
(Werkzeuge বোর্ড: Boardverwaltung / Bild 3)
- Dort im Suchfeld "esp8266" eintragen
- Dan "esp8266 by ESP8266 কমিউনিটি" auswählen und die aktuellste Version installieren (Bild 4)
- মরে ARDUINO GUI neu starten
- Danach das passende Board auswählen (z. B.: WeMos D1 R2 & mini)
ধাপ 2: I2C Schnittstelle Scannen
Um zu sehen an welche PINs das OLED-Display angeschlossen wurde, scannen wir zuerst die I2C-Schnittstelle। সুতরাং können wir auch sehen ob noch weitere I2C-Parts angeschlossen sind।
Den Sketch (Bild 1) auf den ESP Hochladen, den "Seriellen-Monitor" öffnen und auf die Ausgabe warten। Dort könnt Ihr dann sehen, welches ডিভাইস wo gefunden wurde। (বিল্ড 2 - ডিজিটালপিন স্ক্যান)
দাস এরজিবনিস মারকেন।
ডাইজেম পতনে: SDA = D1: SCL = D2 bei Adresse 0x3c
ধাপ 3: ডেমো-স্কেচ Anpassen এবং Auf Den ESP Hochladen
Das ist der Code für das OLED-Display DEMO
আমি 5. Abschnitt findet Ihr die Stelle an der der Code ggf. modifiziert werden muss।
এছাড়াও I2C-Schnittstelle এর জন্য কনফিগারেশন মরা।
Aus diesem Code könnt Ihr euch auch viele Infos über die Benutzung eines OLEDs ableiten।
/** * এমআইটি লাইসেন্স (এমআইটি)), সফটওয়্যারে * সীমাবদ্ধতা ছাড়াই লেনদেন করা, সীমাবদ্ধতা ছাড়া * সফটওয়্যারের কপি ব্যবহার, অনুলিপি, সংশোধন, একত্রীকরণ, প্রকাশ, বিতরণ, সাবলাইসেন্স, এবং/অথবা বিক্রি করার অধিকার, এবং যাদের সফটওয়্যার নিম্নলিখিত শর্তাবলী সাপেক্ষে এটি করার জন্য সজ্জিত করা হয়েছে: * * সফটওয়্যারটি "যেমন আছে", যে কোন প্রকারের ওয়্যারান্টি ছাড়াই, এক্সপ্রেস বা * ইমপ্লাইড ছাড়াও প্রদান করা হয়, কিন্তু সীমাবদ্ধ নয় সামঞ্জস্যের গ্যারান্টিগুলিতে কোন ক্ষেত্রেই * লেখক বা কপিরাইট হোল্ডারদের কোন দাবী, ক্ষতি বা অন্যান্য * দায়বদ্ধতার জন্য দায়বদ্ধ হতে হবে, চুক্তি, কর বা অন্য কোন কাজের ক্ষেত্রে, অন্যথায় বা অন্য কোন ক্ষেত্রে * সফটওয়্যারে লেনদেন। * *
/ সঠিক ডিসপ্লে লাইব্রেরি অন্তর্ভুক্ত করুন
// ওয়্যার ব্যবহার করে I2C এর মাধ্যমে সংযোগের জন্য #include // I2C Wire এর জন্য #অন্তর্ভুক্ত "SSD1306.h" // '#include "SSD1306Wire.h"' এর জন্য উপনাম অন্তর্ভুক্ত করুন
// কাস্টম ছবি অন্তর্ভুক্ত করুন
#"ইমেজ.এইচ" অন্তর্ভুক্ত করুন
// brzo_i2c ব্যবহার করে OLED ডিসপ্লে শুরু করুন
// D3 -> SDA // D5 -> SCL // SSD1306 ডিসপ্লে (0x3c, D1, D2); অথবা SSD1306 ডিসপ্লে (0x3c, 5, 4); অথবা SSD1306 ডিসপ্লে (0x3c, GPIO5, GPIO4);
**************************************************************************************************
An der folgenden Stelle werden dann die PINs für die I2C Schnittstelle konfiguriert।
// ওয়্যার লাইব্রেরি ব্যবহার করে OLED ডিসপ্লে শুরু করুন
SSD1306 ডিসপ্লে (0x3c, D1, D2);
***************************************************************************************************
#ডেমো_ডুরেশন 3000 নির্ধারণ করুন
typedef void (*Demo) (void);
int demoMode = 0;
int কাউন্টার = 1;
অকার্যকর সেটআপ() {
Serial.begin (9600); Serial.println ("OLED_DEMO"); Serial.println ("ডেমো শুরু করুন");
// UI আরম্ভ করলে প্রদর্শনও শুরু হবে।
display.init ();
display.flipScreenVertically ();
display.setFont (ArialMT_Plain_10);
}
void drawFontFaceDemo () {
// ফন্ট ডেমো 1 সিরিয়াল.প্রিন্টলন ("ফন্ট ডেমো 1"); // https://oleddisplay.squix.ch/ display.setTextAlignment (TEXT_ALIGN_LEFT) এ আরও ফন্ট তৈরি করুন; display.setFont (ArialMT_Plain_10); display.drawString (0, 0, "ProMoScout"); display.setFont (ArialMT_Plain_16); display.drawString (0, 10, "ProMoScout"); display.setFont (ArialMT_Plain_24); display.drawString (0, 26, "ProMoScout"); }
অকার্যকর drawTextFlowDemo () {
Serial.println ("drawTextFlowDemo"); display.setFont (ArialMT_Plain_10); display.setTextAlignment (TEXT_ALIGN_LEFT); display.drawStringMaxWidth (0, 0, 128, "রোবট হচ্ছে ut n ভবিষ্যত, এবং ভবিষ্যৎ, এখন। কিন্তু প্রকৃতি ভুলে যাবেন না"); }
অকার্যকর drawTextAlignmentDemo () {
Serial.println ("drawTextAlignmentDemo"); // পাঠ্য সারিবদ্ধকরণ ডেমো display.setFont (ArialMT_Plain_10); // Schriftart und -größe einstellen
// স্থানাঙ্কগুলি পাঠ্যের বাম প্রান্ত বিন্দু সংজ্ঞায়িত করে
display.setTextAlignment (TEXT_ALIGN_LEFT); // Text_Ausrichtung einstellen display.drawString (0, 10, "বাম সারিবদ্ধ (0, 10)");
// স্থানাঙ্কগুলি পাঠ্যের কেন্দ্র সংজ্ঞায়িত করে
display.setTextAlignment (TEXT_ALIGN_CENTER); display.drawString (64, 22, "কেন্দ্র সারিবদ্ধ (64, 22)");
// স্থানাঙ্কগুলি পাঠ্যের ডান প্রান্ত সংজ্ঞায়িত করে
display.setTextAlignment (TEXT_ALIGN_RIGHT); display.drawString (128, 33, "ডান সারিবদ্ধ (128, 33)"); }
অকার্যকর drawRectDemo () {
Serial.println ("drawRectDemo"); // প্রদত্ত অবস্থানে একটি পিক্সেল আঁকুন (int i = 0; i <10; i ++) {display.setPixel (i, i); display.setPixel (10 - i, i); } display.drawRect (12, 12, 20, 20);
// আয়তক্ষেত্র পূরণ করুন
display.fillRect (14, 14, 17, 17);
// অনুভূমিকভাবে একটি রেখা আঁকুন
display.drawHorizontalLine (0, 40, 20);
// অনুভূমিকভাবে একটি রেখা আঁকুন
display.drawVerticalLine (40, 0, 20); }
অকার্যকর drawCircleDemo () {
Serial.println ("drawCircleDemo"); জন্য (int i = 1; i <8; i ++) {display.setColor (WHITE); display.drawCircle (32, 32, i*3); যদি (i % 2 == 0) {display.setColor (BLACK); } display.fillCircle (96, 32, 32 - i* 3); }}
অকার্যকর drawProgressBarDemo () {
Serial.println ("drawProgressBarDemo"); int অগ্রগতি = (পাল্টা / 5) % 100; // অগ্রগতি বার প্রদর্শন আঁকা। DrawProgressBar (0, 32, 120, 10, অগ্রগতি);
// স্ট্রিং হিসাবে শতাংশ আঁকুন
display.setTextAlignment (TEXT_ALIGN_CENTER); display.drawString (64, 15, স্ট্রিং (অগ্রগতি) + "%"); }
Der folgende Link im Kommentar kann helfen ein Bild oder Logo so umzuwandeln, das es auf dem Display angezeigt werden kann…
অকার্যকর drawImageDemo () {
Serial.println ("drawImageDemo"); // দেখুন https://blog.squix.org/2015/05/esp8266-nodemcu-how… // কিভাবে xbm ফাইল display.drawXbm তৈরি করতে হয় }
ডেমো ডেমো = {drawFontFaceDemo, drawTextFlowDemo, drawTextAlignmentDemo, drawRectDemo, drawCircleDemo, drawProgressBarDemo, drawImageDemo};
int demoLength = (sizeof (demos) / sizeof (Demo)); দীর্ঘ সময় SinceLastModeSwitch = 0;
অকার্যকর লুপ () {
// সাফ ডিসপ্লে display.clear (); // বর্তমান ডেমো পদ্ধতি ডেমো আঁকুন [ডেমো মোড] ();
display.setTextAlignment (TEXT_ALIGN_RIGHT);
display.drawString (10, 128, স্ট্রিং (মিলিস ())); // প্রদর্শন display.display () এ বাফার লিখুন;
যদি (মিলিস () - timeSinceLastModeSwitch> DEMO_DURATION) {
demoMode = (demoMode + 1) % demoLength; timeSinceLastModeSwitch = মিলিস (); } পাল্টা ++; বিলম্ব (10); }
ধাপ 4: সরঞ্জাম, লিঙ্ক এবং Herkunft/Literaturhinweis
Ich möchte mich bei allen bedanken die an dem ein oder anderen Code mit gewirkt haben।
Die Grundlagen für diese Anleitung habe ich gefunden unter:
www.instructables.com/id/ESP8266-I2C-PORT-…
github.com/ThingPulse/esp8266-oled-ssd1306…
ভিয়েল গ্রী
ম্যাকউটি
প্রস্তাবিত:
ইন্টারনেট ঘড়ি: NTP প্রোটোকল সহ ESP8266 NodeMCU ব্যবহার করে একটি OLED দিয়ে তারিখ এবং সময় প্রদর্শন করুন: 6 টি ধাপ
ইন্টারনেট ঘড়ি: NTP প্রোটোকল সহ ESP8266 NodeMCU ব্যবহার করে একটি OLED দিয়ে তারিখ এবং সময় প্রদর্শন করুন: হাই বন্ধুরা এই নির্দেশাবলীতে আমরা একটি ইন্টারনেট ঘড়ি তৈরি করব যা ইন্টারনেট থেকে সময় পাবে তাই এই প্রকল্পটি চালানোর জন্য আরটিসির প্রয়োজন হবে না, এটি কেবল একটি প্রয়োজন কাজ করছে ইন্টারনেট সংযোগ এবং এই প্রকল্পের জন্য আপনার একটি esp8266 প্রয়োজন হবে যা একটি
ROBBA দ্বারা চালিত ARDUINO YUN Via Wifi App by STEFANO DALL'OLIO: 4 টি ধাপ (ছবি সহ)
ARDUINO YUN Via Wifi App দ্বারা STEFANO DALL'OLIO এর দ্বারা চালিত রুম: এই নির্দেশিকার সাথে আমি ARDUINO YUN কে Roomba এর সাথে সংযোগ করতে কোডটি শেয়ার করি যাতে Wifi এর মাধ্যমে Roomba চালানো যায়। Olio. আমার Roomba হল Roomba 620 কিন্তু আপনি অন্যান্য রুমের জন্য একই কোড ব্যবহার করতে পারেন
কমলা পিআই HowTo: উইন্ডোজের জন্য উইন্ডোজের জন্য সানক্সি টুল কম্পাইল করুন: 14 টি ধাপ (ছবি সহ)
কমলা পিআই HowTo: উইন্ডোজের জন্য উইন্ডোজের জন্য সানক্সি টুল কম্পাইল করুন: প্রয়োজনীয়তা: আপনার উইন্ডোজ চালিত একটি (ডেস্কটপ) কম্পিউটারের প্রয়োজন হবে। একটি ইন্টারনেট সংযোগ। একটি কমলা পিআই বোর্ড শেষটি alচ্ছিক, কিন্তু আমি নিশ্চিত, আপনার কাছে এটি ইতিমধ্যেই আছে। অন্যথায় আপনি এই নির্দেশনা পড়বেন না। যখন আপনি কমলা পিআই পাপ কিনবেন
কমলা PI HowTo: এটি 5 "HDMI TFT LCD ডিসপ্লে দিয়ে ব্যবহারের জন্য সেট করুন: 8 টি ধাপ (ছবি সহ)
কমলা পিআই কিভাবে: এটি 5 "এইচডিএমআই টিএফটি এলসিডি ডিসপ্লে দিয়ে ব্যবহার করার জন্য সেট করুন: আপনি যদি আপনার অরেঞ্জ পিআই -এর সাথে একসঙ্গে একটি এইচডিএমআই টিএফটি এলসিডি ডিসপ্লে অর্ডার করার জন্য যথেষ্ট বিচক্ষণ হন, তাহলে আপনি সম্ভবত এটিকে জোর করে কাজ করার চেষ্টা করতে অসুবিধায় নিরুৎসাহিত হবেন যদিও অন্যরা এমনকি কোন বাধা নোট করতে পারেনি।
কমলা PI HowTo: এটি গাড়ির রিয়ারভিউ ডিসপ্লে এবং HDMI থেকে RCA অ্যাডাপ্টারের সাথে ব্যবহারের জন্য সেট করুন: 15 টি ধাপ
অরেঞ্জ পিআই হাউটো: গাড়ির রিয়ারভিউ ডিসপ্লে এবং এইচডিএমআই থেকে আরসিএ অ্যাডাপ্টারের সাথে এটি ব্যবহার করার জন্য সেট করুন: ফরওয়ার্ড।এমন মনে হয় যে অন্যরা বড় এবং এমনকি বড় টিভি সেট ব্যবহার করে বা মূর্খ কমলা পিআই বোর্ড দিয়ে মনিটর করে। এবং এটি এমবেডেড সিস্টেমের উদ্দেশ্যে তৈরি করা যখন একটু বেশি মনে হয়। এখানে আমাদের ছোট কিছু এবং সস্তা কিছু দরকার। যেমন একটা