குறியீட்டை தேடு

பாடம் 98-10: ஆர்டினோ போக்குவரத்து விளக்கு

பாடம் 98-10: ஆர்டினோ போக்குவரத்து விளக்கு

போக்குவரத்து விளக்குகள் என்பது நாம் அரிதாகவே சிந்திக்கும் அன்றாட அமைப்புகளில் ஒன்றாகும் — ஒன்றை நாம் உருவாக்கும் வரை. இந்த திட்டத்தில், ஒரு உண்மையான போக்குவரத்து விளக்கு வரிசையை உருவகப்படுத்த நீங்கள் ஒரு Arduino-ஐப் பயன்படுத்துவீர்கள்: பச்சை ஒளிரும், பின்னர் மஞ்சள், பின்னர் சிவப்பு, ஒவ்வொன்றும் அதன் சொந்த கட்டமைக்கக்கூடிய கால அளவுக்கு, முடிவில்லாமல் மீண்டும் மீண்டும் நிகழும். இது ஒரு சிறந்த தொடக்கநிலை திட்டமாகும், ஏனெனில் இது வரிசைமுறை நேரமிடல் தர்க்கம், பல-வெளியீட்டு கட்டுப்பாடு, மற்றும் நீங்கள் குறியீட்டில் எழுதுவதற்கும் இயற்பியல் உலகில் நீங்கள் பார்ப்பதற்கும் இடையிலான உறவைக் கற்பிக்கிறது.

மூன்று வண்ணங்களுடன் நிஜ வாழ்க்கையில் போக்குவரத்து விளக்கு

வகுப்பறை செயல்விளக்கத்திற்கு அப்பால், நீங்கள் இங்கே கற்கும் நேரமிடல் தர்க்கம் எல்லா இடங்களிலும் தோன்றுகிறது:

  • மாதிரி ரயில்வே அல்லது டையோராமாவுக்காக ஒரு யதார்த்தமான போக்குவரத்து விளக்கு மாதிரியை உருவாக்குதல்
  • ஒரு பணிமனை அல்லது கேரேஜுக்கான நேரமிடப்பட்ட காட்டி அமைப்பை உருவாக்குதல் (எ.கா., "உள்ளே வர பாதுகாப்பானது" / "காத்திரு" சமிக்ஞைகள்)
  • பொத்தான்-தூண்டப்பட்ட கட்டங்களுடன் பாதசாரி கடக்கும் சமிக்ஞைகளுக்கான அடித்தளத்தைக் கற்றல்
  • தொழில்துறை அல்லது வீட்டு தன்னியக்கமாக்கல் பணிகளுக்கான நேரமிடப்பட்ட ரிலே வரிசையை முன்மாதிரியாக்குதல்
  • பரிச்சயமான, அடையாளம் காணக்கூடிய ஒரு பொருளைக் கொண்டு குழந்தைகளுக்கு வரிசைமுறை, நேரமிடல் மற்றும் மின்னணுவியல் பற்றிக் கற்பித்தல்

சிறந்த பகுதி: பதிவேற்றப்பட்டவுடன் முழு விஷயமும் தனித்து இயங்குகிறது. உங்கள் கணினியிலிருந்து Arduino-ஐ ஒருமுறை நிரல் செய்தால், பின்னர் ஒரு பேட்டரி அல்லது அடாப்டரிலிருந்து அதற்கு மின்சாரம் அளித்தால் அது எப்போதும் வேலை செய்யும் — PC தேவையில்லை (வீடியோவில் 12:27-இல்).

red, green and yellow leds on bread board for traffic light project
போக்குவரத்து விளக்கு திட்டத்திற்கான பிரெட் போர்டில் சிவப்பு, பச்சை மற்றும் மஞ்சள் LED-கள்

போக்குவரத்து விளக்கு எவ்வாறு செயல்படுகிறது

ஒரு போக்குவரத்து விளக்கு உண்மையில் மூன்று வெளியீடுகளின் நேரமிடப்பட்ட வரிசை மட்டுமே. Arduino ஒரு நேரத்தில் ஒரு LED-ஐ இயக்குகிறது, ஒரு குறிப்பிட்ட எண்ணிக்கையிலான விநாடிகள் காத்திருக்கிறது, அதை அணைத்துவிட்டு, அடுத்ததற்குச் செல்கிறது. பின்னர் சுழற்சி மீண்டும் நிகழ்கிறது. வீடியோவின் எடுத்துக்காட்டு நேரமிடலில், பச்சை 3 விநாடிகள் ஒளிரும், மஞ்சள் 1 விநாடி, மற்றும் சிவப்பு 3 விநாடிகள் — ஆனால் இவை அனைத்தும் குறியீட்டில் சரிசெய்யக்கூடியவை (வீடியோவில் 49:44-இல்).

traffic light timing: red light
போக்குவரத்து விளக்கு நேரமிடல்: சிவப்பு விளக்கு
traffic light timing: yellow light
போக்குவரத்து விளக்கு நேரமிடல்: மஞ்சள் விளக்கு
traffic light timing: green light
போக்குவரத்து விளக்கு நேரமிடல்: பச்சை விளக்கு

வரிசை யதார்த்தமாக உணரப்படுவதற்குக் காரணம், கால அளவுகள் நிஜ உலக போக்குவரத்து ஓட்டத்தைப் பிரதிபலிக்கின்றன: பச்சை மற்றும் சிவப்பு நீளமானவை, ஏனெனில் வாகனங்கள் சந்திப்பின் வழியாக நகர்வதற்கு நேரம் தேவை, அதேசமயம் மஞ்சள் குறுகியது, ஏனெனில் அது ஒரு மாற்றம் எச்சரிக்கை மட்டுமே. நீங்கள் விரும்பும் எந்த சூழ்நிலைக்கும் இவற்றைச் சரிசெய்யலாம்.

வன்பொருள் மற்றும் கூறுகள்

இந்த திட்டத்திற்கான பாகங்கள் பட்டியல் மிகக் குறைவானது:

  • 1 × Arduino போர்டு (Uno, Nano, அல்லது Mega — குறைந்தது 3 டிஜிட்டல் பின்கள் உள்ள எதுவும்)
  • 3 × LED-கள் (சிவப்பு, மஞ்சள்/ஆரஞ்சு, மற்றும் பச்சை — வெவ்வேறு வண்ணங்கள் விளைவை வெளிப்படையாக்குகின்றன)
  • 3 × மின்தடையங்கள் (300 Ω முதல் 1 kΩ வரை நன்றாக வேலை செய்யும்; வீடியோ 1 kΩ-ஐப் பயன்படுத்துகிறது)
  • 1 × பிரெட்போர்டு
  • ஜம்பர் கம்பிகள்
  • விருப்பத்தேர்வு: தனித்து இயக்க ஒரு லித்தியம்-அயன் பேட்டரி அல்லது 5 V மின்சார அடாப்டர்

போக்குவரத்து விளக்கு விளைவு உடனடியாகத் தெரியும்படி மூன்று தனித்துவமான வண்ண LED-களைப் பயன்படுத்த வீடியோ பரிந்துரைக்கிறது — இல்லையெனில் நீங்கள் அவற்றை லேபிளிட வேண்டியிருக்கும் (வீடியோவில் 02:04-இல்).

LED மின்னோட்ட வரம்பைப் புரிந்துகொள்ளுதல்

ஒவ்வொரு LED-க்கும் தொடரில் ஒரு மின்னோட்ட-வரம்பு மின்தடை தேவை. இதற்குக் காரணம் இதோ: ஒரு LED கிட்டத்தட்ட நிலையான முன்னோக்கு மின்னழுத்தத்தைக் கொண்டுள்ளது (பொதுவாக நிலையான 5 mm LED-களுக்கு சுமார் 2 V), மேலும் அதை நேரடியாக 5 V-உடன் இணைத்தால், மின்னோட்டம் உயர்ந்து அதை அழித்துவிடும். மின்தடை அதிகப்படியான மின்னழுத்தத்தை உறிஞ்சுகிறது.

ஓம் விதியைப் பயன்படுத்தி, LED 2 V-ஐக் குறைத்தால் மற்றும் வழங்கல் 5 V என்றால், 3 V மின்தடையின் குறுக்கே குறைய வேண்டும். சுமார் 10 mA இலக்கு மின்னோட்டத்துடன், மின்தடை மதிப்பு தோராயமாக 300 Ω ஆக அமைகிறது (வீடியோவில் 04:41-இல்). நடைமுறையில், 300 Ω முதல் 1 kΩ வரை எதுவும் வேலை செய்யும் — அதிக மதிப்புகள் LED-ஐ மங்கலாக்குகின்றன.

வயரிங் வழிகாட்டி

Schematic of Arduino traffic light
Arduino போக்குவரத்து விளக்கின் திட்டவரைபடம்
Arduino LED traffic lights wiring
Arduino LED போக்குவரத்து விளக்குகள் வயரிங்

ஒவ்வொரு LED-யும் ஒரே மாதிரியாக இணைக்கப்பட்டுள்ளது: அனோட் (நீளமான கால்) ஒரு Arduino டிஜிட்டல் பின்னுடன் இணைகிறது, மற்றும் கேத்தோட் (குறுகிய கால், LED உடலின் தட்டையான பக்கம்) ஒரு மின்தடை வழியாக தரையுடன் இணைகிறது.

வீடியோவின் வயரிங்கில், சிவப்பு LED பின் 2-உடன் இணைகிறது, மஞ்சள்/ஆரஞ்சு LED பின் 3-உடன், மற்றும் பச்சை LED பின் 4-உடன் (வீடியோவில் 50:50-இல்). மூன்று மின்தடையங்களும் பிரெட்போர்டில் ஒரு பொதுவான தரை ரெயிலைப் பகிர்ந்து கொள்கின்றன. பிரெட்போர்டில் வண்ணங்களின் வரிசை முக்கியமல்ல — முக்கியமானது உங்கள் குறியீட்டில் உள்ள பின் எண்கள் நீங்கள் உண்மையில் பயன்படுத்திய பின்களுடன் பொருந்துவதுதான்.

வீடியோவில் இருந்து ஒரு பயனுள்ள குறிப்பு: மின்தடையை LED-இன் இரு பக்கங்களிலும் வைக்கலாம். அதை Arduino பின் மற்றும் LED அனோட் இடையே அல்லது LED கேத்தோட் மற்றும் கிரவுண்ட் இடையே வைக்கலாம் — மின்னியல் ரீதியாக இது ஒன்றே (வீடியோவில் 51:52-இல்).

குறியீடு விளக்கம்

முழு நிரலும் கட்டுரையின் கீழே கிடைக்கிறது. இங்கே நீங்கள் தனிப்பயனாக்க விரும்பும் பகுதிகளில் கவனம் செலுத்துவோம்.

ஸ்கெட்சின் மேல், மூன்று பின் வரையறைகள் ஒவ்வொரு LED-ஐயும் ஒரு டிஜிட்டல் பின்னுடன் இணைக்கின்றன. உங்கள் LED-களை வேறு பின்களில் இணைத்திருந்தால், இந்த மதிப்புகளை மாற்றவும்:

const int greenLED = 4;
const int yellowLED = 3;
const int redLED = 2;

அடுத்து நேர மாறிலிகள் வருகின்றன. ஒவ்வொரு விளக்கும் எவ்வளவு நேரம் எரியும் என்பதை இவை மில்லிவினாடிகளில் கட்டுப்படுத்துகின்றன. வீடியோ இயல்பாக பச்சைக்கு 5000 ms, மஞ்சளுக்கு 1000 ms, சிவப்புக்கு 5000 ms பயன்படுத்துகிறது — ஆனால் செயல்விளக்கத்தின் போது இவை 3 s / 1 s / 3 s ஆகவும், பின்னர் 10 s / 3 s / 10 s ஆகவும் மாற்றப்பட்டன (வீடியோவில் 56:27-இல்):

const int greenOnTime = 5000;
const int yellowOnTime = 1000;
const int redOnTime = 5000;

உங்கள் போக்குவரத்து விளக்கின் தாளத்தை மாற்ற, இந்த மூன்று மதிப்புகளைத் திருத்தினால் போதும். மெதுவான, யதார்த்தமான சந்திப்பு வேண்டுமா? 10000, 3000, 10000 ஐ முயற்சிக்கவும். விரைவான செயல்விளக்கம் வேண்டுமா? 1000, 300, 1000 ஐ முயற்சிக்கவும்.

loop()-க்குள், வரிசை நேரடியானது: பச்சையை இயக்கு, காத்திரு, பச்சையை அணை; மஞ்சளை இயக்கு, காத்திரு, மஞ்சளை அணை; சிவப்பை இயக்கு, காத்திரு, சிவப்பை அணை; பின்னர் மீண்டும் பச்சைக்கு சுழற்சி. சீரியல் மானிட்டர் ஒவ்வொரு நிலை மாற்றத்தையும் அச்சிடுகிறது, எனவே நேரம் நீங்கள் எதிர்பார்த்ததுடன் பொருந்துகிறதா என்பதைச் சரிபார்க்கலாம்.

நேரடி செயல்விளக்கம்

குறியீடு பதிவேற்றப்பட்டதும், Arduino தானாகவே சுழற்சியை இயக்குகிறது. வீடியோவில், முதலில் பச்சை LED ஒளிரும், பின்னர் அதன் கால அளவுக்குப் பிறகு மஞ்சள் சிறிது நேரம் ஒளிரும், பின்னர் சிவப்பு, பின்னர் சுழற்சி உடனடியாக மீண்டும் தொடங்குகிறது (வீடியோவில் 55:20-இல்).

சீரியல் மானிட்டர் இதை உரையில் பிரதிபலிக்கிறது — "green LED on", "green off", "yellow on", மற்றும் பல — இது உங்கள் நேர மதிப்புகள் நோக்கம் போல வேலை செய்கிறதா என்பதை உறுதிப்படுத்த ஒரு சிறந்த வழி. கம்பியில்லாமல் இயக்கத் தயாராகும்போது, USB-ஐ துண்டித்து லித்தியம்-அயன் பேட்டரி அல்லது 5 V அடாப்டரை இணைக்கவும்; கணினி இல்லாமல் Arduino சுழற்சியைத் தொடரும் (வீடியோவில் 56:11-இல்).

இந்த வீடியோவின் தொடர்புடைய திட்டங்கள்

அத்தியாயங்கள்

  • [00:00] 10 Arduino LED திட்டங்களின் மேலோட்டம்
  • [01:22] Arduino படிப்படியான பாடத்திட்டத்திற்கான அறிமுகம்
  • [02:29] LED என்றால் என்ன: குறியீடு, அனோட், மற்றும் கேத்தோட்
  • [03:49] LED மின்னோட்ட-கட்டுப்படுத்தும் மின்தடையைக் கணக்கிடுதல்
  • [49:25] போக்குவரத்து விளக்கு திட்டத்திற்கான அறிமுகம்
  • [49:44] போக்குவரத்து விளக்கு நேரம் விளக்கப்பட்டது
  • [50:34] போக்குவரத்து விளக்கிற்கான வயரிங் வரைபடம்
  • [52:13] போக்குவரத்து விளக்கிற்கான குறியீடு விளக்கம்
  • [54:32] சீரியல் மானிட்டருடன் நேரடி செயல்விளக்கம்
  • [55:30] நேர மதிப்புகளை மாற்றுதல்
  • [56:11] பேட்டரி சக்தியில் போக்குவரத்து விளக்கை இயக்குதல்

படங்கள்

traffic light timing: green light
traffic light timing: green light
traffic light timing: yellow light
traffic light timing: yellow light
traffic light timing: red light
traffic light timing: red light
Schematic of Arduino traffic light
Schematic of Arduino traffic light
traffic_lights
traffic_lights
Arduino LED traffic lights wiring
Arduino LED traffic lights wiring
red, green and yellow leds on bread board for traffic light project
red, green and yellow leds on bread board for traffic light project
942-Lessson 98-LED-10: Arduino code traffic light
மொழி: C++
This code has not been parsed yet. Please return to the admin panel to parse it.

நீங்கள் தேவைப்படும் எண்ணங்கள்

வளங்கள் மற்றும் மேற்கோள்கள்

கோப்புகள்📁

ஆர்டினோ நூலகங்கள் (ஜிப்)

பயனர் கையேடு