Projeto de Páscoa

Projeto de Páscoa

O propósito desse projeto é de estimular a criatividade das crianças através da pintura, recorte, colagem,montagem e animação com programação.
O cenário é de páscoa, onde temos um coelho movimentado sua cabeça e olhos de piscantes, o coelho é feito de papel sulfite e para que fique firme foi usado papel de caixa de bombom, os olhos foram colocados 2 leds, e para que a cabeça faça o movimento foi usado um servo motor, para isso foi usado jumpers e a placa Franzininho. Logo temos mais informações:
A seguir vamos apresentar uma aplicação que você pode fazer com o seu filho ou alunos.

Atividade será dividida em duas etapas:

    Pintura do coelho, recorte e colagem.
    Programação para a aminação.

Insumos de papelaria:

    Lápis de cor/Giz/Canetinha;
    Tesoura sem ponta;
    Papelão;
    Cola líquida;
    Cola quente;
    Palito de sorvete/churrasco;

Insumos eletrônico:

    1 Franzininho;
    1 servo motor;
    2 leds vermelhos3mm;
    Jumpers;
Após separar os itens a serem usados para a montagem do coelho, vamos dar início a primeira etapa, seja a seguir:

Primeira etapa: Recorte e pintura do coelho

Passo 1 - Deve imprimir os desenhos em uma folha A4
Passo 2 - Com o cenário em mãos, recorte o coelho separados por cabeça e corpo.
Passo 3 - Agora recorte os ovos e as cenouras.
Passo 4 - Após isso, deve-se colar os desenhos em um papel mais firme, pode ser ter usado caixa de bombom como eu fiz ou então caixa de papelão.
Passo 5 - Agora você deve colar a cabeça do coelho no servo motor com cola quente.
Passo 6 - Com a cola quente você deve colar o corpo do coelho no palito de churrasco.

Segunda etapa: Ligação do circuito

Passo 1: A ligação deve ser feita no seguintes fios.
Fio preto do servo motor no GND dos pinos da Franzininho
Fio Marrom do servo motor no VCC dos pinos da Franzininho Fio Vermelho

Circuito

Sketch

1
2
#include <Adafruit_SoftServo.h> // SoftwareServo (funciona em pinos não PWM)
3
4
#define SERVOPIN 0
5
#define INTERVALO_PISCA 150 // tempo para inversão do led
6
#define INTERVALO_ATUALIZA 10 //tempo para atualizar o servo: minimo 5
7
8
#define MINIMO 30 //meno valor 0
9
#define MAXIMO 149 //maior valor 179
10
11
const int LED = 1;
12
13
Adafruit_SoftServo myServo1; //create TWO servo objects
14
15
int servoPos; // variable to convert voltage on pot to servo position
16
int inc;
17
long int ultimaInversao = 0;
18
long int ultimaatualizacao = 0;
19
20
void setup() {
21
// Set up the interrupt that will refresh the servo for us automagically
22
OCR0A = 0xAF; // any number is OK
23
TIMSK |= _BV(OCIE0A); // Turn on the compare interrupt (below!)
24
25
pinMode(LED, OUTPUT);
26
27
myServo1.attach(SERVOPIN); // Attach the servo to pin 0 on Trinket
28
myServo1.write(1207); // Tell servo to go to position per quirk
29
delay(15); // Wait 15ms for the servo to reach the position
30
// while(1);
31
}
32
33
void loop() {
34
35
36
if ((millis() - ultimaatualizacao) > INTERVALO_ATUALIZA) //verifica se já deu o tempo para stualizar o servo
37
{
38
if(servoPos<=MINIMO) inc = 1;
39
else if(servoPos>=MAXIMO) inc = -1;
40
41
servoPos+=inc; //incrementa posição do Servo
42
43
myServo1.write(servoPos); // tell servo to go to position
44
45
ultimaatualizacao = millis();
46
}
47
48
49
if ((millis() - ultimaInversao) > INTERVALO_PISCA) //verifica se já deu o tempo para inverter o LED
50
{
51
digitalWrite(LED, !digitalRead(LED));
52
ultimaInversao = millis();
53
}
54
}
55
56
57
// We'll take advantage of the built in millis() timer that goes off
58
// to keep track of time, and refresh the servo every 20 milliseconds
59
// The SIGNAL(TIMER0_COMPA_vect) function is the interrupt that will be
60
// Called by the microcontroller every 2 milliseconds
61
volatile uint8_t counter = 0;
62
SIGNAL(TIMER0_COMPA_vect) {
63
// this gets called every 2 milliseconds
64
counter += 2;
65
// every 20 milliseconds, refresh the servos!
66
if (counter >= 20) {
67
counter = 0;
68
myServo1.refresh();
69
}
70
}
Copied!

Video

[Em breve]
infografico-pascoa-A4.png
Last modified 9mo ago