Star wars
Descripció: Fem que en girar el potenciòmetre el motor giri, i en prémer el botó el led s'encengui
Temps estimat: 120'
Dificultat: fàcil
Edat recomanada: Totes les edats (els més petits necessitaran ajuda amb l'estructura de paper)
Material: Miniservo, led, pulsador, potenciòmetre, tisores, cinta adhesiva, placa Arduino UNO, portapiles i pila 9v
Objectius: Iniciació a la robòtica amb elements icònics de la cultura juvenil.

 

 
 


  

  

Desenvolupament

Estructura:

Retalla la plantilla o dissenya el teu propi turbolaser

retallable turbolaser

Connexions:

  1. Connectem el potenciòmetre al pin A0
  2. Connectem el pulsador al pin 3
  3. Connectem Leds als pins 4 i 5
  4. Connectem el miniservo al pin 6
  5. Buzzer al pin 7 (cal connectar amb cables individuals 


Programació

Ens dirigim a la ide de mblock https://ide.mblock.cc i fem el següent programa:

  1. Escollim la targeta Arduino Uno
  2. Fem el programa
    • Creem els blocs de codi:
      • activar canó turbolaser
      • desactivar canó turbolaser
      • llegir sensors
      • moure torreta
    • Afegim: Esdeveniments > Quan s'engegui l'Arduino
    • Afegim: Control > per sempre
      • Executem "llegim els sensors"
      • Executem "movem la torreta"
      • Si està apretat el polsador "activar canó turbolaser" sino "desactivar canó turbolaser"



El codi en ArdunioC

// generated by mBlock5 for <your product>
// codes make you happy

#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>
#include <Servo.h>

float lectura_polsador = 0;
float lectura_potenciometre = 0;
float angle_motor = 0;

void activar_can_C3_B3_turbolaser(){
digitalWrite(4,1);
digitalWrite(5,1);
digitalWrite(7,0);

}
void desactivar_can_C3_B3_turbolaser(){
digitalWrite(4,0);
digitalWrite(5,0);
digitalWrite(7,1);

}
void llegir_sensors(){
lectura_polsador = digitalRead(3);
lectura_potenciometre = analogRead(A0+0);
angle_motor = map(lectura_potenciometre, 1, 1024, 20, 160);

}
Servo servo_6;
void moure_torreta(){
servo_6.write(angle_motor);

}

void _delay(float seconds) {
long endTime = millis() + seconds * 1000;
while(millis() < endTime) _loop();
}

void setup() {
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(7,OUTPUT);
pinMode(3,INPUT);
pinMode(A0+0,INPUT);
servo_6.attach(6);
while(1) {
llegir_sensors();
moure_torreta();
if(lectura_polsador == 0.000000){
activar_can_C3_B3_turbolaser();

}else{
desactivar_can_C3_B3_turbolaser();

}

_loop();
}

}

void _loop() {
}

void loop() {
_loop();
}


Carreguem el programa a la placa

  1. Copiem el codi de "vista prèvia: Arduinoc".
  2. Obrim la IDE d'Arduino.
  3. Esborrem el que hi hagi i enganxem el nostre codi
  4. Connectem la placa per USB (parem l'alimentació de la pila)
  5. Assegurem que estigui escolli el port i la placa al menú d'Eines
  6. Verifiquem el codi
  7. Pugem el codi

Enllaços d'interès



Last modified: Sunday, 5 May 2024, 11:42 PM