{"id":50876451,"url":"https://github.com/0x03c1/arduino_examples","last_synced_at":"2026-06-15T10:02:28.657Z","repository":{"id":354911738,"uuid":"1225964765","full_name":"0x03c1/arduino_examples","owner":"0x03c1","description":"Coletânea de exemplos didáticos apresentados em sala de aula, cobrindo desde o tradicional Blink até comunicação serial e leitura de sensores analógicos. Cada exemplo inclui código comentado, link para simulação no Tinkercad e, quando disponível, vídeo demonstrativo.","archived":false,"fork":false,"pushed_at":"2026-04-30T20:52:35.000Z","size":708,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-30T22:21:59.213Z","etag":null,"topics":["arduino","arduino-library","arduino-uno","cpp"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0x03c1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-30T20:42:16.000Z","updated_at":"2026-04-30T20:54:03.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/0x03c1/arduino_examples","commit_stats":null,"previous_names":["0x03c1/arduino_examples"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/0x03c1/arduino_examples","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0x03c1%2Farduino_examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0x03c1%2Farduino_examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0x03c1%2Farduino_examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0x03c1%2Farduino_examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0x03c1","download_url":"https://codeload.github.com/0x03c1/arduino_examples/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0x03c1%2Farduino_examples/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34357282,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-15T02:00:07.085Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","arduino-library","arduino-uno","cpp"],"created_at":"2026-06-15T10:02:28.014Z","updated_at":"2026-06-15T10:02:28.648Z","avatar_url":"https://github.com/0x03c1.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Arduino Examples\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Platform: Arduino UNO](https://img.shields.io/badge/Platform-Arduino%20UNO-00979D.svg)](https://www.arduino.cc/)\n[![IDE](https://img.shields.io/badge/IDE-Arduino%20IDE%202.x-teal.svg)](https://www.arduino.cc/en/software)\n\nColetânea de exemplos didáticos apresentados em sala de aula, cobrindo desde o tradicional *Blink* até comunicação serial e leitura de sensores analógicos. Cada exemplo inclui código comentado, link para simulação no Tinkercad e, quando disponível, vídeo demonstrativo.\n\nOs sketches estão em [`arduino_examples-improved/`](./arduino_examples-improved/).\n\n## Sumário\n\n- [Pré-requisitos](#pré-requisitos)\n- [Como usar](#como-usar)\n- [Saídas Digitais](#saídas-digitais)\n  - [01. Blink LED](#01-blink-led)\n  - [02. LEDs Síncronos](#02-leds-síncronos)\n  - [03. LEDs Alternados](#03-leds-alternados)\n  - [04. LEDs Ritmados](#04-leds-ritmados)\n- [Entradas Digitais (Botões)](#entradas-digitais-botões)\n  - [05. Botão controlando LED](#05-botão-controlando-led)\n  - [06. Desafio: botão com dois LEDs alternados](#06-desafio-botão-com-dois-leds-alternados)\n- [Comunicação Serial](#comunicação-serial)\n  - [07. Exibindo o valor de uma variável](#07-exibindo-o-valor-de-uma-variável)\n  - [08. Exibindo o estado do botão](#08-exibindo-o-estado-do-botão)\n  - [09. Acendendo LED via Serial](#09-acendendo-led-via-serial)\n  - [10. Desafio: Semáforo via Serial](#10-desafio-semáforo-via-serial)\n- [Entradas Analógicas](#entradas-analógicas)\n  - [11. Leitura de potenciômetro](#11-leitura-de-potenciômetro)\n  - [12. Desafio: Sensor LDR](#12-desafio-sensor-ldr)\n- [Saídas Analógicas (PWM)](#saídas-analógicas-pwm)\n  - [13. Dimmer simples](#13-dimmer-simples)\n  - [14. Dimmer com `map()`](#14-dimmer-com-map)\n- [Licença](#licença)\n\n---\n\n## Pré-requisitos\n\n- **Hardware:** Arduino UNO (ou compatível), cabo USB tipo B, protoboard, jumpers, LEDs, resistores 220 Ω, push buttons, potenciômetro 10 kΩ e LDR.\n- **Software:** [Arduino IDE 2.x](https://www.arduino.cc/en/software).\n\n## Como usar\n\n1. Clone o repositório:\n   ```bash\n   git clone https://github.com/duarterafael/arduino_examples.git\n   ```\n2. Abra a pasta do exemplo desejado no Arduino IDE (cada `.ino` está em `arduino_examples-improved/\u003cpasta\u003e/` — exigência do IDE).\n3. Selecione `Tools \u003e Board \u003e Arduino UNO` e a porta correta em `Tools \u003e Port`.\n4. Monte o circuito conforme indicado no início de cada `.ino` ou no link do simulador.\n5. Clique em **Upload** (Ctrl + U).\n\n---\n\n## Saídas Digitais\n\n### 01. Blink LED\n\nFaz um LED piscar a cada 1 segundo. É o \"Hello World\" do Arduino.\n\n- **Aula relacionada:** *Aula 10 – Introdução ao Arduino* / *Aula 11 – Saídas Digitais*\n- **Conceitos:** `pinMode`, `digitalWrite`, `delay`\n- **Código:** [`arduino_examples-improved/01_Blink_Led/01_Blink_Led.ino`](./arduino_examples-improved/01_Blink_Led/01_Blink_Led.ino)\n- **Simulador:** [Tinkercad](https://www.tinkercad.com/things/ktN0x3f2SJb-blink-led)\n- **Vídeo:** [![Blink LED](https://img.youtube.com/vi/2RZ8XGStIvs/0.jpg)](https://www.youtube.com/watch?v=2RZ8XGStIvs)\n\n### 02. LEDs Síncronos\n\nDois LEDs piscam **juntos** (ligam e desligam ao mesmo tempo).\n\n- **Conceitos:** controle de múltiplas saídas digitais simultâneas\n- **Código:** [`arduino_examples-improved/02_Synchronized_LEDs/02_Synchronized_LEDs.ino`](./arduino_examples-improved/02_Synchronized_LEDs/02_Synchronized_LEDs.ino)\n- **Simulador:** [Tinkercad](https://www.tinkercad.com/things/0Idigwy2os1-led-sincronos)\n\n### 03. LEDs Alternados\n\nDois LEDs piscam de forma **alternada** (quando um acende, o outro apaga).\n\n- **Conceitos:** lógica complementar entre saídas digitais\n- **Código:** [`arduino_examples-improved/03_Alternating_LEDs/03_Alternating_LEDs.ino`](./arduino_examples-improved/03_Alternating_LEDs/03_Alternating_LEDs.ino)\n- **Simulador:** [Tinkercad](https://www.tinkercad.com/things/f5pSL4FmAWL-leds-alternados)\n\n### 04. LEDs Ritmados\n\nSequência rítmica de quatro estados: `LED1 on → LED2 on → LED1 off → LED2 off`.\n\n- **Código:** [`arduino_examples-improved/04_Rhythmic_LEDs/04_Rhythmic_LEDs.ino`](./arduino_examples-improved/04_Rhythmic_LEDs/04_Rhythmic_LEDs.ino)\n- **Simulador:** [Tinkercad](https://www.tinkercad.com/things/dA42dmlr51q-leds-ritmadas)\n\n\u003e 📺 **Demonstração dos exemplos 02–04 (LED Challenge):** [![LED Challenge](https://img.youtube.com/vi/QCW97ERtWqE/0.jpg)](https://www.youtube.com/watch?v=QCW97ERtWqE)\n\n---\n\n## Entradas Digitais (Botões)\n\n### 05. Botão controlando LED\n\nLED acende enquanto o botão estiver pressionado.\n\n- **Aula relacionada:** *Aula 12 – Entradas Digitais e Variáveis*\n- **Conceitos:** `pinMode(..., INPUT_PULLUP)`, `digitalRead`, fluxo `if/else`\n- **Código:** [`arduino_examples-improved/05_Smart_Push_Button/05_Smart_Push_Button.ino`](./arduino_examples-improved/05_Smart_Push_Button/05_Smart_Push_Button.ino)\n- **Simulador:** [Tinkercad](https://www.tinkercad.com/things/8ZIVBXm9NUW-botao-simples)\n- **Vídeo:** [![Smart Push Button](https://img.youtube.com/vi/DMLqTHtcvq8/0.jpg)](https://www.youtube.com/watch?v=DMLqTHtcvq8)\n\n### 06. Desafio: botão com dois LEDs alternados\n\nBotão pressionado acende um LED; botão solto acende o outro.\n\n- **Código:** [`arduino_examples-improved/06_One_Button_Two_Alternating_LEDs_Challenge/06_One_Button_Two_Alternating_LEDs_Challenge.ino`](./arduino_examples-improved/06_One_Button_Two_Alternating_LEDs_Challenge/06_One_Button_Two_Alternating_LEDs_Challenge.ino)\n- **Simulador:** [Tinkercad](https://www.tinkercad.com/things/94CSyRGDmyl-desafio-botao-com-dois-leds)\n- **Vídeo:** [![Desafio Botão](https://img.youtube.com/vi/0Q5KDLIOVGg/0.jpg)](https://www.youtube.com/watch?v=0Q5KDLIOVGg)\n\n---\n\n## Comunicação Serial\n\n### 07. Exibindo o valor de uma variável\n\nImprime no Serial Monitor o valor de uma variável a cada segundo.\n\n- **Conceitos:** `Serial.begin`, `Serial.print`, `Serial.println`\n- **Código:** [`arduino_examples-improved/07_Show_Variable_Through_Serial/07_Show_Variable_Through_Serial.ino`](./arduino_examples-improved/07_Show_Variable_Through_Serial/07_Show_Variable_Through_Serial.ino)\n- **Simulador:** [Tinkercad](https://www.tinkercad.com/things/5rwW7FfrhYk-exibindo-o-valor-de-uma-variavel-pela-serial)\n\n### 08. Exibindo o estado do botão\n\nCombina LED + botão + serial: imprime \"pressionado/solto\" **apenas na transição** (sem inundar a serial).\n\n- **Código:** [`arduino_examples-improved/08_Show_Button_State_In_Serial/08_Show_Button_State_In_Serial.ino`](./arduino_examples-improved/08_Show_Button_State_In_Serial/08_Show_Button_State_In_Serial.ino)\n- **Simulador:** [Tinkercad](https://www.tinkercad.com/things/agAcwTyRb4G-desafio-botao-com-dois-leds-com-serial)\n- **Vídeo:** [![Estado do Botão](https://img.youtube.com/vi/zLVnZbGI-m0/0.jpg)](https://www.youtube.com/watch?v=zLVnZbGI-m0)\n\n### 09. Acendendo LED via Serial\n\nLê comandos do Serial Monitor (`l` liga, `d` desliga) e controla um LED.\n\n- **Conceitos:** `Serial.available`, `Serial.read`\n- **Código:** [`arduino_examples-improved/09_Serial_Input_Led/09_Serial_Input_Led.ino`](./arduino_examples-improved/09_Serial_Input_Led/09_Serial_Input_Led.ino)\n- **Simulador:** [Tinkercad](https://www.tinkercad.com/things/2VdzJEdY7IJ-leitura-de-dados-seriais)\n\n### 10. Desafio: Semáforo via Serial\n\nControla três LEDs (vermelho, amarelo, verde) por comandos da serial.\n\n- **Código:** [`arduino_examples-improved/10_Challenge_Serial_Traffic_Light/10_Challenge_Serial_Traffic_Light.ino`](./arduino_examples-improved/10_Challenge_Serial_Traffic_Light/10_Challenge_Serial_Traffic_Light.ino)\n- **Simulador:** [Tinkercad](https://www.tinkercad.com/things/atsWRupcOJI-desafio-semaforo-serial)\n\n---\n\n## Entradas Analógicas\n\n### 11. Leitura de potenciômetro\n\nLê um potenciômetro e imprime o valor (0–1023) na serial.\n\n- **Conceitos:** `analogRead`, conversão A/D de 10 bits\n- **Código:** [`arduino_examples-improved/11_Potentiometer/11_Potentiometer.ino`](./arduino_examples-improved/11_Potentiometer/11_Potentiometer.ino)\n- **Simulador:** [Tinkercad](https://www.tinkercad.com/things/4cCe5GLhZro-dados-potenciometro)\n\n### 12. Desafio: Sensor LDR\n\nLê a luminosidade com um sensor LDR e aciona um LED com base em um limiar de luz.\n\n- **Conceitos:** `analogRead`, limiar de decisão, leitura de sensor analógico\n- **Código:** [`arduino_examples-improved/12_Challenge_LDR_Sensor/12_Challenge_LDR_Sensor.ino`](./arduino_examples-improved/12_Challenge_LDR_Sensor/12_Challenge_LDR_Sensor.ino)\n- **Simulador:** [Tinkercad](https://www.tinkercad.com/things/4REiulvRIdV-desafio-poste-ldr)\n\n---\n\n## Saídas Analógicas (PWM)\n\n### 13. Dimmer simples\n\nControla o brilho de um LED com um potenciômetro usando divisão por 4 (forma \"ingênua\" de mapear 0–1023 para 0–255).\n\n- **Conceitos:** `analogWrite` (PWM), por que dividir por 4 funciona mas não é o ideal\n- **Código:** [`arduino_examples-improved/13_Analog_Out_Dimmer/13_Analog_Out_Dimmer.ino`](./arduino_examples-improved/13_Analog_Out_Dimmer/13_Analog_Out_Dimmer.ino)\n- **Simulador:** [Tinkercad](https://www.tinkercad.com/things/5iCP23oJetC-dimmer)\n\n### 14. Dimmer com `map()`\n\nMesma ideia do anterior, mas usando `map()` — abordagem idiomática e mais flexível.\n\n- **Conceitos:** função `map()`, generalização de escalas\n- **Código:** [`arduino_examples-improved/14_Analog_Out_Dimmer_With_Map/14_Analog_Out_Dimmer_With_Map.ino`](./arduino_examples-improved/14_Analog_Out_Dimmer_With_Map/14_Analog_Out_Dimmer_With_Map.ino)\n- **Simulador:** [Tinkercad](https://www.tinkercad.com/things/d8dovlpfGX2-dimmer-com-a-funcao-mapper)\n\n---\n\n## Contribuindo\n\nSugestões, correções e novos exemplos são bem-vindos! Abra uma *issue* ou *pull request*.\n\n## Licença\n\nEste projeto está licenciado sob a [Licença MIT](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0x03c1%2Farduino_examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0x03c1%2Farduino_examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0x03c1%2Farduino_examples/lists"}