Projektas #3: Apsaugos nuo vagys?i? signalizacija
Sukurkite program?, kad „Code & Drive“ robotas mašina skleist? gars? ir ?jungta savo šviesas, kai yra paimamas nuo stalo ar bet kokio kito balto paviršiaus, taip imituojant apsaugos nuo vagys?i? signalizacij?. Tuo tarpu, kai linijos sekimo jutikliai aptiks nuo balto paviršiaus atspind?tus infraraudonuosius spindulius, signalizatorius neskleis jokio garso, o šviesos diodai liks ne?jungti.
SUD?TINGUMO LYGIS: Pradedantiesiems.
PRATIMO TRUKM?: 30 min.
MEDŽIAGOS::
- 1 žalios spalvos diodas
- 1 raudonos spalvos diodas
- 2 Linijos sekimo jutikliai
- 1 Signalizatorius
- Kompiuteris
„Code & Drive“ robotas mašina tur?s b?ti sukonstruotas pagal instrukcij? vadov?.
Kas yra linijos linijos sekimo jutiklis?
Infraraudon?j? spinduli? linijos jutiklis yra ?taisas, kuris skleidžia infraraudonuosius spindulius ir aptinka atspind?tos šviesos kiek?. Jis gali atskirti juod? spalv? nuo baltos.
Yra daugyb? infraraudon?j? spinduli? jutikli? tip?. Televizoriaus nuotolinio valdymo pultas ir objekt? detektoriai yra keli j? pavyzdžiai.
JUNGTYS::
- Prijunkite šviesos diodus prie skaitmenini? kontakt? „9“ ir „10“.
- Prijunkite signalizatori? prie skaitmenin?s jungties „8“.
- Prijunkite linijos sekimo jutiklius prie skaitmenini? kontakt? „2“ ir „3“.
PROGRAMOS KODAS
Galite atlikti š? projekt? naudodami „Arduino“, „Bitbloq“ arba kit? suderinam? vaizdin? programavimo programin? ?rang?, naudojan?i? blokus. Toliau pateikiamas reikiamas kodas.
„Arduino“ kodas
- Parsisi?skite ir ?diekite „Arduino IDE“ program?. Ji si?loma „Windows“, „Mac OS“ ir „Linux“.
- Paleiskite „Arduino“ program? ir nukopijuokite ? j? toliau pateikt? kod?:
int PinSpeedMotorA = 5, PinSpeedMotorB = 6; // DIGITAL PIN DIGITAL FOR THE MOTORS SPEED int PinBW1 = 2, PinBW2 = 3, ValueBW1 = 0, ValueBW2 = 0; int PinLED1 = 9, PinLED2 = 10; // DIGITAL PINS LED1 AND LED2 int PinBuzzer = 8; // BUZZER DIGITAL PIN void setup() { // put your setup code here, to run once: // DIGITAL PINT CONFIGURATION pinMode(PinSpeedMotorA, OUTPUT); pinMode(PinSpeedMotorB, OUTPUT); pinMode(PinBW1, INPUT); pinMode(PinBW2, INPUT); pinMode(PinLED1, OUTPUT); pinMode(PinLED2, OUTPUT); pinMode(PinBuzzer, OUTPUT); // MOTORS SPEED A 0 analogWrite(PinSpeedMotorA, 0); analogWrite(PinSpeedMotorB, 0); } void loop() { // put your main code here, to run repeatedly: ValueBW1 = digitalRead(PinBW1); //READING OF THE BLACK AND WHITE SENSOR 1 ValueBW2 = digitalRead(PinBW2); // READING OF THE BLACK AND WHITE SENSOR 2 if ((ValueBW1==0)&&(ValueBW2==0)) // IF THE VALUE OF THE TWO BLACK AND WHITE SENSORS IS 0 { digitalWrite(PinLED1,HIGH); //LED1 = ON digitalWrite(PinLED2,HIGH); //LED2 = ON tone(PinBuzzer, 600); // BUZZER TONE } else // IF THE VALUE OF THE TWO BLACK AND WHITE SENSORS IS NOT 0 { noTone(PinBuzzer); // BUZZER OFF digitalWrite(PinLED1,LOW); // LED1 = OFF digitalWrite(PinLED2,LOW); // LED2 = OFF } }
- Sukonfig?ruokite ir ?kelkite kod? vadovaudamiesi instrukcijomis pateiktomis „Code & Drive“ roboto mašinos pirm?j? veiksm? vadove.
- Kad kod? ?keltum?te teisingai, ?sitikinkite, kad „Build & Code 4in1“ plokšt?s BTL/USB jungiklis yra teisingai nustatytas ? USB pad?t?.
Kodas vaizdinio programavimo programinei ?rangai naudojan?iai blokus
- Parsisi?skite ir ?diekite program?.
- 2. Paleiskite programin? ?rang? ir nukopijuokite toliau pateikt? kod?. Naudokite š? paveiksl?l? kaip vadov?:
- Sukonfig?ruokite ir ?kelkite kod? vadovaudamiesi instrukcijomis pateiktomis Code & Drive“ roboto mašinos pirm?j? veiksm? vadove.
- Kad kod? ?keltum?te teisingai, ?sitikinkite, kad „Build & Code 4in1“ plokšt?s BTL/USB jungiklis yra teisingai nustatytas ? USB pad?t?.
„Bitbloq“ kodas
- Parsisi?skite „Bitbloq“ ir ?diekite „Web2board“ program?l?.
- Paleiskite programin? ?rang? ir nukopijuokite toliau pateikt? kod?:
- Aparatin? ?ranga
- Programin? ?ranga
- Aparatin? ?ranga
- Sukonfig?ruokite ir ?kelkite kod? vadovaudamiesi instrukcijomis pateiktomis Code & Drive“ roboto mašinos pirm?j? veiksm? vadove.
- Kad kod? ?keltum?te teisingai, ?sitikinkite, kad „Build & Code 4in1“ plokšt?s BTL/USB jungiklis yra teisingai nustatytas ? USB pad?t?.
PRATIMO REZULTATAS:
Paimant „Code & Drive“ robot? mašin? nuo stalo ar bet kurio kito balto paviršiaus, signalizatorius skleis gars?, o šviesos diodai ?sijungs, imituojant apsaugos nuo vagys?i? signalizacij?. Padedant „Code & Drive“ robot? mašin? ant stalo ar balto paviršiaus, signalizatorius nustos skleisti gars?, o šviesos diodai išsijungs.