সুচিপত্র:

স্মার্টবিন: 4 টি ধাপ
স্মার্টবিন: 4 টি ধাপ

ভিডিও: স্মার্টবিন: 4 টি ধাপ

ভিডিও: স্মার্টবিন: 4 টি ধাপ
ভিডিও: Найти и обезвредить (1982) фильм 2024, নভেম্বর
Anonim
Image
Image

এই প্রকল্পের মূল উদ্দেশ্য হল একটি ইলেকট্রনিক ডিভাইস তৈরি করা যা কমপক্ষে একটি রাস্পবেরি পাই ব্যবহার করে। দলটি 5 ভবিষ্যত যান্ত্রিক প্রকৌশলী এবং একজন অটোমেশন প্রকৌশলী নিয়ে গঠিত। আমাদের প্রজেক্টে রয়েছে একটি ট্র্যাশ ক্যান তৈরি করা যা ট্র্যাশ ক্যানের সামনে কেন্দ্রে অবস্থিত মোশন ডিটেক্টরের অধীনে একটি পায়ের নড়াচড়ার দ্বারা স্বয়ংক্রিয়ভাবে চালু হয় এবং বন্ধ হয়ে যায়। একটি ওয়েবসাইটে ওয়াইফাই ইউএসবি স্টিক ব্যবহার করা হয়। এই বিনটিকে "স্মার্টবিন" বলা হয়। উপরের হাস্যকর ভিডিওটি আমাদের উদ্ভাবনী স্মার্টবিনের পরিচয় দিয়েছে।

এই প্রকল্প এবং এই অসাধারণ স্মার্টবিনটি সম্পাদনের জন্য, বেশ কয়েকটি সরঞ্জাম প্রয়োজন ছিল:

  • একটি মিটার
  • শক্তিশালী আঠালো
  • একটি আঠালো টেপ
  • একটা কাঠের করাত
  • একটি স্ক্রুডাইভার
  • একটি ড্রিল মেশিন
  • একটি বাতা
  • একটি ছুরি

ধাপ 1: স্মার্টবিন সরঞ্জাম

স্মার্টবিন সরঞ্জাম
স্মার্টবিন সরঞ্জাম
স্মার্টবিন সরঞ্জাম
স্মার্টবিন সরঞ্জাম

স্মার্টবিন সবুজ, কমলা এবং লাল এলইডি লাইটের সমন্বয়ে গঠিত যা বিনের বাম পাশে একটি ফিক্সচারে স্থাপন করা হয়েছে যা নির্দেশ করবে যে এটি কতটা ভরাট। এই লাইটগুলি স্পষ্টভাবে দৃশ্যমান হবে এবং ট্র্যাশ ব্যাগটি প্রতিস্থাপন করার প্রয়োজন হলে ব্যবহারকারীকে সতর্ক করবে। ব্যবহৃত প্রোগ্রামিং ভাষা হল পাইথন। বিনের পরিমাপের মাত্রা নিম্নলিখিত ওয়েবসাইটে প্রেরণ করা হয়:

এখানে ব্যবহৃত উপাদানগুলি রয়েছে কিন্তু আপনি সহজেই একটি বিকল্প সমাধান খুঁজে পেতে পারেন:

  • 1 বিন ("সুইং কভার" বিন)
  • বিন খুলতে 1 সার্ভোমোটর
  • 1 রাস্পবেরি পাই 2
  • রাস্পবেরি পাই এবং সার্ভোমোটার সরবরাহ করতে 2 পাওয়ার সাপ্লাই (5V মোবাইল ফোন চার্জার এবং 6V পাওয়ার সাপ্লাই)
  • 1 আল্ট্রাসনিক সেন্সর বিনের ফিলিং লেভেল পরিমাপ করতে
  • কিছু LED ভরাট স্তর প্রদর্শন করতে (4 সবুজ, 2 কমলা এবং 1 লাল)
  • 1 একটি আন্দোলন সনাক্ত করার জন্য অতিস্বনক গতি আবিষ্কারক
  • 1 16 জিবি এসডি কার্ড
  • বৈদ্যুতিক প্রতিরোধক (10.000 Ohms, 2000 Ohms এবং 1000 Ohms)
  • 1 ওয়াইফাই ইউএসবি স্টিক ওয়েবসাইটে ওয়্যারলেস ট্রান্সমিশন সক্ষম করতে।
  • 1 ব্রেডবোর্ড এবং কিছু রাস্পবেরি কেবল

আনুমানিক উৎপাদন মূল্য 80।

ধাপ 2: রাস্পবেরি বক্স এবং এলইডি বারের উত্পাদন

রাস্পবেরি বক্স এবং LED বার উত্পাদন
রাস্পবেরি বক্স এবং LED বার উত্পাদন
রাস্পবেরি বক্স এবং LED বার উত্পাদন
রাস্পবেরি বক্স এবং LED বার উত্পাদন
রাস্পবেরি বক্স এবং LED বার উত্পাদন
রাস্পবেরি বক্স এবং LED বার উত্পাদন

রাস্পবেরি বাক্স তৈরির জন্য, কাঠের করাত ব্যবহার করুন। বাক্সের প্রতিটি পাশে রিভেট দিয়ে বেঁধে রাখুন যাতে এটি পরিষ্কার দেখা যায়। যেমনটি এর নাম থেকে বোঝা যায়, এই বাক্সটিতে এটি কেবল রাস্পবেরি পাই নয় বরং মোশন সেন্সরও অন্তর্ভুক্ত করবে যা আপনি নীচে রাখবেন। একবার বাক্সটি তৈরি হয়ে গেলে, এটি বিনের মতো একই রঙে আঁকুন। এই বাক্সটি তৈরি করতে 3D মুদ্রণ প্রযুক্তি ব্যবহার করা যেতে পারে।

এলইডি বার তৈরির জন্য, একটি বৈদ্যুতিক নালী ব্যবহার করুন যেখানে আপনি LED লাইট ইনস্টল করার অনুমতি দেওয়ার জন্য গর্ত ড্রিল করুন। LED বারটিও আঁকতে হবে। সবকিছু প্রস্তুত হয়ে গেলে, নলগুলিতে LEDs ইনস্টল করুন এবং বৈদ্যুতিক সংযোগ তৈরি করুন। আঠালো টেপ সহ প্রতিটি LED তারের সঠিকভাবে নম্বর দেওয়ার দিকে মনোযোগ দিন। এটি আপনাকে তারের সময় প্রতিটি LED সনাক্ত করতে সাহায্য করবে।

অবশেষে, আপনার বিনের সামনে বাক্স এবং LED বার সংযুক্ত করুন।

ধাপ 3: াকনা অংশ

Lাকনা অংশ
Lাকনা অংশ
Lাকনা অংশ
Lাকনা অংশ

বিনের idাকনা সম্পর্কিত, প্রথম ধাপ হল সার্ভোমোটরকে idাকনাতে আঠালো করা। লিভারেজের একটি এক্সটেনশন আগে তৈরি করতে হবে। লিভার একটি স্টপ আঘাত করবে যা আগে হস্তনির্মিত ছিল। সঠিক অবস্থানে অতিস্বনক সেন্সর ধরে রাখার জন্য screwাকনাতে একটি স্ক্রু বক্স সংযুক্ত করুন এবং এতে একটি গর্ত করুন। নিশ্চিত করুন যে আপনি সঠিকভাবে টেপ দিয়ে idাকনাতে তারগুলি সংযুক্ত করেছেন।

ধাপ 4: সফ্টওয়্যার অংশ এবং ডেটা অর্জন

সফটওয়্যার পার্ট এবং ডেটা অর্জন
সফটওয়্যার পার্ট এবং ডেটা অর্জন
সফটওয়্যার পার্ট এবং ডেটা অর্জন
সফটওয়্যার পার্ট এবং ডেটা অর্জন
সফটওয়্যার পার্ট এবং ডেটা অর্জন
সফটওয়্যার পার্ট এবং ডেটা অর্জন

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

www.raspberrypi-spy.co.uk/2012/06/simple-g…

মুভমেন্ট ডিটেক্টর প্রতিস্থাপনের জন্য একটি অতিস্বনক সেন্সর ব্যবহার করা সম্ভব, আপনাকে কোডে একটি "if loop" তৈরি করতে হবে।

উপরে উল্লিখিত হিসাবে, বিন যে স্তরে ভরা হয় সে সম্পর্কিত ডেটা wix.com- এ তৈরি একটি ওয়েবসাইটে প্রেরণ করা হয়। এই ওয়েবসাইটে, আপনি বিভিন্ন ট্যাব খুঁজে পেতে পারেন যা দলের সদস্য, হার্ডওয়্যার এবং সফ্টওয়্যার উপস্থাপনা সংগ্রহ করে,… আকর্ষণীয় ট্যাবটি আসলে "ডাটাবেস" ট্যাব যা সরাসরি স্মার্টবিন থেকে ট্র্যাশের পরিমাণ সম্পর্কিত তথ্য সংগ্রহ করে এবং ডেটা সহ একটি গ্রাফ তৈরি করে । গ্রাফ ভরাট স্তরের বিবর্তন প্রদর্শন করে। ওয়েবসাইট থেকে ডাটা দেখা বা ডাউনলোড করা সম্ভব। নীচের লিঙ্কটি আমরা যে ওয়েবসাইটটি ব্যবহার করেছি তা আপনাকে দেখাবে এবং কীভাবে পাইথন দিয়ে গুগল শীটে পড়তে এবং লিখতে হবে:

www.makeuseof.com/tag/read-write-google-sh…

কোডের "অটোরুন অংশ" সম্পর্কে, টার্মিনালে লিখুন: sudo nano/etc/xdg/lxsession/LXDE-pi/autostart

তারপরে, স্ক্রিপ্টের শেষে যা সবে খোলা হয়েছে, এই দুটি কোড লাইন লিখুন: python /home/pi/main.py & python /home/pi/csvcontrol.py &

অরুরুন সংরক্ষণ করতে, টিপুন: C trl + O তারপর, চাপুন: Enter তারপর, চাপুন: C trl + X

শেষ কোড লাইন হিসাবে লিখুন: sudo রিবুট

আপনি সংযুক্তিটি ডাউনলোড করতে সক্ষম যা প্রকল্পের জন্য ব্যবহৃত সম্পূর্ণ পাইথন কোড। উভয় কোড একই সময়ে চালানো হয়!

এখানে main.py কোড:

RPi. GPIO আমদানি GPIOimport তারিখ সময় আমদানি সময় আমদানি csv

GPIO.setmode (GPIO. BCM)

GPIO.setwarnings (মিথ্যা)

capteurP = 7

servo = 17

GPIO.setup (servo, GPIO. OUT)

GPIO.setup (capteurP, GPIO. IN)

pwm = GPIO. PWM (17, 50)

GPIO.setup (5, GPIO. OUT)

GPIO.setup (6, GPIO. OUT) GPIO.setup (13, GPIO. OUT) GPIO.setup (19, GPIO. OUT) GPIO.setup (20, GPIO. OUT) GPIO.setup (21, GPIO. OUT) GPIO.setup (26, GPIO. OUT)

ট্রিগ = 23

প্রতিধ্বনি = 24

GPIO.setup (Trig, GPIO. OUT)

GPIO.setup (ইকো, GPIO. IN)

GPIO.setwarnings (মিথ্যা)

GPIO.output (5, মিথ্যা)

GPIO.output (6, মিথ্যা) GPIO.output (13, মিথ্যা) GPIO.output (19, মিথ্যা) GPIO.output (20, মিথ্যা) GPIO.output (21, মিথ্যা)

GPIO.output (Trig, False)

টাইমসেট = টাইম টাইম ()

দূরত্ব = 100 মেমরি = 0 সময় ঘুম (2) pwm.start (12.5)

যখন সত্য:

timetac = time.time () যদি GPIO.input (capteurP) এবং timetac-timeset0.9: pwm. ChangeDutyCycle (2.5) time.sleep (0.2) memory = -0.5 pwm. ChangeDutyCycle (0) timetac = time.time () time.sleep (0.5) if timetac-timeset> 15 or memory> 0.4: if memory> 0.4: pwm. ChangeDutyCycle (2.5) time.sleep (1) x in range (0, 1): # GPIO.output (Trig, সত্য) time.sleep (0.01) GPIO.output (Trig, False)

যখন GPIO.input (Echo) == 0 এবং timetac-timeset <17: timetac = time.time () debutImpulsion = time.time ()

যখন GPIO.input (Echo) == 1:

finImpulsion = time.time () যদি timetac-timeset <17: distance1 = round ((finImpulsion-debutImpulsion) * 340 * 100 /2, 1) দূরত্ব 2 = দূরত্ব যদি (দূরত্ব 1-দূরত্ব 2) <1 এবং (দূরত্ব 2-দূরত্ব 1) 0.4: ডিস = রাউন্ড ((60-দূরত্ব)*5/6, 1) খোলা ('capteur.csv', 'w') সহ csvfile: capteurwriter = csv.writer (csvfile) time_str = datetime.datetime.strftime (datetime.datetime.now (), '%Y-%m-%d%H:%M:%S') প্রিন্ট ('সময়: {0} কোয়ান্টাইটি: {1}'। ফরম্যাট (time_str, dis)) capteurwriter। লেখক GPIO.output (6, মিথ্যা) যদি দূরত্ব <37.5: GPIO.output (13, সত্য) অন্য: GPIO.output (13, মিথ্যা) যদি দূরত্ব <30: GPIO.output (19, সত্য) অন্য: GPIO.output (19, মিথ্যা) যদি দূরত্ব <22.5: GPIO.output (20, সত্য) অন্য: GPIO.output (20, মিথ্যা) যদি দূরত্ব <15: GPIO.output (21, সত্য) অন্য: GPIO.output (21, মিথ্যা) যদি দূরত্ব <7.5: GPIO.output (26, সত্য) অন্য: GPIO.output (26, মিথ্যা)

এখানে csvcontrol.py কোড। Main.py এর একই ডিরেক্টরিতে তৈরি ".json" ফাইলটি পেস্ট করতে ভুলবেন না। ". Json" ফাইলটি গুগল এপিআই দিয়ে তৈরি করা হয়েছে। ছবিতে একটি স্ক্রিনশট পাওয়া যায়।

আমদানি তারিখ সময় আমদানি সময় আমদানি CSV আমদানি gspread

oauth2client.service_account আমদানি ServiceAccountCredentials থেকে

সময় থেকে আমদানি ঘুম আমদানি ট্রেসব্যাক

timec2 = 'lol'

যদিও সত্য: time.sleep (5) loc = ('capteur.csv') খোলা (loc) সহ csvfile: readCSV = csv.reader (csvfile, delimiter = ',') readCSV: সারিতে (সারি [0]) timec = row [0] print (row [1]) distance = row [1] distance = float (str (distance)) if timec2! = timec: timec2 = timec print ('সময়: {0} পরিমাণ: { 1} '। ফরম্যাট (টাইমসি, দূরত্ব))

সুযোগ = ['https://www.googleapis.com/auth/spreadsheets', "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/ ড্রাইভ "]

credentials = ServiceAccountCredentials.from_json_keyfile_name ('client_secret.json', SCOPES) gc = gspread.authorize (credentials) wks = gc.open ("গ্রাফ")।

প্রস্তাবিত: