Turinys:
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Tai paprastas projektas, kuris seka arba vengia šviesos.
Aš padariau šį modeliavimą „Proteus 8.6 pro“. Reikalingi komponentai: -1) „Arduino uno“.
2) 3 LDR.
3) 2 dc pavarų varikliai.4) vienas servo.
8) 9v ir 5v batai
1 žingsnis: „Ardunio“kodas
„Arduino“kodas šiek tiek pakeistas 2016 m. Vasario 23 d.]
Šis kodas yra labai komentuojamas, aš nenoriu paaiškinti, bet jei jums reikia pagalbos, susisiekite su manimi ([email protected])
Pastaba: -Šioje programoje aš naudoju dvi sąlygas, skirtas šviesai sekti, antrai-šviesai išvengti.
Jei šios sąlygos bus įvykdytos, robotas seks arba vengs šviesos. [Tai yra minimali pasirinkta LDR vertė. Esant normaliai šviesai, jo diapazonas yra nuo 80 iki 95, tačiau didėjant jo intensyvumui vis daugiau įtampos atsiranda dėl to, kai jis dirba pagal įtampos skirstytuvo principą int a = 400; // Tolerancijos vertė]
2 žingsnis: „Proteus“failai
Norėdami atsisiųsti „Arduino“biblioteką, atsisiųskite iš šios nuorodos
3 veiksmas: kaip veikia jūsų H tiltas
L293NE/SN754410 yra labai paprastas H tiltas. Jis turi du tiltus, vieną kairėje mikroschemos pusėje ir vieną dešinėje, ir gali valdyti 2 variklius. Jis gali valdyti iki 1 ampero srovės ir veikti nuo 4,5 iki 36 V. Mažas nuolatinės srovės variklis, kurį naudojate šioje laboratorijoje, gali saugiai veikti esant žemai įtampai, todėl šis H tiltas veiks puikiai. H-tiltas turi šiuos kaiščius ir funkcijas: 1 kaištis (1, 2EN) įjungia ir išjungia mūsų variklį, nesvarbu, ar jis yra HIGH, ar LOW. 3 (1Y) skirtas vienam iš variklio gnybtų 4-5 kištukai skirti įžeminimui 6 kaištis (2Y) skirtas kitam variklio gnybtui Pin 7 (2A) yra mūsų variklio loginis kaištis (įvestis yra HIGH arba LOW) 8 kaištis (VCC2) yra mūsų variklio maitinimo šaltinis, tai turėtų būti nurodyta atsižvelgiant į jūsų variklio vardinę įtampą Pin 9-11 yra atjungtas, nes šioje laboratorijoje naudojate tik vieną variklį Pin 12-13 yra skirti įžeminimui Pin 14-15 yra neprijungti Pin 16 (VCC1) yra prijungtas prie 5V. Viršuje yra H tilto schema ir kokie kaiščiai ką daro mūsų pavyzdyje. Kartu su schema pateikiama tiesos lentelė, nurodanti, kaip variklis veiks pagal loginių kaiščių būseną (kurią nustato mūsų „Arduino“).
Šiame projekte įgalinimo kaištis jungiasi prie jūsų „Arduino“skaitmeninio kaiščio, kad galėtumėte jį nusiųsti HIGH arba LOW ir įjungti arba išjungti variklį. Variklio loginiai kaiščiai taip pat yra prijungti prie jūsų „Arduino“skaitmeninių kaiščių, kad galėtumėte siųsti AUKŠTĄ ir ŽEMĄ, kad variklis pasisuktų viena kryptimi, arba ŽEMAS ir AUKŠTAS, kad jis pasisuktų kita kryptimi. Variklio maitinimo įtampa jungiama prie variklio įtampos šaltinio, kuris paprastai yra išorinis maitinimo šaltinis. Jei jūsų variklis gali veikti esant 5 V ir mažiau nei 500 mA, galite naudoti „Arduino“5 V išėjimą. Daugumai variklių reikia didesnės įtampos ir didesnės srovės, nei jums reikia, todėl jums reikės išorinio maitinimo šaltinio.
Prijunkite variklį prie H tilto Prijunkite variklį prie H tilto, kaip parodyta 2 paveiksle.
Arba, jei „Arduino“naudojate išorinį maitinimo šaltinį, galite naudoti „Vin“kaištį.
4 veiksmas: kaip veikia LDR
Dabar pirmas dalykas, kurį gali reikėti papildomai paaiškinti, yra nuo šviesos priklausomų rezistorių naudojimas. Nuo šviesos priklausomi rezistoriai (arba LDR) yra rezistoriai, kurių vertė kinta priklausomai nuo aplinkos šviesos kiekio, tačiau kaip mes galime aptikti pasipriešinimą naudojant „Arduino“? Na, jūs tikrai negalite, tačiau galite aptikti įtampos lygius naudodami analoginius kaiščius, kurie gali išmatuoti (paprastai naudojant) nuo 0 iki 5 V. Dabar jums gali kilti klausimas „Na, kaip mes konvertuojame varžos vertes į įtampos pokyčius?“, Tai paprasta, mes gaminame įtampos daliklį. Įtampos daliklis ima įtampą ir tada išleidžia dalį tos įtampos, proporcingos įėjimo įtampai ir dviejų naudojamų rezistorių verčių santykiui. Lygtis, kuriai yra:
Išėjimo įtampa = įėjimo įtampa * (R2 / (R1 + R2)) Kur R1 yra pirmojo rezistoriaus vertė, o R2 - antrojo.
Dabar vis dar kyla klausimas „Bet kokios LDR atsparumo vertės?“, Geras klausimas. Kuo mažiau aplinkos šviesos, tuo didesnis atsparumas, tuo daugiau aplinkos šviesos reiškia mažesnį pasipriešinimą. Dabar tam tikriems LDR aš naudojau jų atsparumo diapazoną nuo 200 iki 10 kilogramų omų, tačiau tai keičiasi skirtingiems, todėl būtinai peržiūrėkite, iš kur juos nusipirkote, ir pabandykite rasti duomenų lapą ar kažką panašaus. atvejis R1 iš tikrųjų yra mūsų LDR, todėl sugrąžinkime šią lygtį ir atlikime matematinę e-magiją (matematinę elektrinę magiją). Dabar pirmiausia turime konvertuoti tas kilogramų omų reikšmes į omus: 200 kilo-omų = 200 000 omų 10 Taigi, norėdami sužinoti, kokia yra išėjimo įtampa esant tamsiai tamsiai, mes prijungiame šiuos skaičius: 5 * (10000 / (200000 + 10000)) Įvestis yra 5 V, nes mes gauname iš Arduino. Pirmiau pateikiama 0,24 V (suapvalinta). Dabar mes nustatome, kokia išėjimo įtampa yra ryškiausia, naudojant šiuos skaičius: 5 * (10000 / (10000 + 10000)) Ir tai suteikia mums tiksliai 2,5 V. Taigi tai yra įtampos vertės, kurias pateksime į „Arduino“analoginius kaiščius, tačiau tai nėra vertės, kurios bus matomos programoje „Bet kodėl?“galite paklausti. „Arduino“naudoja analoginį skaitmeninį lustą, kuris analoginę įtampą paverčia tinkamais skaitmeniniais duomenimis. Skirtingai nuo skaitmeninių „Arduino“kaiščių, kurie gali nuskaityti tik AUKŠTĄ arba ŽEMĄ būseną, esantį 0 ir 5 V, analoginiai kaiščiai gali skaityti nuo 0 iki 5 V ir konvertuoti jį į skaičių diapazoną nuo 0 iki 1023. Dabar su šiek tiek daugiau matematinės e-magijos. mes iš tikrųjų galime apskaičiuoti, kokias vertes „Arduino“iš tikrųjų skaitys.
Kadangi tai bus tiesinė funkcija, galime naudoti šią formulę: Y = mX + C Kur; Y = skaitmeninė vertė kur; m = nuolydis, (kilimas / važiavimas), (skaitmeninė vertė / analoginė vertė) Kur; Y perėmimas yra 0, todėl gauname: Y = mXm = 1023 /5 = 204,6. Todėl: skaitmeninė vertė = 204,6 * analoginė reikšmė Taigi, esant tamsiai juodai, skaitmeninė vertė bus: 204,6 * 0,24, kuri suteikia maždaug 49. Ir didžiausio ryškumo jis bus: 204,6 * 2,5, o tai sudaro maždaug 511. Dabar, kai du iš jų yra nustatyti dviejuose analoginiuose kaiščiuose, galime sukurti du sveikus skaičius kintamuosius, kad išsaugotume jų dvi vertes, ir atlikti palyginimo operatorius, kad pamatytume, kuris iš jų turi mažiausią vertę, pasukdamas robotą ta kryptimi.