Projektas #2: Seifas
Išmokite sukurti ir užprogramuoti seif? panaudodami„Maker Control Kit“ komplektuojam? robotikos rinkini? valdymo plokšt?s ir „Maker Kit 3“ komplektuojamo robotikos rinkinio komponentus.
Seifo, kuris bus atidarytas tik mygtukais ?vedus slapt? kombinacij?, sukonstravimui panaudokite vykdom?j? varikl? ir du mygtukus.
SUD?TINGUMO LYGIS: Vidutinis.
PRATIMO TRUKM?: 60 min.
MEDŽIAGOS:
- 1x vykdomasis variklis
- 2x mygtukai
- 1x kartonin? d?ž?
- 1x „4in1 Build & Code“ plokšt? 1x USB – Mikro USB kabelis
- Kompiuteris
- Medžiagos spynos konstrukcijai
- Klijai arba lipni juosta
Kas yra mygtukas?
Mygtukas arba jungiklis yra elektrinis komponentas, kur? paspaudus elektros srov? gali tek?ti, o j? atleidus srov? nutr?ksta.
KONSTRUKCIJOS SUK?RIMAS:
Spynos sukonstravimui naudosite vatman?, o seifui kartonin? d?ž?. Skirting? dali? sujungimui naudosite lipni? juost? ir varžtus.
Nor?dami sukonstruoti konstrukcij?, parsisi?skite spynos trafaret? ir greito sukonstravimo vadov?. Atlikite nurodytus veiksmus:
- Priklijuokite spynos trafaret? prie vatmano ir pagal linijas vatman? apkirpkite.
- Padarykite d?ž?je ang? vykdomajam varikliui, o kit? ang? USB kabeliui. Pritvirtinkite spyn? ir likusius elektroninius komponentus prie d?ž?s.
Sumontavus konstrukcij?, ?d?kite „4in1 Build & Code“ plokšt? ? d?ž?s vid? ir prijunkite visus elektroninius komponentus kaip nurodyta žemiau pateiktame skyriuje „Jungtys“.
JUNGTYS:
- Prijunkite mygtuk? Nr. 1 prie „4in1 Build&Code“ plokšt?s skaitmenin?s jungties Nr. 4.
- Prijunkite mygtuk? Nr. 2 prie „4in1 Build&Code“ plokšt?s skaitmenin?s jungties Nr. 5.
- Prijunkite vykdom?j? varikl? prie „4in1 Build&Code“ plokšt?s skaitmenin?s jungties Nr. 9.
Perži?r?kite kabeli? spalvas ir „4in1 Build & Code“ plokšt?s kontakt? spalvas, kad žinotum?te kaip sujungti. Kiekvienas kabelis tur?t? b?ti prijungtas prie jo spalvos.
PROGRAMOS KODAS:
Program? sudaro dvi dalys:
- Kiekvieno mygtuko puls? nuskaitymas ir skai?iavimas.
- Kiekvieno mygtuko puls? skai?iaus palyginimas su programoje ?vestu slaptu kodu.
Kad sistema b?t? dar saugesn?, slaptam kodui ?vesti yra tik vienas b?das. Pirma, pirmasis skai?ius turi b?ti ?vestas mygtuku, prijungtu prie skaitmenin?s jungties Nr. 4, o antrasis skai?ius turi b?ti ?vestas mygtuku, prijungtu prie skaitmenin?s jungties Nr. 5. Jei jie yra ?vedami atvirkš?iai, spyna neatsirakins ir reik?s ?vesti iš naujo.
Jei ?vestas kodas yra teisingas, vykdomasis variklis pasisuks 90º ir spyna bus atrakinta.
Jei norite vis? sistem? atstatyti ? pradin? pad?t? ir užrakinti spyn?, paspauskite abu mygtukus tuo pa?iu metu, vykdomasis variklis pasisuks ? 15º pad?t? užrakindamas spyn?. Sistemos, kuri skai?iuoja mygtuk? paspaudimus, vert? bus nustatyta ? nul?. Tokiu b?du sistema bus paruošta kitam kodo ?vedimui.
Šiuos veiksmus galite atlikti naudodami „Arduino“ ir „Bitbloq“ programin? ?rang?, taip pat kit? suderinam? vaizdin? programavimo programin? ?rang?, naudojan?i? blokus. Žemiau pateikiamas programin?s ?rangos kodas, reikalingas kiekvienai programinei ?rangai.
„Arduino“ kodas
- Parsisi?skite „Arduino“ programin? ?rang? ir atlikite ?diegimo proces?.
- Paleiskite program? ir nukopijuokite toliau pateikt? kod?:
#include <Servo.h> // Servomotor library Servo motor1; // Name of the servomotor is motor1 int VButton1, VButton2; // Variables for button 1 and button 2 int Button1 = 4, Button2 = 5; // Connection ports of the buttons, digital ports 4 and 5 int CODE1 = 2; // 1st number of the secret code is 2 int CODE2 = 5; // 2nd number of the secret code is 5 int X1 = 0; // Variables to save the number of button pushes int X2 = 0; int X3 = 0; void setup() { // Put your setup code here, to run once: motor1.attach (9); // Servomotor connected to digital port 9 motor1.write (15); // Servomotor at 15º pinMode (Button1, INPUT); // Configuration of the buttons as input signal pinMode (Button2, INPUT); pinMode (13, OUTPUT); // Configuration of port 13 as output Serial.begin(9600); // Configuration of communication by serial port of the buttons Serial.print ("Button1"); Serial.print ("\t"); Serial.println ("Button2"); } void loop() { // Put your main code here, to run repeatedly: VButton1 = digitalRead (Button1); // Status reading of button 1, pushed/not pushed VButton2 = digitalRead (Button2); // Status reading of button 2, pushed/not pushed if(VButton1 == 1) // If button 1 is pushed { X1 = X1+1; // X1 adds +1 delay(300); // Wait 300 ms } if(VButton2 == 1) // If button 2 is pushed { X2 = X2+1; // X2 adds +1 delay(300); // Wait 300 ms } if((X1 == CODE1) && (X2 == 0) && (X3 == 0)) // If X1 is equal to CODE1 and X2 = 0 and X3 = 0 { X3 = 1; // X3 = 1 } if((X2 == CODE2) && (X3 == 1) // If X2 is equal to CODE2 and X3 = 1 { digitalWrite (13, HIGH); // Board LED on motor1.write (90); // Servomotor at 90º } if ((VButton1 == 1) && (VButton2 == 1)) // If button 1 and button 2 are pushed at the same time { X1 = 0; // X1, X2 and X3 to 0 X2 = 0; X3 = 0; digitalWrite (13, LOW); // Board LED off motor1.write (15); // Servomotor at 15º } Serial.print (X1); // Show the value of X1 onscreen Serial.print ("\t"); Serial.printIn (X2); // Show the value of X2 onscreen }
- Sukonfig?ruokite ir ?kelkite kod? pagal instrukcijas, kurios yra pateiktos dokumente „4in1 Build&Code“ plokšt?s pirmieji žingsniai.
Kodas skirtas suderinamai vaizdinei programavimo programinei ?rangai, naudojan?iai blokus
- Parsisi?skite programin? ?rang? ir atlikite ?diegimo proces?.
- Paleiskite program? ir paleid? nukopijuokite ? j? toliau pateikt? kod?:
- Sukonfig?ruokite ir ?kelkite kod? pagal instrukcijas, kurios yra pateiktos dokumente „4in1 Build&Code“ plokšt?s pirmieji žingsniai..
„BitBloq“ kodas
- Parsisi?skite „BitBloq“ programin? ?rang?.
- Paleiskite „BitBloq“ program? ir paleid? nukopijuokite ? j? toliau pateikt? kod?:
- Aparatin? ?ranga
- Programin? ?ranga
- Aparatin? ?ranga
- Sukonfig?ruokite ir ?kelkite kod? pagal instrukcijas, kurios yra pateiktos dokumente „4in1 Build&Code“ plokšt?s pirmieji žingsniai.
PRATIMO REZULTATAS:
Spyna veikia su vykdomuoju varikliu, o slaptas kodas ?vedamas mygtukais. ?vedus teising? mygtuko paspaudim? kombinacij?, vykdomasis variklis pasisuks 90° ir spyna bus atrakinta. Paspaudus abu mygtukus vienu metu, vykdomasis variklis pasisuks 15° kampu ir spyna bus užrakinta. J?s suk?r?te savo seif?!