> For the complete documentation index, see [llms.txt](https://franzininho.gitbook.io/franzininho-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://franzininho.gitbook.io/franzininho-docs/exemplos/projeto-de-natal.md).

# 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.

![](https://873566167-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGCuY4CUT5YAR0EROdz%2F-MQHfIXXR0DFYql_Rjxm%2F-MQHftJANJsBsWVsTO5p%2F01.jpeg?alt=media\&token=083ed074-0674-42bd-9111-73dec4bd3474)

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](https://873566167-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGCuY4CUT5YAR0EROdz%2F-MP4Yv30DWJ5zCR4YeF-%2F-MP4_nM3Ey2KPI1AmNKi%2F01.png?alt=media\&token=b971b7fc-02e0-4d33-b0c3-fad76e6eda51)

* 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](https://873566167-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGCuY4CUT5YAR0EROdz%2F-MP4Yv30DWJ5zCR4YeF-%2F-MP4cOzy413mI2fNk10G%2F06.png?alt=media\&token=0c13e938-234c-4e4d-a39f-8cb6afd91c19)

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](https://873566167-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGCuY4CUT5YAR0EROdz%2F-MP4Yv30DWJ5zCR4YeF-%2F-MP4_w7tEkaiUtjGzZBK%2F02.png?alt=media\&token=84075029-d502-49e9-a8c9-fe55342b9874)

## 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.&#x20;

![Arquivo pessoal: Diana Santos](https://873566167-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGCuY4CUT5YAR0EROdz%2F-MP4Yv30DWJ5zCR4YeF-%2F-MP4aaXydu8_P0Io-Hbi%2F03.png?alt=media\&token=3e4cd582-dde1-4700-8161-2ec572c0ee50)

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](https://873566167-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGCuY4CUT5YAR0EROdz%2F-MP4Yv30DWJ5zCR4YeF-%2F-MP4bBcx5zLcqJkwX4dp%2F04.png?alt=media\&token=ad94bf15-5934-4dd1-8152-00ccd48c6347)

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](https://873566167-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGCuY4CUT5YAR0EROdz%2F-MP4Yv30DWJ5zCR4YeF-%2F-MP4bRGuMWi7Hnd_uxuq%2F05.png?alt=media\&token=404a073a-72a9-4010-8efd-b308a6d6beea)

## 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](https://873566167-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGCuY4CUT5YAR0EROdz%2F-MP4Yv30DWJ5zCR4YeF-%2F-MP4dB1sB1davPqClzOz%2F07.png?alt=media\&token=08847a7a-eda3-4bba-acc3-4851d8484d1e)

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](https://873566167-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGCuY4CUT5YAR0EROdz%2F-MP4Yv30DWJ5zCR4YeF-%2F-MP4drZ_nMCCQ39qI8Hp%2F08.png?alt=media\&token=14c9396d-f238-4c6b-9ec6-1df677698fe5)

Após isso a montagem ficará assim:

![Arquivo pessoal: Diana Santos](https://873566167-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LGCuY4CUT5YAR0EROdz%2F-MP4eZEbvIq0CL6eSdp4%2F-MP4eqWrJ1nyq7uz9vCf%2F09.png?alt=media\&token=ebccaa4f-6d5a-43e8-bbfc-25bcaf6c7059)

Agora é só seguir as imagens e montar da forma que achar melhor.

\[EM ANDAMENTO]

## Circuito

\[EM ANDAMENTO]

## Código

```
#include <Adafruit_SoftServo.h> // SoftwareServo (funciona em pinos não PWM)

#define SERVOPIN 0
#define SENSOR 2
#define LED 1

#define INTERVALO_PISCA     150  // tempo para inversão do led
#define INTERVALO_ATUALIZA  10    //tempo para atualizar o servo: minimo 5

#define MINIMO 1   //meno valor 0
#define MAXIMO 178   //maior valor 179

Adafruit_SoftServo servo;  //instacia do servo

int servoPos;  // variável para controle de posição do Servo
long int ultimaInversao = 0;    //variável auxiliar para temporização do LED
long int ultimaatualizacao = 0; //variável auxiliar para atualização do Servo

void iniciaServo(){
  OCR0A = 0xAF;            // any number is OK
  TIMSK |= _BV(OCIE0A);    // Turn on the compare interrupt (below!)

  servo.attach(SERVOPIN);   // anexa pino do Servo
  servo.write(MAXIMO);      // posição inicial do servo
  delay(15);                   // Aguarda servo chegar na posição inicial
}

void setup() {    

  iniciaServo();            //função com a inicializações do servo motor
  
  pinMode(LED, OUTPUT);     //pino do LED como saída
  pinMode(SENSOR,INPUT_PULLUP);    //pino do Sensor como entrada
}

void loop()  {      

  if ((millis() - ultimaatualizacao) > INTERVALO_ATUALIZA)  //verifica se já passou o tempo para atualizar o servo
  {        

   if(!digitalRead(SENSOR))            //se não estiver acionado o sensor de presenção
   {
    if(servoPos <= MAXIMO) servoPos++;  //papi noel sobe
   }
   else{                                //se tiver presença   
      if (servoPos > MINIMO) servoPos--; //papi noel desce
    }

    servo.write(servoPos);                    // atualiza posição do servo
    ultimaatualizacao = millis();               //salva tempo para proxima atualização
  } 

  if ((millis() - ultimaInversao) > INTERVALO_PISCA) //verifica se já dpassou o tempo para inverter o LED
  {
    if(digitalRead(SENSOR))//se tiver alguém na frente da lareira         
    {
      digitalWrite(LED, !digitalRead(LED)); //Pisca LED
    }
    else{
      digitalWrite(LED,LOW);                //apaga LED
    }
    ultimaInversao = millis();              //salva tempo para proxima atualização
  }
}


//interrupção para atualização do servo
// NÃO ALTERAR CONFIGURAÇÃO
volatile uint8_t counter = 0;
SIGNAL(TIMER0_COMPA_vect) {
  
  counter += 2;
  if (counter >= 20) {
    counter = 0;
    servo.refresh();
  }
}
```

{% embed url="<https://www.youtube.com/watch?v=f3oQmxDHBHo>" %}
