Projeto de Natal
O proposito desse projeto é estabelecer as relações natalinas, concretizar a imaginação da criança e aproximar a bom velhinho nas nossas casas.
Com materiais que você deve ter em casa e com a placa Franzininho DIY, sensor de presença e servo motor criamos uma atividade bem lúdica para a garotada.

Materiais

Insumo de papelaria

  • 2 caixas de sabão em pó
  • Pedaços de papelão
  • Palitos de sorvete
  • Cola
  • Cola quente
  • Tinta/lápis de cor
  • Tesoura
  • Estilete

Insumo eletrônico

  • Franzininho DIY
  • Sensor de presença
  • Power bank/ alimentação
  • 3 leds RGB
  • Computador

Primeira etapa - Estrutura inferior

Você precisa de uma das caixas de sabão e tirar a medida de 3 cm das bordas e recortar, utilize um estilete e ficará conforme a imagem abaixo:
Arquivo pessoal: Diana Santos
  • detalhe eu não tirei foto, mas você deve fazer um corte também na parte superior da caixa para que o papai noel passe e apareça no meio desse vão.
Arquivo pessoal: Diana Santos
Agora você deve encapar da forma que achar melhor. Eu utilizei folha sulflite e fiz os tijolinhos com tinta guache, mas você poderia encapar com outro material e fazer os tijolinhos e colar a parte por exemplo. Personalize da forma que achar melhor, use a criatividade e utilize os materiais que você tenha em casa.
Arquivo pessoal: Diana Santos

Segunda etapa - Estrutura Superior

Você deve fazer um buraco na parte de trás na foto eu fiz nesse tamanho mas depois eu abri mais um pouco.
Arquivo pessoal: Diana Santos
Agora você deve encapar eu utilizei folha sulfite e fiz medidas de tijolinhos as medidas são de : 5x3 cm e ficará igual a imagem abaixo:
Arquivo pessoal: Diana Santos
Agora chegou a hora de unir as caixas de sabão, mas antes tem um detalhe, você deve fazer um corte também nesta caixa de sabão para que o papai noel passe.
Arquivo pessoal: Diana Santos

Papai Noel

Minha impressora acabou a tinha e então eu desenhei a mão esse papai noel, você pode ver alguns modelos na internet, mas desde que seja melhor que as caixas de sabão.Após isso decore ele e não precisa ter pernas, pois ele vai descer só um pouco da chaminé. Cole com um palito de sorvete atrás e ficará igual o da imagem. Colocamos na ponta do picole um pedaço de terminal e colamos com cola quente.
Arquivo pessoal: Diana Santos
Agora pegue outro palito de sorvete e cole o acessório do servo motor, colei com fita dupla fase fina, conforme a imagem.
Arquivo pessoal: Diana Santos
Após isso a montagem ficará assim:
Arquivo pessoal: Diana Santos
Agora é só seguir as imagens e montar da forma que achar melhor.
[EM ANDAMENTO]

Circuito

[EM ANDAMENTO]

Código

1
#include <Adafruit_SoftServo.h> // SoftwareServo (funciona em pinos não PWM)
2
3
#define SERVOPIN 0
4
#define SENSOR 2
5
#define LED 1
6
7
#define INTERVALO_PISCA 150 // tempo para inversão do led
8
#define INTERVALO_ATUALIZA 10 //tempo para atualizar o servo: minimo 5
9
10
#define MINIMO 1 //meno valor 0
11
#define MAXIMO 178 //maior valor 179
12
13
Adafruit_SoftServo servo; //instacia do servo
14
15
int servoPos; // variável para controle de posição do Servo
16
long int ultimaInversao = 0; //variável auxiliar para temporização do LED
17
long int ultimaatualizacao = 0; //variável auxiliar para atualização do Servo
18
19
void iniciaServo(){
20
OCR0A = 0xAF; // any number is OK
21
TIMSK |= _BV(OCIE0A); // Turn on the compare interrupt (below!)
22
23
servo.attach(SERVOPIN); // anexa pino do Servo
24
servo.write(MAXIMO); // posição inicial do servo
25
delay(15); // Aguarda servo chegar na posição inicial
26
}
27
28
void setup() {
29
30
iniciaServo(); //função com a inicializações do servo motor
31
32
pinMode(LED, OUTPUT); //pino do LED como saída
33
pinMode(SENSOR,INPUT_PULLUP); //pino do Sensor como entrada
34
}
35
36
void loop() {
37
38
if ((millis() - ultimaatualizacao) > INTERVALO_ATUALIZA) //verifica se já passou o tempo para atualizar o servo
39
{
40
41
if(!digitalRead(SENSOR)) //se não estiver acionado o sensor de presenção
42
{
43
if(servoPos <= MAXIMO) servoPos++; //papi noel sobe
44
}
45
else{ //se tiver presença
46
if (servoPos > MINIMO) servoPos--; //papi noel desce
47
}
48
49
servo.write(servoPos); // atualiza posição do servo
50
ultimaatualizacao = millis(); //salva tempo para proxima atualização
51
}
52
53
if ((millis() - ultimaInversao) > INTERVALO_PISCA) //verifica se já dpassou o tempo para inverter o LED
54
{
55
if(digitalRead(SENSOR))//se tiver alguém na frente da lareira
56
{
57
digitalWrite(LED, !digitalRead(LED)); //Pisca LED
58
}
59
else{
60
digitalWrite(LED,LOW); //apaga LED
61
}
62
ultimaInversao = millis(); //salva tempo para proxima atualização
63
}
64
}
65
66
67
//interrupção para atualização do servo
68
// NÃO ALTERAR CONFIGURAÇÃO
69
volatile uint8_t counter = 0;
70
SIGNAL(TIMER0_COMPA_vect) {
71
72
counter += 2;
73
if (counter >= 20) {
74
counter = 0;
75
servo.refresh();
76
}
77
}
Copied!
Last modified 1yr ago