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:

  1. Prijunkite šviesos jutiklius prie analogini? kontakt? A0 ir A1.
  2. 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

  1. Parsisi?skite  ir ?diekite „Arduino IDE“ program?. Ji si?loma „Windows“, „Mac OS“ ir „Linux“.
  2. 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
    }
    }
    
  3. Sukonfig?ruokite ir ?kelkite kod? vadovaudamiesi instrukcijomis pateiktomis Code & Drive“ roboto mašinos pirm?j? veiksm? vadove
  4. 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

  1. Parsisi?skite ir ?diekite program?.
  2. Paleiskite programin? ?rang? ir nukopijuokite toliau pateikt? kod?. Naudokite š? paveiksl?l? kaip vadov?:
  3. Sukonfig?ruokite ir ?kelkite kod? vadovaudamiesi instrukcijomis pateiktomis Code & Drive“ roboto mašinos pirm?j? veiksm? vadove
  4. Kad kod? ?keltum?te teisingai, ?sitikinkite, kad „Build & Code 4in1“ plokšt?s BTL/USB jungiklis yra teisingai nustatytas ? USB pad?t?.

„Bitbloq“ kodas

  1. Parsisi?skite „Bitbloq“ ir ?diekite „Web2board“ program?l?.
  2. Paleiskite programin? ?rang? ir nukopijuokite toliau pateikt? kod?:
    • Aparatin? ?ranga

    • Programin? ?ranga

  3. Sukonfig?ruokite ir ?kelkite kod? vadovaudamiesi instrukcijomis pateiktomis Code & Drive“ roboto mašinos pirm?j? veiksm? vadove
  4. 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?.