সুচিপত্র:

ওয়েব সংযুক্ত ডিজিটাল ঘড়ি: 7 টি ধাপ
ওয়েব সংযুক্ত ডিজিটাল ঘড়ি: 7 টি ধাপ

ভিডিও: ওয়েব সংযুক্ত ডিজিটাল ঘড়ি: 7 টি ধাপ

ভিডিও: ওয়েব সংযুক্ত ডিজিটাল ঘড়ি: 7 টি ধাপ
ভিডিও: স্ত্রী কি তালাক হয়ে যাবে..? #islamic #real #youtube#islamicquotes#allah #video #viral#ameen#status 2024, নভেম্বর
Anonim
ওয়েব সংযুক্ত ডিজিটাল ঘড়ি
ওয়েব সংযুক্ত ডিজিটাল ঘড়ি

আমাজনে ১০ ডলারের একটি ডিজিটাল ঘড়ি পাওয়া গেছে। এখন ইন্টারনেট থেকে সময় পেতে এটি কাস্টমাইজ করুন।

সরবরাহ

বেসিক এ এআরএম স্ট্যাম্প প্রোগ্রামযোগ্য এখানে পাওয়া যায়

ধাপ 1: মাল্টিপ্লেক্সড ডিসপ্লের জন্য ডিজিট ড্রাইভ এবং সেগমেন্ট ড্রাইভ সংযুক্ত করুন

মাল্টিপ্লেক্সড ডিসপ্লের জন্য ডিজিট ড্রাইভ এবং সেগমেন্ট ড্রাইভ সংযুক্ত করুন
মাল্টিপ্লেক্সড ডিসপ্লের জন্য ডিজিট ড্রাইভ এবং সেগমেন্ট ড্রাইভ সংযুক্ত করুন

আমি শেলফের বড় সংখ্যা ডিজিটাল ঘড়ি দিয়ে শুরু করেছি। প্রথমে আমি বিদ্যমান ঘড়ি চিপ সরিয়েছি। তারপর কিছু অনুসন্ধান করে 7 সেগমেন্ট সংযোগ স্থাপন করে, যা সরাসরি মাইক্রোপ্রসেসর দ্বারা চালিত হতে পারে। তারপর 4 অঙ্কের ড্রাইভার পাওয়া গেল যা ট্রানজিস্টর যা মাইক্রোপ্রসেসর চালাতে পারে। এবং তারপর তাদের আপ তারের।

ধাপ 2: সংযোগগুলি পরীক্ষা করুন

সংযোগগুলি পরীক্ষা করুন
সংযোগগুলি পরীক্ষা করুন

একটি পরীক্ষা হিসাবে আমি সমস্ত লাইন চালানোর জন্য একটি মৌলিক প্রোগ্রাম লিখেছিলাম, তারের পরীক্ষা এবং বর্তমান পরিমাপ, যা এই ক্ষেত্রে ছিল 82 mA

পরবর্তী লাইনগুলি স্ক্যান করার জন্য কোড লিখতে হয়েছিল।

'ওয়েব ক্লক ডিসপ্লে ড্রাইভ

IO (7) = 0 'PMOS ড্রাইভ - একদিন PWM হবে

y = 45 থেকে 48 এর জন্য

IO (y) = 0 'ডিজিটের ড্রাইভ

x = 8 থেকে 15 এর জন্য

IO (x) = 0 'সেগমেন্ট ড্রাইভ

অপেক্ষা করুন (500)

IO (x) = 1

পরবর্তী x

DIR (y) = 0 'সেগমেন্টে ড্রাইভ অক্ষম করুন

পরবর্তী y

ধাপ 3: উজ্জ্বলতা নিয়ন্ত্রণের জন্য কোড প্রদর্শন করার সময় এবং PWM

উজ্জ্বলতা নিয়ন্ত্রণ করার জন্য কোড প্রদর্শন করার সময় এবং PWM
উজ্জ্বলতা নিয়ন্ত্রণ করার জন্য কোড প্রদর্শন করার সময় এবং PWM
উজ্জ্বলতা নিয়ন্ত্রণ করার জন্য কোড প্রদর্শন করার সময় এবং PWM
উজ্জ্বলতা নিয়ন্ত্রণ করার জন্য কোড প্রদর্শন করার সময় এবং PWM

পরবর্তী আমি সমস্ত ডিজিটের ড্রাইভারদের পাওয়ার সাপ্লাইতে একটি PMOS ট্রানজিস্টর যুক্ত করেছি। যে পালস প্রস্থ মডুলেশন দ্বারা চালিত সঙ্গে প্রদর্শন এর উজ্জ্বলতা নিয়ন্ত্রণ করবে। সময় প্রদর্শনের জন্য এখানে বেসিক কোড দেওয়া হল।

'ওয়েব ক্লক ডিসপ্লে ড্রাইভ #অন্তর্ভুক্ত "LPC11U3x.bas"

'বিশ্বব্যাপী

hr = 0 'ঘন্টা নির্ধারণ করুন

min = 0 'মিনিট নির্ধারণ করুন

#SEG_0 এবং HBB00 নির্ধারণ করুন

#SEG_1 এবং H1800 নির্ধারণ করুন

#SEG_2 এবং HD300 নির্ধারণ করুন

#SEG_3 এবং HD900 নির্ধারণ করুন

#SEG_4 এবং H7800 নির্ধারণ করুন

#SEG_5 এবং HE900 নির্ধারণ করুন

#SEG_6 এবং HEB00 নির্ধারণ করুন

#SEG_7 এবং H9800 নির্ধারণ করুন

#SEG_8 এবং HFB00 নির্ধারণ করুন

#SEG_9 এবং HF800 নির্ধারণ করুন

#SEG_o এবং H4B00 সংজ্ঞায়িত করুন

#SEG_f এবং HE200 নির্ধারণ করুন

const DIGarray = {SEG_0, SEG_1, SEG_2, SEG_3, SEG_4, SEG_5, SEG_6, SEG_7, SEG_8, SEG_9, SEG_o, SEG_f}

#ডিআইজি_ওয়াইটি সংজ্ঞায়িত করুন 1

#US_TIME নির্ধারণ করুন

সাব ডিসপ্লে_টাইম (ভুল, ঘন্টা, মিনিট)

dim hr10, hr1, min10, min1, i

#ifdef US_TIME

যদি hr> 12 তাহলে hr -= 12

যদি hr = 0 তাহলে hr = 12

#যদি শেষ

hr10 = ঘন্টা / 10

hr1 = ঘন্টা MOD 10

min10 = মিনিট / 10

min1 = মিনিট MOD 10

i = 0 থেকে 1 এর জন্য

যদি hr10 তাহলে

IO (45) = 0

যদি শেষ

GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (hr10)

GPIO_CLR (0) = DIGarray (hr10)

অপেক্ষা করুন (DIG_WAIT)

ইনপুট (45)

IO (46) = 0

GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (hr1) + IF (i, & H400, 0)

GPIO_CLR (0) = DIGarray (hr1) + IF (i, & H400, 0)

অপেক্ষা করুন (DIG_WAIT)

ইনপুট (46)

IO (47) = 0

GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (min10)

GPIO_CLR (0) = DIGarray (min10)

অপেক্ষা করুন (DIG_WAIT)

ইনপুট (47)

IO (48) = 0

GPIO_DIR (0) = (GPIO_DIR (0) & HFFFF00FF) + DIGarray (min1)

GPIO_CLR (0) = DIGarray (min1)

অপেক্ষা করুন (DIG_WAIT)

ইনপুট (48)

পরবর্তী আমি

শেষ

ব্যবহারকারী TIMER1 (32 বিট) প্রতি মিনিটে বাধা দিতে

ইন্টারপার্ট সাব টাইমার 1 আইআরকিউ

T1_IR = 1 'পরিষ্কার বিঘ্ন

মিনিট += 1

যদি মিনিট> 59 তাহলে

মিনিট = 0

ঘন্টা += 1

যদি hr> 23 তাহলে

ঘন্টা = 0

যদি শেষ

যদি শেষ

এন্ডসাব

SUB ON_TIMER (max_cnt, dothis)

TIMER1_ISR = dothis + 1 'VIC এর সেট ফাংশন - থাম্ব অপারেশনের জন্য +1 প্রয়োজন

SYSCON_SYSAHBCLKCTRL OR = (1 << 10) 'TIMER1 সক্ষম করুন

T1_PR = 0 'no prescale - আরো সঠিক সময়ের জন্য মান সমন্বয় করবে

VICIntEnable OR = (1 << TIMER1_IRQn) 'বাধা সক্ষম করুন

T1_MR0 = max_cnt-1 'ms এর মিল নম্বর সেট করুন

T1_MCR = 3 'ইন্টারাপ্ট এবং রিসেট অন

MR0 T1_IR = 1 'স্পষ্ট বিরতি

T1_TC = 0 'ক্লিয়ার টাইমার কাউন্টার

T1_TCR = 1 'TIMER1 সক্ষম করুন

এন্ডসাব

#MINUT_PCLK 2880000000 '60 সেকেন্ড 48 MHz এ নির্ধারণ করুন

প্রধান:

ঘন্টা = 9

মিনিট = 33

ON_TIMER (MINUT_PCLK, ADDRESSOF TIMER1IRQ)

IO (7) = 0 'PWM কোনো দিন - P0_22 এ যেতে হবে ??

যখন 1

display_time (0, ঘন্টা, মিনিট)

লুপ

ধাপ 4: একটি ইন্টারনেট সংযোগ তৈরি করুন

একটি ইন্টারনেট সংযোগ তৈরি করুন
একটি ইন্টারনেট সংযোগ তৈরি করুন

ওয়াইফাই সংযোগের জন্য একটি ESP8266 ব্যবহার করুন। কিছুক্ষণের জন্য ওয়েবে ঘুরে বেড়ানোর পরে সেরা সমাধানটি ছিল নোডেমকু সংস্করণ 0.9.6 এবং একটি পুরানো esp8266_flasher সবচেয়ে ভাল কাজ করেছিল।

www.electrodragon.com/w/File:Nodemcu_20150704_firmware.zip

তারপর ইন্টারনেট থেকে সময় পরিবেশন করার জন্য একটি সহজ PHP ওয়েবপেজ-

করিডিয়াম টাইম সার্ভার

<? পিএইচপি

$ টাইমজোন = htmlspecialchars ($ _ GET ["zone"]); যদি ($ টাইমজোন == "")

$ টাইমজোন = 'আমেরিকা/লস_এঞ্জেলস';

$ tz_object = নতুন DateTimeZone ($ timezone);

$ ডেটটাইম = নতুন তারিখ সময় ();

$ datetime-> setTimezone ($ tz_object);

প্রতিধ্বনি "সময় হল-", $ datetime-> বিন্যাস ('H: i: s');

প্রতিধ্বনি "";

প্রতিধ্বনি "তারিখ হল-", $ datetime-> বিন্যাস ('m/d/Y');

?>

সেই ওয়েবপেজটি তাই আপনি অনুরোধ করতে পারেন

coridium.us/time.php - এবং আপনি ভালভাবে ইউএস প্যাসিফিক টাইম জোন পাবেন

অথবা

coridium.us/time.php?zone=Europe/London

কোন ত্রুটি যাচাই এবং সম্ভবত সম্ভবত হবে না

এবং লুয়া যে পড়তে -

wifi.sta.config ("your_SSID", "your_PASSWORD")> wifi.sta.connect ()…

sk = net.createConnection (net. TCP, 0)

sk: on ("receive", function (sck, c) print (c) end)

sk: সংযোগ (80, "coridium.us")

sk: send ("GET /time.php HTTP/1.1 / r / n হোস্ট: coridium.us / r / n সংযোগ: কিপ-লাইভ / r / n গ্রহণ করুন: */ *\ r / n / r / n")

এবং আপনি সময় হিসাবে ফিরে পেতে

সময় -09: 38: 49 তারিখ হল -2018-31-12

ধাপ 5: ওয়েব থেকে সময় বিশ্লেষণ করতে বেসিক কোড যুক্ত করুন

ওয়েব থেকে সময় বিশ্লেষণ করতে বেসিক কোড যুক্ত করুন
ওয়েব থেকে সময় বিশ্লেষণ করতে বেসিক কোড যুক্ত করুন

এটি সম্পূর্ণ বেসিক প্রোগ্রামের একটি উপসেট, যে সম্পূর্ণ প্রোগ্রামটি চূড়ান্ত ধাপে লিঙ্কে দেখা যাবে।

যদি strstr (build_gets, "time is-") = 0 তাহলে

hr = build_gets (8) - "0"

যদি build_gets (9) = ":" তাহলে

min = (build_gets (10) - "0")*10

min += build_gets (11) - "0"

অন্য

hr = hr * 10 + build_gets (9) - "0"

min = (build_gets (11) - "0")*10

min += build_gets (12) - "0"

যদি শেষ

যদি শেষ

ধাপ 6: ডিসপ্লে ডিম করার জন্য একটি হালকা সেন্সর এবং কোড যোগ করুন

ডিসপ্লে ডিম করার জন্য একটি লাইট সেন্সর এবং কোড যুক্ত করুন
ডিসপ্লে ডিম করার জন্য একটি লাইট সেন্সর এবং কোড যুক্ত করুন
ডিসপ্লে ডিম করার জন্য একটি লাইট সেন্সর এবং কোড যোগ করুন
ডিসপ্লে ডিম করার জন্য একটি লাইট সেন্সর এবং কোড যোগ করুন
ডিসপ্লে ডিম করার জন্য একটি লাইট সেন্সর এবং কোড যোগ করুন
ডিসপ্লে ডিম করার জন্য একটি লাইট সেন্সর এবং কোড যোগ করুন

রুমে পরিবেষ্টিত আলো অনুভব করার জন্য একটি ফটো ট্রানজিস্টার যুক্ত করা হয়েছিল। এটি ছাড়া ডিসপ্লেটি রাতে মৃতকে (আমাকে) জাগানোর জন্য যথেষ্ট উজ্জ্বল।

ফটো ট্রানজিস্টরের আউটপুটের এনালগ ভোল্টেজ পড়া হয় এবং পালস প্রস্থ মডুলেশন ডিসপ্লের সামগ্রিক উজ্জ্বলতা নির্ধারণ করে।

ধাপ 7: ঘড়ির বোতাম এবং এটি ব্যবহার শুরু করুন।

ঘড়ির বোতাম এবং এটি ব্যবহার শুরু করুন।
ঘড়ির বোতাম এবং এটি ব্যবহার শুরু করুন।

চূড়ান্ত সংস্করণ সময় প্রদর্শন করে, এবং প্রায় 3 AM এ এটি বর্তমান সময় পড়তে ওয়েবে যায়। এটি দিনের আলো সংরক্ষণের সময়ও পরিচালনা করে।

এই প্রকল্পের প্রেরণা ছিল আমাদের এখানে পাহাড়ে বিদ্যুতের ব্যর্থতা এবং তাদের বাঁচিয়ে রাখার জন্য ঘড়িগুলি পুনরায় সেট করা বা ব্যাটারি প্রতিস্থাপনের প্রয়োজন।

এই প্রকল্পের একটি দ্রুত ওভারভিউ হয়েছে।

এই DIY ওয়েব সংযুক্ত ঘড়ির সম্পূর্ণ বিবরণ।

প্রস্তাবিত: