Pular para o conteúdo principal

Postagens

Aprendendo a Programar com Python #01

# Números e Matemática Básica Se você chegou neste tutorial, é porque ficou sabendo do Python, uma linguagem de programação bem interessante pra quem deseja aprender a programar. Mas que tipo de programas podemos criar com Python? A lista é grande mas vou citar alguns exemplos: gerenciadores de arquivos, editores de texto, jogos, programas para controlar robôs, programas para fazer buscas em bancos de dados, sites de comércio eletrônico e programas que usam aprendizado de máquina e inteligência artificial. E o mais interessante: o Python está disponível em vários sistemas e é de uso livre e gratuito! ## Primeiros passos Antes de mais nada, você precisa baixa e instalar o Python. ### Instalação do Python 1. Vá no endereço https://www.python.org/downloads/. Logo em cima da página aparece "Download the latest version for Windows" e um botão abaixo. Clique no botão "Download Python" para baixar a última versão estável para o seu sistema operacional (enquanto escr...
Postagens recentes

Falando em C++ #02 - Ferramentas de OOP

Não estou publicando tanto quanto eu gostaria. Essa pandemia interminável, a guerra fútil da Rússia e o calor de verão do Rio me deixam cansado. Ainda tem a incerteza de correr atrás de emprego. Mas no mês passado, reuni coragem para falar sobre as ferramentas de programação orientada a objetos (OOP) e especialização do comportamento da classe `Deque`, vista no [primeiro post da série](https://cienciacomcafeina.blogspot.com/2021/10/falando-cmm-01.html). Este tutorial é um pouco avançado, pra quem já conhece um pouco de programação em linguagem C/C++. **Dificuldade**: :coffee::coffee: ## Como não reinventar a roda? A forma de construir objetos complexos é fazendo uma *composição* ou *extensão* de objetos mais simples, que fazem *exatamente* aquilo que se espera deles. Em programação, não é diferente. Em C++, alguns mecanismos essenciais para isto são *herança*, *sobrecarga*, *funções virtuais*, *classes abstratas* e *templates*. ### Herança Herança é uma forma de criar um corpo ...

FVM Árvore de Natal com Arduino!

  Chegou a hora de fazer algo além de um simples LED piscando com Arduino! Uma árvore de Natal que toca músicas de Natal! Ou seja, vários LEDs piscando com um buzzer! Infelizmente andei ocupado e não consegui postar esse tutorial mais cedo. Então, se você começar agora pode acabar terminando a árvore depois do Natal, pois a montagem é um pouco trabalhosa. Materiais Segue a lista de materiais. Componentes eletrônicos queimam fácil. Então, se possível, compre tudo em dobro! É importante que o buzzer seja passivo (não ativo) para que possa tocar notas musicais diferentes. Materiais 8 LEDs fosco 5 mm azul 8 LEDs fosco 5 mm verde 8 LEDs fosco 5 mm vermelho 5 LEDs fosco 5 mm branco 21 resistores 470 Ω 8 resistores 330 Ω 1 resistor de 1 kΩ 1 botão táctil 1 buzzer passivo 5 V Fio de solda Fita adesiva Caixa de papelão Tinta PVA ou guache Arduino Uno ou compatível Cabos de internet velhos (uns 5 m) Fio de cobre rígido (10 cm) Equipamento Cabinhos jumper Dupont Cab...

Falando em C++ #01 - Faça sua própria fila!

   Faça sua própria fila! As filas são um estrutura tão comum em programação, que várias linguagens já as incluem como uma classe de objetos pronta para uso. Em C++, você pode usar a classe deque que faz parte da biblioteca std . Faz um algum tempo que eu ando pensando em escrever um tutorial, não para que você aprenda sobre as classes existentes, mas para construir sua própria classe deque . Acho que assim, podemos entender melhor programação orientada a objetos, e também porque o compilador para Arduino não inclui a std . A razão para isto é que std é uma biblioteca grande, que ocuparia muito espaço na pequena memória dos micro-controladores ATMEGA. Porém, como tudo está em constante evolução, já podemos encontrar MCUs com memória suficiente para a std e mais um sistema operacional. Mas o que importa é a experiência que vamos tirar desse estudo. Dificuldade: ☕☕☕ Este tutorial assume que você tenha experiência em programação na ling...

Impressora 3D (Parte 4)

Essa impressora sai do papel? Como eu disse no post anterior, algumas peças não serviram na impressora, porque eu não sabia direito o que ia precisar. Então resolvi comprar mais peças no Aliexpress, na mesma loja que eu tinha comprado as anteriores, a 5A Plus. A espera da chegada das peças (num endereço onde o Correios entrega) somada ao fato de que estou trabalhando em home office resultou nessa demora pra retomar o projeto e atualizar o blog. As peças são: 2 acopladores de 5 pra 5 mm - R$ 5,51; 1 kit de bico quente com tubo - R$ 42,13; 4 parafusos com rosca e mola - R$ 13,70. Os acopladores são para as barras roscadas de 3/16". Eu tinha comprado de 5 pra 8 mm pois achei que o projeto era com barras roscadas de 8 mm. Já o kit de bico quente vem com um tubo de PTFE (para conduzir o filamento do extrusor ao bico). Ou seja, a conexão é do tipo bowden (motor e bico separados). O dissipador do bico quente é achatado, então acho que vai se...

Impressora 3D (Parte 3)

Comecei a montar o quadro da impressora, mas eu não tinha muita noção dos parafusos que ia precisar. Eu sei que tem no wiki mas achei confuso. A Laser & Cia enviou, junto com o quadro, um manual mais ou menos fácil de entender. Só que eles pedem parafusos em unidades métricas que, paradoxalmente, é a coisa mais difícil de encontrar nesse país nosso que adotou o sistema métrico! Enquanto eu montava, foram surgindo alguns percalços, o que é normal. Só não erra quem não tenta! Então, vou falar dos problemas que encontrei. Infelizmente não consegui filmar o procedimento de montagem pois não tenho uma bancada de trabalho legal pra fazer isso. Atualmente minha bancada é em cima da cama. Parafusos Se você pisar numa loja de materiais e pedir um parafuso M3, vai receber logo um "não tem" na cara! Então meu amigo, vá prevenido, com a lista em unidades imperiais (polegadas). As melhores lojas são aquelas que tem um mostruário com kits de parafusos, porcas ...

Coding Challenge - Rubik's Cube

Eu gosto muito dos desafios de programação do Daniel Shiffman, do canal The Coding Train, porque me obriga a desenvolver algoritmos para resolver certos problemas. Mas às vezes é roubada! Porque ele deixa o programa todo basicão e eu quero chegar num produto mais finalizado. O desafio que estou falando é o #142 - programar um Cubo de Rubik . Eu achei interessante porque um dos meus objetivos de vida é resolver esse cubo, sem olhar tutorias na internet! Eu sempre tive cubos chineses que travavam na hora de girar e as peças acabavam pulando. Mas, imaginem, o Daniel precisou postar 3 vídeos apenas pra chegar num cubo que faz um certo número de movimentos e depois desfaz! Mas eu queria que o jogo tivesse: Diferentes tamanhos (de 2 a 7); Um sistema para selecionar o cubinho com o mouse; Um sistema para movimentar com as teclas WASD; Um menu para embaralhar e reiniciar. Ou seja, levei o quádruplo do tempo. Como diria Pedro, é cilada Bino! Meu jogo ...