সুচিপত্র:

একটি এরগোমিটার বাইক দিয়ে ভোল্টেজ তৈরি করা: 9 টি ধাপ (ছবি সহ)
একটি এরগোমিটার বাইক দিয়ে ভোল্টেজ তৈরি করা: 9 টি ধাপ (ছবি সহ)

ভিডিও: একটি এরগোমিটার বাইক দিয়ে ভোল্টেজ তৈরি করা: 9 টি ধাপ (ছবি সহ)

ভিডিও: একটি এরগোমিটার বাইক দিয়ে ভোল্টেজ তৈরি করা: 9 টি ধাপ (ছবি সহ)
ভিডিও: একটা বাইক একটানা কত কিলোমিটার চালাতে পারবেন || how to ride bike long distance 2024, নভেম্বর
Anonim
একটি এরগোমিটার বাইক দিয়ে ভোল্টেজ তৈরি করা
একটি এরগোমিটার বাইক দিয়ে ভোল্টেজ তৈরি করা
একটি এরগোমিটার বাইক দিয়ে ভোল্টেজ তৈরি করা
একটি এরগোমিটার বাইক দিয়ে ভোল্টেজ তৈরি করা
একটি এরগোমিটার বাইক দিয়ে ভোল্টেজ তৈরি করা
একটি এরগোমিটার বাইক দিয়ে ভোল্টেজ তৈরি করা

প্রকল্পের বিস্তারটি একটি "গেম" সমাবেশে অন্তর্ভুক্ত ছিল যার উদ্দেশ্য ছিল একটি জেনারেটরের সাথে সংযুক্ত একটি এর্গোমিটার বাইকে প্যাডেল করা এবং প্রদীপের একটি টাওয়ার যা ইঞ্জিনের গতি বাড়ার সাথে সাথে সক্রিয় হয় - যা সাইকেল প্যাডেলিংয়ের সাথে সম্পর্কিত। সিস্টেমটি পড়ার উপর ভিত্তি করে তৈরি করা হয়েছিল-একটি Arduino Mega এর একটি এনালগ পোর্টের মাধ্যমে-তাত্ক্ষণিক ভোল্টেজ উৎপন্ন করা হয়, তারপর সিরিয়াল RX-TX যোগাযোগের মাধ্যমে একটি রাস্পবেরি পাই 3 এ এই তথ্য প্রেরণ এবং রিলে এর মাধ্যমে প্রদীপগুলির পরবর্তী সক্রিয়করণ।

ধাপ 1: উপকরণ:

  • 1 রাস্পবেরি পাই 3;
  • 1 Arduino মেগা 2560;
  • 1 রিলে শিল্ড 10 রিলে 12 V;
  • 10 ভাস্বর বাতি 127 V;
  • 1 এরগোমিটার বাইক;
  • 1 বৈদ্যুতিক মেশিন (জেনারেটর) 12 ভি;
  • প্রতিরোধক (1x1kΩ, 2x10kΩ);
  • 1 ইলেক্ট্রোলাইটিক ক্যাপাসিটর 10 µF;
  • 1 জেনার ডায়োড 5.3 V;
  • 1.5 মিমি কেবল (লাল, কালো, বাদামী);
  • 10 টি প্রদীপের জন্য সমর্থন সহ 1 MDF টাওয়ার।

ধাপ 2: সিস্টেম ব্লক ডায়াগ্রাম:

সিস্টেম ব্লক ডায়াগ্রাম
সিস্টেম ব্লক ডায়াগ্রাম

ধাপ 3: সিস্টেম অপারেশন:

সিস্টেমটি বৈদ্যুতিক শক্তিতে সাইকেল চালানোর সময় উৎপন্ন গতিশক্তির রূপান্তরের উপর ভিত্তি করে যা রিলেগুলির সক্রিয়করণের জন্য দায়ী যা বাতিগুলি চালু করবে।

জেনারেটর দ্বারা উৎপন্ন ভোল্টেজটি Arduino এর একটি এনালগ পিন দ্বারা পাঠ করা হয় এবং RX-TX এর মাধ্যমে রাস্পবেরি পাইতে পাঠানো হয়। রিলেগুলির সক্রিয়করণ উত্পন্ন ভোল্টেজের সমানুপাতিক - ভোল্টেজ যত বেশি হবে তত বেশি রিলে ট্রিগার হবে এবং আরও বাতি জ্বলবে।

ধাপ 4: যান্ত্রিক দিক

যান্ত্রিক দিক
যান্ত্রিক দিক

যান্ত্রিকভাবে ডিসি জেনারেটরকে সাইকেলে যুক্ত করার জন্য, বেল্ট সিস্টেমটি সাধারণ সাইকেলে ব্যবহৃত সিস্টেম দ্বারা প্রতিস্থাপিত করতে হয়েছিল (একটি মুকুট, চেইন এবং পিনিয়ন নিয়ে)। একটি ধাতব প্লেট সাইকেল ফ্রেমে dedালাই করা হয়েছিল যাতে স্ক্রু দ্বারা ইঞ্জিন সুরক্ষিত করা যায়। এর পরে, পিনিয়নটি জেনারেটর শ্যাফ্টে dedালাই করা হয়েছিল যাতে চেইনটি স্থাপন করা যায়, জেনারেটরের সাথে প্যাডেল সিস্টেমকে সংযুক্ত করে।

ধাপ 5: ভোল্টেজ পড়া:

Arduino ব্যবহার করে জেনারেটরের ভোল্টেজ পড়ার জন্য ইলেকট্রিক্যাল মেশিনের পজেটিভ পোলকে কন্ট্রোলারের A0 পিন এবং নেগেটিভ পোলকে GND- এর সাথে সংযুক্ত করতে হবে - যাতে জেনারেটরের সর্বোচ্চ ভোল্টেজ 5 V এর চেয়ে বেশি হয় Arduino পিন, 10 µF এর একটি ক্যাপাসিটর ব্যবহার করে একটি ভোল্টেজ ফিল্টার, 1 kΩ এর একটি প্রতিরোধক এবং 5.3 V এর একটি জেনার ডায়োড নির্মাণ এবং নিয়ন্ত্রক এবং জেনারেটরের মধ্যে সংযুক্ত ছিল। আরডুইনোতে লোড হওয়া ফার্মওয়্যারটি খুবই সহজ এবং শুধুমাত্র একটি এনালগ পোর্ট পড়ার মধ্যে রয়েছে, ধ্রুবক 0.0048828125 (5/1024, যা Arduino এর GPIO ভোল্টেজকে তার এনালগ পোর্টের বিটের সংখ্যা দ্বারা বিভক্ত) দ্বারা পাঠিত মানকে গুণ করে এবং পাঠায় সিরিয়ালে পরিবর্তনশীল - কোডটি নিবন্ধে পাওয়া যাবে।

রাস্পবেরি পাইতে আরএক্স-টিএক্স যোগাযোগ সক্ষম করার পদ্ধতিটি কিছুটা জটিল এবং আপনাকে অবশ্যই লিঙ্কে বর্ণিত পদ্ধতি অনুসরণ করতে হবে। সংক্ষেপে, আপনাকে "/etc/inittab" -এ অবস্থিত "inittab" নামক একটি ফাইল সম্পাদনা করতে হবে -"T0: 23: respawn:/sbin/getty -L ttyAMA0 115200 vt100" লাইনটি মন্তব্য করুন (যদি ফাইলটি না হয় রাস্পবেরির ওএসে প্রতিষ্ঠিত, আপনাকে অবশ্যই কমান্ডটি প্রবেশ করতে হবে: "sudo leafpad /boot/config.txt" এবং ফাইলের শেষে "enable_uart = 1" লাইনটি যুক্ত করুন)। একবার এটি হয়ে গেলে, আপনাকে অবশ্যই LX টার্মিনাল পুনরায় খুলতে হবে এবং "sudo systemctl stop [email protected]" এবং "sudo systemctl অক্ষম সিরিয়াল- [email protected]" কমান্ড দিয়ে সিরিয়াল অক্ষম করতে হবে। এর পরে আপনাকে "sudo leafpad /boot/cmdline.txt" কমান্ডটি চালাতে হবে, "console = serial0, 115200" লাইনটি মুছে ফেলুন, ফাইলটি সংরক্ষণ করুন এবং ডিভাইসটি পুনরায় চালু করুন। RX-TX যোগাযোগ সম্ভব হওয়ার জন্য, সিরিয়াল লাইব্রেরি অবশ্যই রাস্পবেরি পাইতে "sudo apt-get install -f python-serial" কমান্ড দিয়ে ইনস্টল করতে হবে এবং "আমদানি সিরিয়াল" লাইন byুকিয়ে কোডে লাইব্রেরি আমদানি করতে হবে, "ser = serial. Serial (" / dev / ttyS0 ", 9600)" লাইন byুকিয়ে সিরিয়াল আরম্ভ করা এবং "ser.readline ()" কমান্ড ব্যবহার করে আরডুইনো পাঠানো ভোল্টেজের পড়া - সম্পূর্ণ কোড ব্যবহার করা হয়েছে রাস্পবেরিতে নিবন্ধের শেষে উপলব্ধ করা হবে।

উপরে বর্ণিত পদ্ধতি অনুসরণ করে, পড়ুন এবং পাঠান ভোল্টেজ ধাপ সম্পূর্ণ।

ধাপ 6: Arduino প্রোগ্রামিং:

পূর্বে বলা হয়েছে, সাইকেল চালানোর সময় উৎপন্ন ভোল্টেজ পড়ার জন্য দায়ী কোডটি খুবই সহজ।

প্রথমত, ভোল্টেজ পড়ার জন্য দায়ী হিসেবে A0 পিন নির্বাচন করা প্রয়োজন।

"অকার্যকর সেটআপ ()" ফাংশনে, আপনাকে "pinMode (সেন্সর, ইনপুট)" কমান্ড দিয়ে পিন A0 ইনপুট সেট করতে হবে এবং "Serial.begin (9600)" কমান্ড ব্যবহার করে সিরিয়াল পোর্ট ট্রান্সমিশন গতি নির্বাচন করতে হবে।

"অকার্যকর লুপ ()" -এ, "সিরিয়াল.ফ্লাস ()" ফাংশনটি প্রতিবার সিরিয়ালের মাধ্যমে তথ্য পাঠানো বন্ধ করার সময় বাফার সাফ করতে ব্যবহৃত হয়; ভোল্টেজ রিডিং "এনালগ রিড (সেন্সর)" ফাংশন দ্বারা সঞ্চালিত হয় - মনে রাখবেন যে এনালগ পোর্ট দ্বারা পড়া মানকে ভোল্টে রূপান্তর করা প্রয়োজন - নিবন্ধের "রিডিং ভোল্টেজ" বিভাগে উদ্ধৃত প্রক্রিয়া।

এছাড়াও, "অকার্যকর লুপ ()" ফাংশনে, ভেরিয়েবল x কে ফ্লোট থেকে স্ট্রিংয়ে রূপান্তর করা প্রয়োজন, যেহেতু RX-TX এর মাধ্যমে ভেরিয়েবল পাঠানোর একমাত্র উপায় এটি। লুপ ফাংশনের শেষ ধাপ হল সিরিয়াল পোর্টে স্ট্রিং প্রিন্ট করা যাতে এটি রাস্পবেরিতে পাঠানো যায় - এর জন্য আপনাকে অবশ্যই "Serial.println (y)" ফাংশনটি ব্যবহার করতে হবে। লাইনটিতে "বিলম্ব (100)" শুধুমাত্র সংযোজন করা হয়েছে যাতে ভেরিয়েবল 100 ms এর ব্যবধানে পাঠানো হয় - যদি এই সময়টি সম্মান করা না হয়, সিরিয়াল ওভারলোড ঘটবে, প্রোগ্রামে সম্ভাব্য ক্র্যাশ তৈরি করবে।

voltage_read.ino

ভাসা সেন্সর = A0;
অকার্যকর সেটআপ() {
পিনমোড (সেন্সর, ইনপুট);
Serial.begin (9600);
}
voidloop () {
Serial.flush ();
float x = analogRead (sensor)*0.0048828125*16.67;
স্ট্রিং y = "";
y+= x;
Serial.println (y);
বিলম্ব (100);
}

GitHub দ্বারা raw দিয়ে হোস্ট করা rawvoltage_read.ino দেখুন

ধাপ 7: রাস্পবেরি পাই 3 প্রোগ্রামিং:

lamps_bike.py

os #import the os লাইব্রেরি আমদানি করুন (প্রয়োজনে পর্দা পরিষ্কার করতে ব্যবহৃত)
আমদানি RPi. GPIOas gpio #import লাইব্রেরি রাস্পনারির জিপিআইও নিয়ন্ত্রণ করতে ব্যবহৃত হয়
সিরিয়াল যোগাযোগের জন্য দায়ী সিরিয়াল #ইমপোর্ট লাইব্রেরি আমদানি করুন
আমদানি সময় #আমদানি লাইব্রেরি যা বিলম্ব ফাংশন ব্যবহার করা সম্ভব করে তোলে
আমদানি সাবপ্রসেস #ইমপোর্ট লাইব্রেরি গান চালানোর জন্য দায়ী
#শুরু সিরিয়াল
ser = serial. Serial ("/dev/ttyS0", 9600) #ডিভাইসের নাম এবং বড রেট নির্ধারণ করুন
#পরিষ্কার পর্দা
clear = lambda: os.system ('clear')
রিলে নিয়ন্ত্রণের জন্য #সেট পিন
gpio.setmode (gpio. BOARD)
gpio.setup (11, gpio. OUT) #ল্যাম্প 10
gpio.setup (12, gpio. OUT) #ল্যাম্প 9
gpio.setup (13, gpio. OUT) #ল্যাম্প 8
gpio.setup (15, gpio. OUT) #ল্যাম্প 7
gpio.setup (16, gpio. OUT) #ল্যাম্প 6
gpio.setup (18, gpio. OUT) #ল্যাম্প 5
gpio.setup (19, gpio. OUT) #ল্যাম্প 4
gpio.setup (21, gpio. OUT) #lamp 3
gpio.setup (22, gpio. OUT) #lamp 2
gpio.setup (23, gpio. OUT) #ল্যাম্প 1
#রেকর্ড শুরু করুন
নাম = ["কেউ না"]*10
ভোল্টেজ = [0.00]*10
#পড়া রেকর্ড ফাইল
f = খোলা ('রেকর্ড', 'r')
আমি সাজানোর জন্য (10): #10 সেরা স্কোর তালিকায় উপস্থিত হয়
নাম = f.readline ()
name = name [: len (name )-1]
ভোল্টেজ = f.readline ()
ভোল্টেজ = ভাসা (ভোল্টেজ [: len (ভোল্টেজ )-1])
f.close ()
পরিষ্কার()
#সর্বোচ্চ ভোল্টেজ সেট করুন
সর্বোচ্চ = 50.00
#বাতি নিভিয়ে দাও
আমি সাজানোর জন্য (11, 24, 1):
যদি আমি! = 14 এবং আমি! = 17 এবং আমি! = 20:
gpio.output (i, gpio. HIGH) #set to HIGH, রিলে বন্ধ হয়ে গেছে
#শুরু
যখন সত্য:
#প্রাথমিক পর্দা
মুদ্রণ "রেকর্ড: / n"
আমি সাজানোর জন্য (10):
মুদ্রণের নাম , ":", ভোল্টেজ , "ভি"
current_name = raw_input ("শুরু করতে আপনার নাম লিখুন:")
পরিষ্কার()
#সর্বোচ্চ মান পরিবর্তন করুন
যদি current_name == "সর্বোচ্চ":
সর্বোচ্চ = ইনপুট ("সর্বোচ্চ ভোল্টেজ লিখুন: (2 দশমিক স্থান)")
পরিষ্কার()
অন্য:
#সতর্কতা শুরু করুন
আমি সাজানোর জন্য (11, 24, 1): #লুপ পিন 11 এ শুরু হয় এবং পিন 24 এ থামে
যদি আমি! = 14 এবং আমি! = 17 এবং আমি! = 20: #PIN 14 এবং 20 হল GND পিন এবং 20 হল 3.3 V পিন
gpio.output (i, gpio. LOW) #বাতি জ্বালান
সময় ঘুম (0.5)
k = 10
আমি সাজানোর জন্য (23, 10, -1):
পরিষ্কার()
যদি আমি! = 14 এবং আমি! = 17 এবং আমি! = 20:
subprocess. Popen (['aplay', 'Audios/'+str (k)+'। wav'])
সময় ঘুম (0.03)
পরিষ্কার()
"প্রস্তুত! print n", কে মুদ্রণ করুন
সময় ঘুম (1)
k- = 1
gpio.output (i, gpio. HIGH) #বাতি নিভিয়ে দাও (একে একে)
subprocess. Popen (['aplay', 'Audios/go.wav']) #শুরু সঙ্গীত চালায়
সময় ঘুম (0.03)
পরিষ্কার()
মুদ্রণ "যান!"
সময় ঘুম (1)
পরিষ্কার()
#ভোল্টেজ পড়া
current_voltage = 0.00
ভোল্টেজ 1 = 0.00
আমি সাজানোর জন্য (200):
ser.flushInput ()
আগের = ভোল্টেজ 1
ভোল্টেজ 1 = ফ্লোট (ser.readline ()) #RX-TX দ্বারা স্থানান্তরিত Arduino এর তথ্য
পরিষ্কার()
প্রিন্ট ভোল্টেজ 1, "ভি"
যদি ভোল্টেজ 1> কারেন্ট_ভোল্টেজ:
current_voltage = voltage1
# উৎপন্ন ভোল্টেজের উপর নির্ভর করে, আরো বাতি জ্বলে।
যদি ভোল্টেজ 1 <সর্বোচ্চ/10:
আমি সাজানোর জন্য (11, 24, 1):
যদি আমি! = 14 এবং আমি! = 17 এবং আমি! = 20:
gpio.output (i, gpio. HIGH)
যদি ভোল্টেজ 1> = সর্বোচ্চ/10:
gpio.output (11, gpio. LOW)
আমি সাজানোর জন্য (12, 24, 1):
যদি আমি! = 14 এবং আমি! = 17 এবং আমি! = 20:
gpio.output (i, gpio. HIGH)
যদি ভোল্টেজ 1> = 2*সর্বোচ্চ/10:
আমি সাজানোর জন্য (11, 13, 1):
gpio.output (i, gpio. LOW)
আমি সাজানোর জন্য (13, 24, 1):
যদি আমি! = 14 এবং আমি! = 17 এবং আমি! = 20:
gpio.output (i, gpio. HIGH)
যদি ভোল্টেজ 1> = 3*সর্বোচ্চ/10:
আমি সাজানোর জন্য (11, 14, 1):
gpio.output (i, gpio. LOW)
আমি সাজানোর জন্য (15, 24, 1):
যদি আমি! = 17 এবং আমি! = 20:
gpio.output (i, gpio. HIGH)
যদি ভোল্টেজ 1> = 4*সর্বোচ্চ/10:
আমি সাজানোর জন্য (11, 16, 1):
যদি আমি! = 14:
gpio.output (i, gpio. LOW)
আমি সাজানোর জন্য (16, 24, 1):
যদি আমি! = 17 এবং আমি! = 20:
gpio.output (i, gpio. HIGH)
যদি ভোল্টেজ 1> = 5*সর্বোচ্চ/10:
আমি সাজানোর জন্য (11, 17, 1):
যদি আমি! = 14:
gpio.output (i, gpio. LOW)
আমি সাজানোর জন্য (18, 24, 1):
যদি আমি! = 20:
gpio.output (i, gpio. HIGH)
যদি ভোল্টেজ 1> = 6*সর্বোচ্চ/10:
আমি সাজানোর জন্য (11, 19, 1):
যদি আমি! = 14 এবং আমি! = 17:
gpio.output (i, gpio. LOW)
আমি সাজানোর জন্য (19, 24, 1):
যদি আমি! = 20:
gpio.output (i, gpio. HIGH)
যদি ভোল্টেজ 1> = 7*সর্বোচ্চ/10:
আমি সাজানোর জন্য (11, 20, 1):
যদি আমি! = 14 এবং আমি! = 17:
gpio.output (i, gpio. LOW)
আমি সাজানোর জন্য (21, 24, 1):
gpio.output (i, gpio. HIGH)
যদি ভোল্টেজ 1> = 8*সর্বোচ্চ/10:
আমি সাজানোর জন্য (11, 22, 1):
যদি আমি! = 14 এবং আমি! = 17 এবং আমি! = 20:
gpio.output (i, gpio. LOW)
আমি সাজানোর জন্য (22, 24, 1):
gpio.output (i, gpio. HIGH)
যদি ভোল্টেজ 1> = 9*সর্বোচ্চ/10:
আমি সাজানোর জন্য (11, 23, 1):
যদি আমি! = 14 এবং আমি! = 17 এবং আমি! = 20:
gpio.output (i, gpio. LOW)
gpio.output (23, gpio. HIGH)
যদি ভোল্টেজ 1> = সর্বোচ্চ:
আমি সাজানোর জন্য (11, 24, 1):
যদি আমি! = 14 এবং আমি! = 17 এবং আমি! = 20:
gpio.output (i, gpio. LOW)

যদি ভোল্টেজ 1

বিরতি
#বাতি নিভিয়ে দাও
আমি সাজানোর জন্য (11, 24, 1):
যদি আমি! = 14 এবং আমি! = 17 এবং আমি! = 20:
gpio.output (i, gpio. HIGH)
#বিজয়ী সঙ্গীত
যদি current_voltage> = max:
subprocess. Popen (['aplay', 'Audios/rocky.wav'])
সময় ঘুম (0.03)
পরিষ্কার()
মুদ্রণ করুন "খুব ভাল, আপনি জিতেছেন!"% (u '\u00c9', u '\u00ca', u '\u00c2')
আমি সাজানোর জন্য (10):
জে ইনরেঞ্জের জন্য (11, 24, 1):
যদি জে! = 14 এবং জে! = 17 এবং জে! = 20:
gpio.output (j, gpio. LOW)
সময় ঘুম (0.05)
জে ইনরেঞ্জের জন্য (11, 24, 1):
যদি জে! = 14 এবং জে! = 17 এবং জে! = 20:
gpio.output (j, gpio. HIGH)
সময় ঘুম (0.05)
সময় ঘুম (0.5)
subprocess. Popen (['aplay', 'Audios/end.wav'])
সময় ঘুম (0.03)
পরিষ্কার()
প্রিন্ট করুন "গেম শেষ করুন … n", current_voltage, "V"
#রেকর্ড
সময় ঘুম (1.2)
= 0 এ পৌঁছেছে
আমি সাজানোর জন্য (10):
যদি current_voltage> ভোল্টেজ :
+= 1 এ পৌঁছেছে
temp_voltage = ভোল্টেজ
ভোল্টেজ = কারেন্ট_ভোল্টেজ
current_voltage = temp_voltage
temp_name = name
নাম = current_name
current_name = temp_name
যদি পৌঁছায়> 0:
subprocess. Popen (['aplay', 'Audios/record.wav'])
সময় ঘুম (0.03)
পরিষ্কার()
f = খোলা ('রেকর্ড', 'w')
আমি সাজানোর জন্য (10):
f.write (নাম )
f.write ("\ n")
f.write (str (ভোল্টেজ ))
f.write ("\ n")
f.close ()
পরিষ্কার()

GitHub দ্বারা raw দিয়ে হোস্ট করা rawlamps_bike.py দেখুন

ধাপ 8: বৈদ্যুতিক প্রকল্প:

বৈদ্যুতিক প্রকল্প
বৈদ্যুতিক প্রকল্প
বৈদ্যুতিক প্রকল্প
বৈদ্যুতিক প্রকল্প
বৈদ্যুতিক প্রকল্প
বৈদ্যুতিক প্রকল্প

Arduino এবং রাস্পবেরি পাই 3 একটি 5V উৎস দ্বারা চালিত 3A কারেন্ট সহ।

5.3V এর জেনার ডায়োড, 10μF এর একটি ক্যাপাসিটর এবং 1kΩ এর একটি প্রতিরোধক দিয়ে গঠিত একটি ভোল্টেজ ফিল্টারের মাধ্যমে আরডুইনোতে ডিসি জেনারেটর (বাইসাইকেলের সাথে সংযুক্ত) এর সাথে বৈদ্যুতিক সার্কিট শুরু হয় - ফিল্টার ইনপুটটি সংযুক্ত থাকে জেনারেটর টার্মিনাল এবং আউটপুট A0 পোর্ট এবং কন্ট্রোলারের GND এর সাথে সংযুক্ত।

আরডুইনো RX-TX যোগাযোগের মাধ্যমে রাস্পবেরির সাথে সংযুক্ত-10kΩ রোধক ব্যবহার করে একটি প্রতিরোধক বিভাজকের মাধ্যমে সঞ্চালিত (বিভিন্ন ভোল্টেজে পরিচালিত কন্ট্রোলার পোর্টগুলির দ্বারা প্রয়োজনীয়)।

রাস্পবেরি পাই এর জিপিআইওগুলি বাতি জ্বালানোর জন্য দায়ী রিলেগুলির সাথে সংযুক্ত। সমস্ত রিলেগুলির "COM" একে অপরের সাথে সংযুক্ত ছিল এবং ফেজ (এসি গ্রিড) এর সাথে সংযুক্ত ছিল এবং প্রতিটি রিলেটির "N. O" (সাধারণত খোলা) প্রতিটি বাতিতে সংযুক্ত ছিল এবং এসি গ্রিডের নিরপেক্ষ সব প্রদীপের সাথে সংযুক্ত ছিল। এইভাবে, যখন প্রতিটি রিলে এর জন্য দায়ী জিপিআইও সক্রিয় হয়, তখন রিলেটি এসি নেটওয়ার্কের পর্বে স্যুইচ করা হয় এবং সংশ্লিষ্ট বাতি চালু করে।

ধাপ 9: ফলাফল:

Image
Image

প্রকল্পের চূড়ান্ত সমাবেশের পরে, এটি যাচাই করা হয়েছিল যে এটি প্রত্যাশিত হিসাবে কাজ করেছে - ব্যবহারকারী বাইকটিতে যে গতি চালায় সে অনুযায়ী, আরও ভোল্টেজ উৎপন্ন হয় এবং আরও বাতি জ্বলে।

প্রস্তাবিত: