{"id":20672714,"url":"https://github.com/ryanbritodev/samepyeco","last_synced_at":"2026-01-30T19:33:17.263Z","repository":{"id":263163904,"uuid":"888006041","full_name":"ryanbritodev/samepyeco","owner":"ryanbritodev","description":"Nosso projeto desenvolve um gerador sustentável que usa pastilhas Peltier para converter o calor do sol em eletricidade, reaproveitando a diferença de temperatura entre reservatórios de água quente e fria. Com monitoramento em tempo real via IoT, oferecemos uma solução limpa e eficiente para gerar energia, sem combustíveis fósseis.","archived":false,"fork":false,"pushed_at":"2024-12-09T12:29:47.000Z","size":11397,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-27T02:42:14.427Z","etag":null,"topics":["arduinojson","cpp","dallas-temperature","ds18b20","esp32","http","ipgeolocation","lcd-i2c","onewire","peltier","wokwi"],"latest_commit_sha":null,"homepage":"https://samepy-eco.vercel.app/","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/ryanbritodev.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":"2024-11-13T16:46:38.000Z","updated_at":"2024-12-09T12:29:51.000Z","dependencies_parsed_at":"2025-09-27T02:35:25.102Z","dependency_job_id":"b749382e-2483-4b20-8bdf-171625dcff6f","html_url":"https://github.com/ryanbritodev/samepyeco","commit_stats":null,"previous_names":["ryanbritodev/thermovolt"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ryanbritodev/samepyeco","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanbritodev%2Fsamepyeco","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanbritodev%2Fsamepyeco/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanbritodev%2Fsamepyeco/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanbritodev%2Fsamepyeco/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ryanbritodev","download_url":"https://codeload.github.com/ryanbritodev/samepyeco/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanbritodev%2Fsamepyeco/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28918221,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T19:10:10.838Z","status":"ssl_error","status_checked_at":"2026-01-30T19:06:40.573Z","response_time":66,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["arduinojson","cpp","dallas-temperature","ds18b20","esp32","http","ipgeolocation","lcd-i2c","onewire","peltier","wokwi"],"created_at":"2024-11-16T20:38:35.105Z","updated_at":"2026-01-30T19:33:17.245Z","avatar_url":"https://github.com/ryanbritodev.png","language":"C++","readme":"# 🌱⚡ Global Solution Green Energy \n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"\"\u003e\u003cimg src=\"assets/samepy-logo.png\" alt=\"Samepy Logo\" border=\"0\" width=60%\u003e\u003c/a\u003e\n\u003ca href=\"https://www.fiap.com.br/graduacao/global-solution/\"\u003e\u003cimg src=\"assets/green-energy.svg\" alt=\"Green Energy Logo\" border=\"0\" width=38%\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n## 👨🏻‍💻 Equipe:\n- Diogo Leles Franciulli, RM558487\n- Felipe Sousa de Oliveira, RM559085\n- Ryan Brito Pereira Ramos, RM554497\n\u003cdiv style=\"display: flex;\"\u003e\n \u003ca href=\"https://www.linkedin.com/in/diogo-leles-franciulli/\"\u003e\u003cimg src=\"assets/diogo.jpg\" alt=\"Diogo Leles Franciulli\" width=\"150px\"\u003e\u003c/a\u003e\n \u003ca href=\"https://www.linkedin.com/in/ulipese/\"\u003e\u003cimg src=\"assets/felipe.jpg\" alt=\"Felipe Sousa de Oliveira\" width=\"150px\"\u003e\u003c/a\u003e\n \u003ca href=\"https://www.linkedin.com/in/ryanbritodev\"\u003e\u003cimg src=\"assets/ryan.jpg\" alt=\"Ryan Brito Pereira Ramos\" width=\"150px\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n## 👨🏻‍🏫 Professor: \n- Paulo Marcotti, PF2150\n\u003cdiv style=\"display: flex;\"\u003e\n\u003ca href=\"https://www.linkedin.com/in/pmarcotti/\"\u003e\u003cimg src=\"assets/marcotti.jpg\" alt=\"Paulo Marcott\" width=\"150px\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n# ♻️ SamepyEco: Gerador Termoelétrico Sustentável \n\n## 📜 Descrição\n\nO SamepyEco é uma solução inovadora e sustentável que utiliza o calor gerado pelos raios solares para produzir energia elétrica de maneira eficiente e ecológica. Nosso sistema termoelétrico aproveita a diferença de temperatura entre dois reservatórios (um de água quente e outro de água fria) para gerar eletricidade, eliminando a necessidade de combustíveis fósseis. O SamepyEco foi projetado para atender tanto áreas remotas, que frequentemente sofrem com falta de acesso a fontes confiáveis de energia, quanto indústrias que desejam reduzir seu desperdício energético e custo operacional. Nosso objetivo é contribuir para o uso consciente de recursos naturais, promovendo a preservação ambiental e a sustentabilidade energética.\n\nA ideia da geração de energia termoelétrica sustentável surgiu a partir do tema proposto pelo Global Solution: encontrar maneiras de gerar energia limpa e eficiente enquanto aproveitamos recursos disponíveis de maneira sustentável. A inspiração para o projeto veio ao observar fontes de calor \"desperdiçadas\" no ambiente, como o calor produzido por águas termais, processos industriais, aquecimento solar, e até mesmo o calor dissipado em equipamentos eletrônicos. Nossa visão foi transformar esse calor não aproveitado em eletricidade, utilizando uma solução compacta, acessível e sustentável.\n\nA pastilha de Peltier foi escolhida como a tecnologia central do projeto devido à sua capacidade de converter diferenças de temperatura diretamente em energia elétrica. Isso, aliado à possibilidade de escalabilidade em aplicações como sistemas solares, termas, indústrias, ou até residências, tornou o conceito especialmente relevante no contexto de preservação ambiental e sustentabilidade energética.\n\n## 🍃 Impacto Positivo\nO SamepyEco promove uma energia mais limpa e sustentável, ajudando a reduzir a dependência de combustíveis fósseis e diminuindo emissões de CO₂. Ele pode beneficiar:\n\n- **Comunidades Remotas:** Proporcionando energia onde redes elétricas não alcançam.\n- **Indústrias:** Reaproveitando calor residual, reduzindo custos operacionais.\n- **Meio Ambiente:** Mitigando os efeitos das mudanças climáticas ao fomentar o uso de fontes renováveis.\n\n## 📈 Escalabilidade\nO SamepyEco pode ser aplicado em diferentes contextos:\n\n- **Doméstico:** Pequenos sistemas para residências.\n- **Industrial:** Grandes instalações para recuperação de calor residual.\n- **Rural:** Estações de geração de energia em regiões remotas, usando calor solar.\n\n## 🌡️❄️ Como Funciona a Geração de Energia com a Pastilha de Peltier? \nA pastilha de Peltier (ou módulo termoelétrico) é um dispositivo que pode funcionar de duas maneiras:\n\n- **Gerador Termoelétrico (Modo Seebeck):**\nQuando há uma diferença de temperatura (Δ𝑇) entre suas faces, a pastilha converte esse gradiente térmico em energia elétrica, gerando uma tensão proporcional à diferença de temperatura. Este fenômeno é utilizado em aplicações de geração de energia a partir de calor residual.\n- **Bomba de Calor (Modo Peltier):**\nAo aplicar uma corrente elétrica, o módulo transfere calor de uma face para a outra, criando uma diferença de temperatura. Essa propriedade é utilizada para aquecer ou resfriar superfícies, sendo comum em sistemas de refrigeração compactos (como bebedouros ou purificadores de água).\n\n\u003cbr\u003e\n\u003cimg src=\"assets/peltier-diagram-fiap.png\" width=\"30%\" alt=\"Diagrama Peltier\"/\u003e\n\n_Em ambas as funções, a eficiência da pastilha depende das propriedades termoelétricas dos materiais utilizados e do coeficiente de Seebeck, que mede a relação entre a diferença de temperatura e a tensão gerada._\n\u003cbr\u003e\n\nNo nosso projeto, a pastilha funciona no **modo Seebeck**. A pastilha é composta por dois tipos de semicondutores, chamados N-type (rico em elétrons) e P-type (pobre em elétrons). Quando uma das superfícies da pastilha é aquecida (e a outra permanece fria), cria-se uma diferença de temperatura (ΔT). Essa diferença de temperatura provoca um movimento de elétrons através dos semicondutores, gerando uma corrente elétrica. Esse fenômeno é conhecido como efeito Seebeck.\n\nNo caso do nosso projeto, o calor gerado por águas aquecidas (como em fontes termais ou reservatórios aquecidos pelo sol) aquece um lado da pastilha, enquanto o outro lado é resfriado por água fria ou em temperatura ambiente (como em um reservatório isolado ou refrigerado).\nA diferença de temperatura gera eletricidade, que pode ser armazenada em baterias ou usada diretamente para alimentar dispositivos.\n\n\u003cbr\u003e\n\u003cimg src=\"assets/peltier.png\" width=\"40%\" alt=\"Interior Peltier\"/\u003e\n\n## 🧮 O que é o Coeficiente Seebeck?\nO coeficiente Seebeck é uma propriedade intrínseca dos materiais termoelétricos, que determina a eficiência com que eles convertem uma diferença de temperatura em energia elétrica. Ele é medido em **microvolts por kelvin (µV/K)** e representa a tensão elétrica gerada por cada unidade de diferença de temperatura entre os dois lados do material.\n\n### Matematicamente, a tensão gerada (V) pela pastilha de Peltier pode ser expressa como:\n\n\u003cimg src=\"assets/seebeck.png\" width=\"40%\" alt=\"Fórmula Seebeck\"/\u003e\n\n### Onde:\n- S é o coeficiente Seebeck.\n- ΔT é a diferença de temperatura entre os dois lados da pastilha.\n\nQuanto maior o coeficiente Seebeck de um material, mais eficiente ele será na conversão de calor em eletricidade. Por isso, materiais avançados como ligas de bismuto-telúrio são frequentemente usados em módulos Peltier de alta eficiência.\n\n## 🔌 Componentes\n\u003cimg src=\"assets/componentes-circuito.png\" width=\"70%\" alt=\"Componentes\"/\u003e\n\n- 1 ESP32\n- 1 Protoboard\n- 3 Pastilhas Peltiers TEC1-12706\n- 2 Sensores Encapsulados de Temperatura DS18B20\n- 1 Sensor de Tensão DC 0-25V\n- 1 Display LCD I2C\n- 2 Recipientes de Alumínio\n- 1 Pasta Térmica\n- 1 Rolo de Barbante\n- 1 Placa de Isopor\n- 1 Power Bank\n- Jumper Cables\n\n### Todos os componentes eletrônicos foram adquiridos na loja de eletrônicos [Saravati](https://www.saravati.com.br/), localizada na Rua Vitória Número 39, no Bairro da Santa Ifigênia em São Paulo. Gostaríamos de agradecer a equipe da Saravati pelo rápido atendimento e pelo desconto especial oferecido aos alunos da FIAP 😄\n\n\u003cimg src=\"assets/saravati.jpg\" width=\"35%\" alt=\"Saravati\"/\u003e\n\n## ⚒️ Montagem\n\u003cdiv\u003e\n \u003cimg src=\"assets/prototipo-gs.jpg\" width=\"37.5%\" alt=\"Protótipo\"/\u003e\n \u003cimg src=\"assets/prototipo-lcd.jpg\" width=\"40.3%\" alt=\"Protótipo com LCD\"/\u003e\n\u003c/div\u003e\n\n\u003cbr\u003e\n\nCriamos um protótipo que demonstra como a energia pode ser gerada de forma sustentável utilizando o diferencial de temperatura. O sistema utiliza as pastilhas Peltier posicionadas entre os dois recipientes (formas de bolo feitas de alumínio): um com água quente e outro com água fria. O calor da água quente aquece um lado das pastilhas, enquanto a água fria resfria o outro, criando um gradiente térmico que gera energia elétrica (entre os recipientes, utilizamos uma pasta térmica que auxilia na troca de calor). No protótipo, essa energia é usada para alimentar um pisca-pisca instalado na cerca de uma casinha, ilustrando o funcionamento do sistema de forma prática. Para criar o monitoramento, utilizamos um ESP32 abastecido por um Power Bank, que registra as temperaturas dos recipientes com sensores DS18B20 e mede a tensão gerada por meio de um sensor DC 0-25V. Os dados são exibidos em tempo real em um display LCD e enviados através do protocolo HTTP ao ThingSpeak, permitindo acompanhar a eficiência do sistema em tempo real enquanto ele funciona.\n\n\u003cbr\u003e\n\n\u003cdiv\u003e\n \u003cimg src=\"assets/circuito-gs.jpg\" width=\"35%\" alt=\"Circuito\"/\u003e\n \u003cimg src=\"assets/peltier-pasta.jpg\" width=\"14.8%\" alt=\"Peltier com Pasta Térmica\"/\u003e\n\u003c/div\u003e\n\n## 💡 Resultado\n\u003cimg src=\"assets/resultado.jpg\" width=\"60%\" alt=\"Resultado\"/\u003e\n\n## 📊 Canal de Processamento de Dados no Thingspeak\n\u003cdiv\u003e\n \u003cimg src=\"assets/thingspeak.png\" width=\"35%\" alt=\"Thingspeak\"/\u003e\n \u003cimg src=\"assets/samepyeco-thingspeak.png\" width=\"25.6%\" alt=\"SamepyEco Thingspeak\"/\u003e\n\u003c/div\u003e\nNosso sistema integra o monitoramento local com o envio de dados para a plataforma oficial da Samepy utilizando o ESP32 e o ThingSpeak. Esses dados são coletados, tratados e enviados para análise e acompanhamento remoto:\n\n### Coleta de Dados\n#### Dados de Localização:\n- Os dados de latitude, longitude, cidade e país são capturados utilizando a API da [ipgeolocation.io](https://ipgeolocation.io/). Essa API utiliza informações da rede Wi-Fi conectada ao ESP32 para determinar a localização geográfica do dispositivo, eliminando a necessidade de sensores GPS adicionais.\n\u003cimg src=\"assets/ipgeolocation.png\" width=\"35%\" alt=\"IP Geolocation\"/\u003e\n\n#### Temperaturas da Água:\n- As temperaturas do lado frio e do lado quente das pastilhas Peltier são monitoradas por sensores de temperatura DS18B20. Esses dados são lidos pelo ESP32 em tempo real para avaliar a diferença térmica (ΔT) no sistema.\n\n#### Tensão Gerada:\n- O sensor de tensão DC 0-25V mede a energia elétrica gerada pelas pastilhas. Esse valor também é processado pelo ESP32.\n\n## 🔗 Canal e Fields\n### [Canal SamepyEco no Thingspeak](https://thingspeak.mathworks.com/channels/2738000)\n- Field 1: Latitude\n- Field 2: Longitude\n- Field 3: Cidade\n- Field 4: País\n- Field 5: Temperatura (Água Fria)\n- Field 6: Temperatura (Água Quente)\n- Field 7: Tensão\n\n## 🌐 Plataforma Web\n### [Acesse por aqui!](https://samepy-eco.vercel.app/)\n\u003cimg src=\"assets/home-samepy.png\" width=\"60%\" alt=\"Plataforma\"/\u003e\n\n## 📊 Diagrama\n\u003cimg src=\"assets/diagrama-caso.jpg\" width=\"60%\" alt=\"Diagrama\"/\u003e\n\n## 📁 Dependências\n\n\u003cimg src=\"assets/arduino-ide.png\" width=\"60%\" alt=\"Arduino IDE\"/\u003e\n\nPara executar o código do sistema SamepyEco no ESP32 utilizando a Arduino IDE, é necessário instalar e incluir uma série de bibliotecas que fornecem suporte para conexão Wi-Fi, comunicação com APIs, manipulação de sensores, exibição de dados em displays LCD e tratamento de dados JSON. Abaixo estão listadas as dependências necessárias:\n\n- WiFi (\u003cWiFi.h\u003e)\n- HTTPClient (\u003cHTTPClient.h\u003e)\n- ArduinoJson (\u003cArduinoJson.h\u003e)\n- OneWire (\u003cOneWire.h\u003e)\n- DallasTemperature (\u003cDallasTemperature.h\u003e)\n- Wire (\u003cWire.h\u003e)\n- LiquidCrystal I2C (\u003cLiquidCrystal_I2C.h\u003e)\n\nDentro do Arduino IDE, navegue entres os menus:\n**Sketch → Incluir Biblioteca → Gerenciar Bibliotecas....**\nNo gerenciador de bibliotecas, pesquise pelos nomes das dependências acima (ex.: WiFi, HTTPClient, ArduinoJson) e clique em **Instalar**!\n\nNo início do código, adicione todas as bibliotecas previamente instaladas:\n```cpp\n#include \u003cWiFi.h\u003e\n#include \u003cHTTPClient.h\u003e\n#include \u003cArduinoJson.h\u003e\n#include \u003cOneWire.h\u003e\n#include \u003cDallasTemperature.h\u003e\n#include \u003cWire.h\u003e\n#include \u003cLiquidCrystal_I2C.h\u003e\n```\n\n## 💻⚙️ Código\n### [Circuito feito no Simulador Wokwi](https://wokwi.com/projects/414535310108324865)\n\u003cimg src=\"assets/wokwi.png\" width=\"60%\" alt=\"Wokwi Simulation\"/\u003e\n\nO código principal utilizado no ESP32 foi desenvolvido em C++, e é responsável por criar o algoritmo que realiza a leitura de todos os dados, enviando através de uma conexão Wi-Fi para nuvem no Thingspeak. Aqui está o código utilizado no projeto:\n\n```cpp\n#include \u003cWiFi.h\u003e\n#include \u003cHTTPClient.h\u003e\n#include \u003cArduinoJson.h\u003e\n#include \u003cDallasTemperature.h\u003e\n#include \u003cOneWire.h\u003e\n#include \u003cWire.h\u003e\n#include \u003cLiquidCrystal_I2C.h\u003e\n\nconst char* ssid = \"\";\nconst char* password = \"\";\n\nString apiKey = \"\";\nString serverName = \"http://api.ipgeolocation.io/ipgeo?apiKey=\" + apiKey;\n\nconst char* thingspeakURL = \"http://api.thingspeak.com/update\";\nString thingspeakApiKey = \"\";\n\nconst int tempPinFria = 2;\nconst int tempPinQuente = 4;\nOneWire oneWireFria(tempPinFria);\nOneWire oneWireQuente(tempPinQuente);\nDallasTemperature sensorFria(\u0026oneWireFria);\nDallasTemperature sensorQuente(\u0026oneWireQuente);\n\n#define sinalSensor 19 \n\nLiquidCrystal_I2C lcd(0x27, 16, 2);\n\nbyte fria[8] = { 0b01110, 0b01010, 0b01010, 0b01010, 0b10001, 0b11111, 0b11111, 0b01110 };\nbyte quente[8] = { 0b01110, 0b01010, 0b01110, 0b01110, 0b11111, 0b11111, 0b11111, 0b01110 };\nuint8_t tensao[] = { 0x0e, 0x1b, 0x11, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f };\nbyte raio[8] = { 0b00010, 0b00110, 0b01100, 0b11111, 0b11111, 0b00110, 0b01100, 0b01000 };\nbyte pin[8] = { 0b01110, 0b11111, 0b11111, 0b01110, 0b00100, 0b00100, 0b00100, 0b00100 };\n\nvoid mostrarLCD(String titulo, float valor, int tipo);\nvoid mostrarLocalizacao(String country, String city);\nvoid enviarParaThingSpeak(float latitude, float longitude, String city, String country, float tempFria, float tempQuente, float voltage);\n\nvoid setup() {\n  Serial.begin(115200);\n\n  sensorFria.begin();\n  sensorQuente.begin();\n\n  lcd.init();\n  lcd.backlight();\n  lcd.createChar(0, fria);\n  lcd.createChar(1, quente);\n  lcd.createChar(2, tensao);\n  lcd.createChar(3, raio);\n  lcd.createChar(4, pin);\n  lcd.setCursor(0, 0);\n  lcd.print(\"Global  Solution\");\n  lcd.setCursor(0, 1);\n  lcd.write((byte)3);\n  lcd.print(\" Green Energy \");\n  lcd.write((byte)3);\n  delay(3000);\n  lcd.clear();\n\n  Serial.print(\"Conectando-se ao Wi-Fi \");\n  Serial.println(ssid);\n  WiFi.begin(ssid, password);\n  while (WiFi.status() != WL_CONNECTED) {\n    delay(500);\n    Serial.print(\".\");\n  }\n  Serial.println(\"\\nConectado ao Wi-Fi!\");\n}\n\nvoid loop() {\n  if (WiFi.status() == WL_CONNECTED) {\n    HTTPClient http;\n\n    http.begin(serverName);\n    int httpResponseCode = http.GET();\n    if (httpResponseCode \u003e 0) {\n      String payload = http.getString();\n      StaticJsonDocument\u003c1024\u003e doc;\n      DeserializationError error = deserializeJson(doc, payload);\n\n      if (!error) {\n        String country = doc[\"country_name\"].as\u003cString\u003e();\n        String city = doc[\"city\"].as\u003cString\u003e();\n        float latitude = doc[\"latitude\"];\n        float longitude = doc[\"longitude\"];\n\n        Serial.println(\"Dados obtidos com sucesso!\");\n        Serial.print(\"País: \"); Serial.println(country);\n        Serial.print(\"Cidade: \"); Serial.println(city);\n        Serial.print(\"Latitude: \"); Serial.println(latitude, 6);\n        Serial.print(\"Longitude: \"); Serial.println(longitude, 6);\n\n        sensorFria.requestTemperatures();\n        float temperaturaFria = sensorFria.getTempCByIndex(0);\n        Serial.print(\"Temp. Água Fria: \"); Serial.println(temperaturaFria);\n\n        sensorQuente.requestTemperatures();\n        float temperaturaQuente = sensorQuente.getTempCByIndex(0);\n        Serial.print(\"Temp. Água Quente: \"); Serial.println(temperaturaQuente);\n\n        float leituraADC = analogRead(sinalSensor);\n        // Cálculo utilizado na vida real para capturar a tensão DC gerada pelas Placas Peltiers\n        // float voltage = (float)analogRead(sinalSensor) / 4096 * 15 * 28205 * 1.725 / 27000;\n        float voltage = leituraADC / 4095.0 * 3.3;\n        Serial.print(\"Tensão: \"); Serial.println(voltage, 2);\n\n        mostrarLCD(\" Agua Fria\", temperaturaFria, 0);\n        mostrarLCD(\" Agua Quente\", temperaturaQuente, 1);\n        mostrarLCD(\" Tensao\", voltage, 2);\n        mostrarLocalizacao(country, city);\n        \n        enviarParaThingSpeak(latitude, longitude, city, country, temperaturaFria, temperaturaQuente, voltage);\n      } else {\n        Serial.print(\"Erro ao processar JSON: \");\n        Serial.println(error.f_str());\n      }\n    } else {\n      Serial.print(\"Erro na requisição HTTP: \");\n      Serial.println(httpResponseCode);\n    }\n    http.end();\n  } else {\n    Serial.println(\"Erro na conexão Wi-Fi\");\n  }\n  delay(15000); \n}\n\nvoid mostrarLCD(String titulo, float valor, int tipo) {\n  lcd.clear();\n  lcd.setCursor(0, 0);\n  lcd.write((byte)tipo);  \n  lcd.print(titulo);\n  lcd.setCursor(0, 1);\n  lcd.print(\"Valor: \");\n  lcd.print(valor, 2);\n  lcd.print(tipo == 2 ? \"V\" : \"C\");\n  delay(5000);  \n}\n\nvoid mostrarLocalizacao(String country, String city) {\n  lcd.clear();\n  lcd.setCursor(0, 0);\n  lcd.write((byte)4);  \n  lcd.print(\" \");      \n  lcd.print(country);  \n  lcd.setCursor(0, 1);\n  lcd.print(city);     \n  delay(5000);         \n}\n\nvoid enviarParaThingSpeak(float latitude, float longitude, String city, String country, float tempFria, float tempQuente, float voltage) {\n  if (WiFi.status() == WL_CONNECTED) {\n    HTTPClient http;\n\n    city.replace(\" \", \"%20\");\n    country.replace(\" \", \"%20\");\n\n    String url = String(thingspeakURL) + \"?api_key=\" + thingspeakApiKey +\n                 \"\u0026field1=\" + String(latitude, 6) +\n                 \"\u0026field2=\" + String(longitude, 6) +\n                 \"\u0026field3=\" + city +\n                 \"\u0026field4=\" + country +\n                 \"\u0026field5=\" + String(tempFria, 1) +\n                 \"\u0026field6=\" + String(tempQuente, 1) +\n                 \"\u0026field7=\" + String(voltage, 2);\n\n    http.begin(url);\n    int httpResponseCode = http.GET();\n\n    if (httpResponseCode \u003e 0) {\n      Serial.print(\"Dados enviados para o ThingSpeak com sucesso! Código: \");\n      Serial.println(httpResponseCode);\n    } else {\n      Serial.print(\"Erro ao enviar dados para o ThingSpeak! Código: \");\n      Serial.println(httpResponseCode);\n    }\n    http.end();\n  }\n}\n```\n\n## 📽️ Vídeo do Projeto\n\n\u003ca href=\"https://youtu.be/r6GwW2UTQUQ\"\u003e\u003cimg src=\"assets/video-thumb.png\" width=\"80%\" alt=\"Vídeo YT\"/\u003e\u003c/a\u003e\n\n## 🦈 Pitch\n\n\u003ca href=\"https://youtu.be/r8Rkved31Ug\"\u003e\u003cimg src=\"assets/pitch-gs-novo.png\" width=\"80%\" alt=\"Pitch\"/\u003e\u003c/a\u003e\n\n## 📖 Referências:\n- Documentação Oficial do Projeto: https://docs.google.com/document/d/14aTxU3KLMaT4ZVTnTMrUyKxX3Qt2W2VzvJ271n5L1-k/edit?usp=sharing\n- Site Oficial Global Solution Green Energy: https://www.fiap.com.br/graduacao/global-solution/\n- Como Utilizar o Sensor DS18B20 com Arduino e ESP32 – Tutorial Completo: https://www.youtube.com/watch?v=Vy650KLXIyY\u0026t=36s\n- Como utilizar Sensor de Tensão 0-25V DC e Como fazer Voltímetro com Arduino - Tutorial 50: https://www.youtube.com/watch?v=Kw7VUpQ-2vY\u0026t=2s\n- COMO GERAR ENERGIA só com água (GERADOR TERMOELÉTRICO): https://youtu.be/wLrXYMJs-q8?si=RZjFwoTbGtvumNiv\n- GERADOR DE ENERGIA CASEIRO COM PASTILHAS PELTIER, EFEITO SEEBECK - PARTE 1: https://youtu.be/0HuZBaha4aI?si=aWUscF2hDZLagFlF\n- Pequeno Dispositivo Para Puxar Água Acionado por Mine Gerador Termoelétrico: https://youtu.be/6PZ9-6zow2M?si=0dqdfydpMLmBOOF0\n\n\n## 🤝 Agradecimentos\n- Gostaríamos de agradecer à **FIAP** e ao professor **Paulo Marcotti** pela oportunidade incrível de realizar esse projeto.\n\n## 🧾 Licença\nEste projeto está licenciado sob a **Licença MIT** - veja o arquivo [LICENSE](LICENSE) para mais detalhes.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanbritodev%2Fsamepyeco","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryanbritodev%2Fsamepyeco","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanbritodev%2Fsamepyeco/lists"}