Starter Shield EN

O Starter Shield é um começo perfeito para iniciantes no mundo Arduino. Você pode aprender truques básicos de soldagem e praticar princípios de programação enquanto aprende com este kit. Preparamos um guia de soldagem detalhado e uma biblioteca totalmente suportada de exemplos de programação, do fácil ao difícil, para que eletrônica possa ser divertida mesmo que você tenha pouco conhecimento técnico. Esperamos que você se divirta e adquira algum conhecimento com este kit!
Este é um exemplo How to make tiny tiger Machine usado pelo Starter Shield.
O Starter Shield contém alguns recursos eletrônicos básicos, como botões, sensores, buzzer e display. É uma ótima maneira de aprender a soldar. O Starter Shield é um kit de soldagem de furo passante para iniciantes. Depois de montar o kit, você terá dominado o básico de soldagem por furo passante e terá um despertador em estilo geek que funciona com o seu Arduino.
Modelo: SLD90400P
Lista de peças
-
1x Buzzer ;
-
1x CAP Alumínio 100uF-16V;
-
1x Sensor de Temperatura-10k;
-
1x RES Fotoresistor 10K;
-
4x RES 10K-5%-1/4W;
-
4x RES 220R-5%-1/4W;
-
3x RES 4.7K-5%-1/4W;
-
2x Header Macho Azul VERT;
-
2x Header Macho Azul VERT;
-
1x Header Fêmea Azul VERT;
-
1x Bateria de íon de lítio 3V-40mAh;
-
1x Suporte de Célula de Bateria SMD Plástico;
-
1x CI Driver;
-
1x RTC Clock/Timing;
-
2x Soquete para CI;
-
3x Botão Superior;
-
2x Header Fêmea Redondo Preto VERT;
-
1x LED Verde-Verde;
-
1x LED Azul-Azul;
-
2x LED Vermelho-Vermelho;
-
1x LED 7-SEG-Vermelho;
-
1x Cristal 32.768KHz-12.5pF-20ppm-30K;
-
2x CAP Disco Cerâmico 1nF-50V-20%;
-
1x CAP Disco Cerâmico 100nF-25V;
-
1x Guia de Soldagem do Starter Shield
-
1x PCB do Starter Shield;
Especificação

Recursos de Hardware
-
Suporte para Bateria Tipo Moeda: fornece energia para o CI RTC quando a alimentação externa está desligada;
-
Buzzer: cria efeito de áudio;
-
Sensor de Luz: detecta a intensidade da luz ambiente;
-
Sensor de Temperatura: detecta a temperatura ambiente;
-
K1...K3: botões temporários;
-
D1...D4: LEDs em azul, verde, vermelho e vermelho;
-
U3: VS1307, CI de Relógio em Tempo Real;
-
U5: TM1636, CI driver de display de 7 segmentos.
Pinos Usados no Arduino
-
D2: Controla LED1;
-
D3: Controla LED2;
-
D4: Controla LED3;
-
D5: Controla LED4;
-
D6: Controla o Buzzer;
-
D7: pino SCLK do VS1636;
-
D8: pino DIO do VS1636;
-
D9: Controla K1;
-
D10: Controla K2;
-
D11: Controla K3;
-
A0(D14): Lê medições do sensor de temperatura;
-
A1(D15): Lê medições do sensor de luz;
-
A4(D18): pino SDA do DS1307
-
A5(D19): pino SCK do DS1307
Demonstração
Você deve terminar a soldagem do seu Tick Tock Shield antes de passar para as demonstrações a seguir. Se você não fez isso, clique aqui para baixar o guia de soldagem.
Aqui começamos a apresentar 7 demos do fácil ao difícil. Elas envolvem o uso de todos os recursos de hardware do Tick Tock Shield:
Demo 1: Varredura dos LEDs
-
Esta demo envolve apenas o uso do atuador mais básico - LEDs.
-
Reinicie a Arduino IDE. Abra o exemplo "RunLED" pelo caminho: File --> Examples --> TickTockShield--> RunLED.

-
Esta demo pode varrer 4 LEDs com uma velocidade ajustável. Você pode alterar a velocidade de varredura mudando o parâmetro da função "runLED(speed)". Encontre mais ilustrações da função em seu comentário.
-
Clique no botão de upload para enviar o programa para o Arduino.
-
Você pode ver quatro luzes de LED acenderem e apagarem da esquerda para a direita em uma determinada velocidade depois que o programa é carregado.
Demo 2: Controlar LEDs por Teclas
Esta demo mostra como controlar LEDs com a entrada mais básica - botões.
-
Abra o exemplo "ControlLED" da mesma forma que abriu o "RunLED" acima.
-
Esta demo pode ligar ou desligar quatro LEDs por teclas. Definimos duas flags para armazenar o status deste teste, TEST_START e TEST_END. Toda vez que a tecla "menu" é pressionada, o status alterna entre TEST_START e TEST_END. No status de TEST_START, a tecla "increase" pode acender mais um LED da direita para a esquerda a cada vez que é pressionada. A tecla "decrease" tem um efeito inverso ao da tecla "increase".
Demo 3: Alterar o Tom do Buzzer por Teclas Esta demo envolve como produzir um som com o buzzer e, como você já sabe como usar botões, nesta demo usamos botões para aumentar ou diminuir o tom do buzzer.
-
Abra o exemplo "changeThePitch".
-
Toda vez que a tecla "increase" é pressionada, o tom do buzzer sobe. E quando a tecla "decrease" é pressionada, o tom desce.
Demo 4: Exibir Temperatura
Comece com sensores. Primeiro temos aqui o sensor de temperatura. Tente ler seu valor e exibi-lo no display de 7 segmentos.
- Abra o exemplo "MeasureTemprature".
- O Display de 7 segmentos exibirá a temperatura atual lida do sensor de temperatura, como mostrado abaixo.
- Se você perceber, na imagem abaixo, que o contraste não é forte o suficiente, tente um ângulo de visão mais baixo. Este princípio também se aplica às demos seguintes que envolvem o uso do display de 7 segmentos.

Demo 5: Fazer um LED Controlado por Sensor de Luz
Não seria conveniente se o brilho do display pudesse se ajustar automaticamente de acordo com a luz ambiente? Esta demo mostra como fazer isso usando um sensor de luz.
-
Abra o exemplo "SensorControlBrightness" da mesma forma.
-
Este exemplo pode alterar o brilho do Indicador BRIGHT_ADJUST de acordo com a intensidade da luz ambiente. Quanto mais escuro o ambiente, mais claro o LED fica. A imagem à direita é o resultado.


Demo 6: Exibir Caracteres Numéricos
Esta demo mostra como controlar o conteúdo do display de 7 segmentos.
-
Abra o exemplo "CharacterFlow".
-
Este exemplo pode executar caracteres numéricos 0, 1, 2, 3, 4, 5, 6, 7, 8 ,9, A, b, C, d, E, F da direita para a esquerda.

Demo 7: Relógio em Tempo Real
Esta é uma demo final que envolve todos os recursos de hardware mencionados acima e executa todas as funções de um despertador da vida real, como exibir a hora, tocar um alarme para tirá-lo da cama e assim por diante. Além disso, como um sensor de luz e um sensor de temperatura são adicionados, o Tick Tock Shield faz mais do que um despertador normal. Ele pode detectar a luz ambiente e ajustar automaticamente o brilho do display de 7 segmentos. Também pode mostrar a temperatura atual em um determinado intervalo de tempo.
-
Abra o exemplo "RealTimeClock" e envie o exemplo para o Arduino.
-
O Display de 7 segmentos exibirá alternadamente a hora atual e a temperatura.

- Método para ajustar a hora e definir o despertador:
-
- Como há um chip RTC na placa, você não precisa redefinir a hora toda vez que ligá-la, claro, desde que a bateria tipo moeda do chip RTC esteja carregada. Mas se esta for a sua primeira vez ligando o Tick Tock Shield, é necessário ajustar a hora.
-
- Três botões são usados para ajustar a hora. Eles são "menu"(K3), "increase"(K2) e "decrease"(K1). Pressione "menu" para circular entre os seguintes modos de configuração:
-
a) ajustar a parte de horas da exibição normal de hora
-
b) ajustar a parte de minutos da exibição normal de hora
-
c) ajustar a parte de horas do despertador
-
d) ajustar a parte de minutos do despertador
-
e) ajustar o brilho padrão do display de 7 segmentos
-
f) ligar ou desligar a função de alarme
-
g) sair dos modos de ajuste de hora
-
- Se você quiser sair antes de passar por todas as 7 etapas acima, há duas formas de interrupção. Uma, pressione K3 por 3s, não importa em qual etapa. Desta forma, o Tick Tock Shield confirmará todas as configurações que você fez e sairá. Duas, deixe o Tick Tock Shield parado por 5s. Desta forma, nenhuma configuração será armazenada e você também sairá do modo de ajuste de hora.
-
- K2 é atribuído para definir o status do despertador. Você pode saber o status do despertador através do Indicador ALARM_ENABLE.
Visualizador Online de Esquemático
Recursos
-
[Library] Biblioteca Starter Shield
-
[Eagle] Arquivo eagle do Starter Shield
-
[PDF] BLE Bee v1.0 pdf
-
[EAGLE] BLE Bee v1.0 sch
-
[Esquemático] Starter Shield pdf Esquemático
-
[Datasheet] Datasheet TM1636
-
[Datasheet] Datasheet VS1307
Referência
Classe EEPROM
Função da Classe: Ler e gravar a EEPROM do chip AVR. O tamanho da EEPROM do chip ATmega328P é 1K Bytes para o Seeeduino V3.0. O conteúdo da EEPROM que você gravou não será perdido quando desligar a energia. Ela é usada para salvar a hora do alarme e o flag de habilitação do alarme na Demo RealTimeClock. Você não precisa redefinir o despertador.
Descrição da Função:
1. EEPROM.read(int address); Esta função é usada para ler dados de um endereço especificado da EEPROM.
- address: o endereço da unidade alvo.
Exemplo:
temp_data[i] = EEPROM.read(i);
2. EEPROM.write(int address, uint8_t value); A função é usada para gravar dados em um endereço especificado da EEPROM.
- address: o endereço da unidade alvo
- uint8_t value: dados a serem gravados na unidade alvo.
Exemplo:
if(temp_data[i] != mark[i])
{
EEPROM.write(0,mark[0]);
EEPROM.write(1,mark[1]);
EEPROM.write(2,mark[2]);
EEPROM.write(3,mark[3]);
EEPROM.write(4,mark[4]);
return true;
}
Classe TM1636
**Função da Classe:**esta classe contém todas as funções para controlar quatro displays de 7 segmentos. Descrição da Função:
1. tm1636.point(boolean PointFlag); A função é usada para ligar ou desligar o ponto do relógio (:). Esta função entrará em vigor toda vez que o conteúdo do display mudar.
- PointFlag: pode ser 0(off) ou 1(on).
Exemplo:
if(flag_clockpoint)
{
tm1636.point(POINT_ON);
}
else tm1636.point(POINT_OFF);
2. Tm1636.display(int8_t DispData[]); Criar um fluxo de caracteres com o conteúdo de DispData[].
- DispData[]: um array do tipo int8_t, incluindo 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, A, b, C, d, E e F.
Exemplo:
tm1636.display(disp);
Classe TickTockShield
Função da Classe Operar todos os componentes no Tick Tock Shield. Descrição da Função:
1. ticktockshield.init(); A inicialização do Tick Tock Shield.
2. ticktockshield.runLED(byte speed, byte direction);
Esta função varre 4 LEDs na direção que você escolher.
- speed: a taxa de fluxo dos LEDs de 1(mais lento) a 10(mais rápido).
- direction: direção do fluxo de LED, pode ser LEFT_TO_RIGHT ou RIGHT_TO_LEFT.
Exemplo:
/*Run the 4 LEDs from left to right*/
ticktockshield.runLED(1,LEFT_TO_RIGHT);
3. ticktockshield. turnOnLED(); Ligar todos os 4 LEDs.
4. ticktockshield. turnOffLED(); Desligar todos os 4 LEDs.
5. setLed(unsigned char led_status, int pinLED); A função é usada para ligar ou desligar um LED individual.
- led_status: pode ser LED_ON ou LED_OFF.
- pinLED: pode ser um entre LED_CLOCK_ADJUST,LED_ALARM_ADJUST,LED_BRIGHT_ADJUST,LED_ALARM_ENABLE.
Exemplo:
void TickTockShield::turnOffLED()
{
setLed(LOW,LED_CLOCK_ADJUST);
setLed(LOW,LED_ALARM_ADJUST);
setLed(LOW,LED_BRIGHT_ADJUST);
setLed(LOW,LED_ALARM_ENABLE);
}
6. ticktockshield.alarming(); Fazer o buzzer apitar. Exemplo:
/*It will sound alarm for a minute untill the "MENU" key is pressed*/
if(ticktockshield.isAlarmEnable())
{
ticktockshield.alarming();
}
7. ticktockshield.turnOffAlarm(); Desligar o alarme quando o buzzer estiver apitando.
8. ticktockshield.setAlarm(uint8_t hour,uint8_t minute,uint8_t flag_enabl); Definir a hora do alarme.
- hour: hora
- minute: minuto
- flag_enabl: flag que restaura o status do alarme, pode ser 0(não habilitado) ou 1(habilitado)
Exemplo:
ticktockshield.setAlarm(12,0);//Yes,the alarm clock is initialized to 12:00 and the data in the EEPROM.
9. ticktockshield.getAlarm(); Ler o valor de alarme predefinido da EEPROM e armazená‑lo nas variáveis fornecidas, incluindo o flag de habilitação do alarme. Exemplo:
if(isFirstLoad())//if it is the first time to load the firmware?
{
ticktockshield.setAlarm(12,0);
}
else ticktockshield.getAlarm();//No,read the alarm clock stored in EEPROM
10. ticktockshield.getTemperature(); Obter a leitura do sensor de temperatura. Exemplo:
/*Read the ambient temperature and display on the digital tube.*/
ticktockshield.displayTemperature(ticktockshield.getTemperature());
11. ticktockshield.displayTemperature(int8_t temperature); Exibir o valor de temperatura(valor negativo suportado) no display de 7 segmentos. O caractere C representa graus Celsius. Exemplo:
ticktockshield.displayTemperature(ticktockshield.getTemperature());
12. ticktockshield.scanKey(); Descobrir qual tecla foi pressionada. Retorna o número do pino da tecla pressionada. E retorna "-1" se nenhuma tecla for pressionada.
if((flag_scan_again)&&(KEY_MENU == ticktockshield.scanKey()))
{
ticktockshield.writeToAdjustArea();
ticktockshield.processKey();
system_states = SYSTEM_ADJUSTING;
}
13. ticktockshield.processKey(); Processar o comando que você insere por meio das teclas. Se for um pressionamento normal, esta função fará um bip correspondente ao pressionamento. Se você pressionar a tecla "menu" por mais de 3s, então esta função fará o Tick Tock Shield entrar no modo de ajuste de hora. Se nenhuma outra tecla for pressionada após a tecla "menu", então esta função fará o Tick Tock Shield sair do modo de ajuste de hora.
14. ticktockshield.processSystemStatus(); Executar diferentes tarefas de acordo com o status do sistema quando for chamada. O status do sistema pode ser "ajustar hora do relógio" 、 "hora do alarme", "ajustar brilho do display de 7 segmentos" e "habilitar alarme".
15. ticktockshield.writeToAdjustArea(); Transferir as informações de hora mais recentes do modo normal de exibição de hora para o modo de ajuste de hora para que possam ser usadas no modo de ajuste de hora.
16. ticktockshield.writeToNormalArea(); Transferir as informações de hora definidas no modo de ajuste de hora para o modo normal de exibição de hora.
17. ticktockshield.writeTime(); Gravar informações de hora no chip RTC.
18. ticktockshield.getTime(); Ler as informações de hora atual do RTC.
19. ticktockshield.displayTime(); Exibir a hora no display de 7 segmentos.
Exemplo:
if(ticktockshield.isAlarmEnable())
{
tm1636.point(POINT_ON);
ticktockshield.displayTime();
system_states = SYSTEM_ALARMING;
return;
}
20. ticktockshield.display(int8_t DispData []); Exibir informações alfanuméricas no display de 7 segmentos.
Suporte Técnico & Discussão de Produto
Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.