Turinys:

: 6 žingsniai (su nuotraukomis)
: 6 žingsniai (su nuotraukomis)

Video: : 6 žingsniai (su nuotraukomis)

Video: : 6 žingsniai (su nuotraukomis)
Video: 6 ŽINGSNIAI ATSKLEISTI SAVO AUTENTIŠKĄ GROŽĮ 2024, Lapkritis
Anonim
Vaizdas
Vaizdas

1 žingsnis: dalys ir įrankiai

Dalys ir įrankiai
Dalys ir įrankiai
Dalys ir įrankiai
Dalys ir įrankiai

Dalys: ~ 2 x servo varikliai - vietinė elektronikos parduotuvė ~ 4 x LDR - vietinė elektronikos parduotuvė ~ 4 x 10 k rezistoriai - vietinė elektronikos parduotuvė ~ Arduino Uno - Sparkfun.com ~ 2 x 50 k kintamasis rezistorius - vietinė elektronikos parduotuvė Įrankiai: ~ lituoklis - Sparkfun.com ~ Lituoklinė viela - Sparkfun.com ~ Džemperio laidai - Sparkfun.com ~ Protoboard - Vietinė elektronikos parduotuvė Visos dalys jums kainuos mažiau nei 30 USD (neįskaitant arduino ir visų įrankių)

2 žingsnis: sukurkite grandinę

Sukurkite grandinę
Sukurkite grandinę
Sukurkite grandinę
Sukurkite grandinę
Sukurkite grandinę
Sukurkite grandinę

Grandinė yra gana paprasta prijungti keturis LDR prie analoginių kaiščių 0, 1, 2 ir 3 atitinkamai per 10 k rezistorių. Prijunkite du servo prie atitinkamai 9 ir 10 skaitmeninių kaiščių. Prijunkite du kintamus rezistorius prie analoginių kaiščių 4 ir 5. a Pažvelkite į nuotraukas, kurios tikrai padeda. Žiūrėkite paskutinę schemą (tai gali būti blogiausia, ką kada nors matėte).

3 žingsnis: sukurkite jutiklio mazgą

Sukurkite jutiklio mazgą
Sukurkite jutiklio mazgą
Sukurkite jutiklio mazgą
Sukurkite jutiklio mazgą
Sukurkite jutiklio mazgą
Sukurkite jutiklio mazgą

Norėdami sukurti jutiklio agregatą, paimkite du stačiakampius kartono gabalus, perpjaukite ilgą plyšį per pirmojo kartono gabalo vidurį. Iškirpkite trumpą plyšį per antrojo kartono gabalo vidurį, tada susikerta abu ir gražiai juos pritvirtinkite juosta. Tai turėtų atrodyti kaip 3D kryžius su 4 dalimis. Turime įdėti savo keturis LDR į šias keturias kryžiaus dalis. Žiūrėkite nuotraukas, kurios tikrai padeda.

4 žingsnis: nustatykite

Paruošti
Paruošti

Raskite pagrindą (mano atveju „Nescafe“butelis) ir priklijuokite kumštinę servo prie jo, tada prie pirmosios servo rotoriaus, prijunkite antrą servo. Prie antrojo servo rotoriaus prijunkite anksčiau pagamintą jutiklį. Norėdami išbandyti savo robotą išimkite jį saulėje ir jis turėtų automatiškai susilygiuoti į saulę. Jei patalpoje, jis susilygins su ryškiausiu kambario šviesos šaltiniu. Pažvelkite į nuotraukas, kurios tikrai padeda.

5 žingsnis: Kodas

Štai jūsų saulės sekimo roboto kodas: #include // include Servo library Servo horizontal; // horizontali servo int servoh = 90; // stovėti horizontalus servo Servo vertikalus; // vertikali servo int servov = 90; // stovas vertikalus servo // LDR kaiščių jungtys // pavadinimas = analogpin; int ldrlt = 0; // LDR viršuje kairėje int ldrrt = 1; // LDR top rigt int ldrld = 2; // LDR žemyn kairėn int ldrrd = 3; // ldr down rigt void setup () {Serial.begin (9600); // servo jungtys // name.attacht (pin); horizontalus.priedas (9); vertikalus.pritvirtinimas (10); } void loop () {int lt = analogRead (ldrlt); // viršuje kairėje int rt = analogRead (ldrrt); // viršuje dešinėje int ld = analogRead (ldrld); // žemyn kairėn int rd = analogRead (ldrrd); // žemyn rigt int dtime = analogRead (4)/20; // skaityti potenciometrus int tol = analogRead (5)/4; int avt = (lt + rt) / 2; // vidutinė vertė viršuje int avd = (ld + rd) / 2; // vidutinė vertė žemyn int avl = (lt + ld) / 2; // vidutinė vertė liko int avr = (rt + rd) / 2; // vidutinė vertė teisė int dvert = avt - avd; // patikrinkite aukštumų ir žemumų skirtumus int dhoriz = avl - avr; // patikrinkite skirtumą ir kairę ir sureguliuokite, jei (-1*tol> dvert || dvert> tol) // patikrinkite, ar skirtumas skiriasi keisti vertikalų kampą {if (avt> avd) {servov = ++ servov; if (servov> 180) {servov = 180; }} else if (avt <avd) {servov = --servov; jei (servov <0) {servov = 0; }} vertical.write (servov); } if (-1*tol> dhoriz || dhoriz> tol) // patikrinkite, ar skirtumas yra tolerancijoje, kitaip pakeiskite horizontalųjį kampą {if (avl> avr) {servoh = --servoh; if (servoh <0) {servoh = 0; }} else if (avl <avr) {servoh = ++ servoh; if (servoh> 180) {servoh = 180; }} else if (avl = avr) {// nieko} horizontaliai.rašyti (servoh); } uždelsimas (dtime); }

6 žingsnis: viskas padaryta

Viskas padaryta!
Viskas padaryta!

Tikiuosi, kad šis projektas įkvėps tolesniems eksperimentams. „Arduino“lenta yra neįtikėtinai universali, pigi ir prieinama visiems mėgėjams. Tai tik vienas iš daugelio paprastų projektų, kuriuos galima sukurti naudojant arduino. Nepamirškite sekti daugiau. Jei turite klausimų, susisiekite su manimi, čia yra mano el. Pašto adresas [email protected]

Rekomenduojamas: