Projektas #2: Pavojaus signalas
Sukurkite program?, kad, paspaudus mygtuk?, šviesos diodai ?sijungt? su pertraukomis atsižvelgiant ? skleidžiamo garsinio signalo greit?, imituojant avarini? tarnyb? automobilio pavojaus signal?.
SUD?TINGUMO LYGIS: Pradedantiesiems.
PRATIMO TRUKM?: 20 min.
MEDŽIAGOS::
- 1 žalios spalvos diodas
- 1 raudonos spalvos diodas
- 1 mygtukas
- 1 „Code & Drive“ roboto mašinos komplekto signalizatorius
- Kompiuteris
„Code & Drive“ robotas mašina tur?s b?ti sukonstruotas pagal instrukcij? vadov?.
Kas yra signalizatorius?
Signalizatorius - elektroakustinis keitiklis, kuris skleidžia nuolatin? ar nutrunkant? gars?, paprastai sudaryt? iš trij? dali?. Jis naudojamas kaip ?sp?jamojo signalizavimo mechanizmas ir gali b?ti naudojamas keliose sistemose, pvz., automobiliuose ir buitiniuose prietaisuose, ?skaitant pažadinimo pavojaus signalus.
Kas yra mygtukas?
Mygtukas yra perjungimo mechanizmas, kur? paspaudus, jis pasiun?ia signal?.
JUNGTYS:
- Prijunkite šviesos jutiklius prie analogini? kontakt? A0 ir A1.
- Prijunkite šviesos diodus prie skaitmenini? kontakt? 9 ir 10.
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; // PIN DIGITAL PARA LA VELOCIDAD DE LOS MOTORES int PinBoton = 11, ValueBoton = 0; // PIN DIGITAL DEL BOTÓN Y VALOR DEL BOTÓN int PinLED1 = 9, PinLED2 = 10; // PIN DIGITAL LED1 Y LED2 int PinBuzzer = 8; // PIN DIGITAL DEL ZUMBADOR void setup() { // put your setup code here, to run once: // CONFIGURACIÓN DE LOS PINES DIGITALES pinMode(PinSpeedMotorA, OUTPUT); pinMode(PinSpeedMotorB, OUTPUT); pinMode(PinBoton, INPUT); pinMode(PinLED1, OUTPUT); pinMode(PinLED2, OUTPUT); pinMode(PinBuzzer, OUTPUT); // VELOCIDAD DE LOS MOTORES A 0 analogWrite(PinSpeedMotorA, 0); analogWrite(PinSpeedMotorB, 0); } void loop() { // put your main code here, to run repeatedly: ValueBoton = digitalRead( PinBoton); // LECTURA DE ESTADO DEL BOTÓN if ( ValueBoton == LOW) // SI EL BOTÓN ESTÁ PULSADO { digitalWrite(PinLED1,HIGH); // LED1 = ON digitalWrite(PinLED2,LOW); // LED2 = OFF tone(PinBuzzer, 600); // TONO DEL ZUMBADOR delay(350); // TIEMPO DE EJECUCIÓN digitalWrite(PinLED1,LOW); // LED1 = OFF digitalWrite(PinLED2,HIGH); // LED2 = ON tone(PinBuzzer, 400); // TONO DEL ZUMBADOR delay(350); // TIEMPO DE ESPERA } else // SI EL BOTÓN NO ESTÁ PULSADO { noTone(PinBuzzer); // ZUMBADOR APAGADO 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?.
- 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:
Paspaudus mygtuk?, abu šviesos diodai ?sijungia su pertraukomis. Signalizatorius skleis gars? ir pakeis savo skamb?jim? kaskart, kai ?sijungs šviesos diodas.
Bendrai, paspaudus mygtuk?, šviesos diodai ir signalizatorius imituos avarini? tarnyb? automobilio pavojaus signal?.