Arduino para iniciantes. Algumas aplicações práticas, criativas e outras curiosidades.
Tecnologias da Informação e Comunicação
Tutores de curiosidade - Um coach pessoal que não só fornece inspiração e conteúdos capazes de estimular a curiosidade, como ensina a arte da descoberta do conhecimento.
Temas relacionados com a informática, deste, arduino, redes de computadores, sistemas digitais, linguagens de programação, entre outros.
A evolução faz-se mais a colaborar do que a competir.
Sistemas Digitais | |||
---|---|---|---|
Sistemas de Numeração |
Estrutura de um sistema de Numeração. Noção significância posicional. Sistemas de Numeração: binário, octal, hexadecimal. Conversão de bases numéricas Operações aritméticas (adição e subtração) em qualquer base. Código de complementos. Adição e subtração de números em código de complementos. | ||
Álgebra e Lógica Booleana |
Operadores lógicos not, and, or, xor, nand, nor, função booleana.Tabela de verdade. Teoremas da Álgebra de Boole. Leis de DeMorgan. Circuitos lógicos. Simplificação algébrica de funções booleanas.
Simplificação de funções, a partir do mapa de Karnaugh. |
||
Circuitos Combinatórios |
Circuitos combinatórios com múltiplas saídas.
Multiplexer. Decoder/demultiplexer. Circuito MSI decoder BCD/7 segmentos. Encoder (codificador com prioridades). Circuito MSI priority encoder. Circuito comparador.
|
||
Circuitos Sequenciais |
Circuitos sequenciais. Flip-flops tipo: S-R, D latch, D edge-triggered, J-K, e T.
Diagrama temporal. Preset / clear ou set / reset. Sinais síncronos e assíncronos.
Circuitos contadores simples. Noção de registo.
|
||
Introdução à Lógica Programável |
Lógica programável sobre a lógica tradicional.
Estrutura interna dos circuitos de lógica programável. Conceito de linguagens de programação: ABEL, VHDL, CPUDL ou PALASM. Estrutura de um programa em CPUDL (ou PALASM).
|
||
Programação Pascal |
Introdução à programa ção em Pascal
|
||
Lógica programável sobre a lógica tradicional.
Estrutura interna dos circuitos de lógica programável. Conceito de linguagens de programação: ABEL, VHDL, CPUDL ou PALASM. Estrutura de um programa em CPUDL (ou PALASM).
|
|||
Arquitetura de Computadores |
História dos computadores. Conceito de barramento (bus). Tipos de memória usada num PC (DRAM,SRAM para as caches, VRAM e WRAM para as memórias de vídeo, EEPROMs, etc). Memória "cache". Memória de DRAM num PC. Interface vídeo num PC compatível. Disco rígido e periféricos.
|
CORE – núcleo do processador.
Existem no mercado processadores com mais do que um núcleo (core), isto significa que o processador consegue distribuir o processamento pelos núcleos aumentando a velocidade de processamento. Este processo tem o nome de Parallelization ou Parallel computing, que em português pode ser traduzido como computação paralela. https://en.wikipedia.org/wiki/Parallel_computing
Imagine o seguinte exemplo, um processador deve efetuar os seguinte cálculo 5x4x3x2
CPU | 1º | 2º | 3º |
1 core | 5x4=20 | 20x3=60 | 60x2=120 |
2 core | core 1 (5x4=20) core 2 (20x3=60) |
60x2=120 |
Verifica-se que o processador com 1 core necessita de executar 3 processamentos, enquanto o core 2 a penas necessita de 2. O mesmo sucede para as imagens ou qualquer outro tipo de informação processada.
32 vs 64 bits
Qual a diferença entre um processador de 32 e 64 bits. A principal diferença está na quantidade de RAM que cada processador suporta, assim sendo um processador de 32 bits suporta até 3,25 Gb de memória RAM enquanto o processador de 64 bits suporta até 16 Exabyte.
Tipos de linguagens de programação
Low-level programming language (linguagens de baixo nível) - é uma linguagem de programação que muito relacionada com o SET de instruções da máquina. É uma linguagem que está “perto do hardware”. Programas escritos em linguagens de baixo nível tendem a ser relativamente não-portáteis, principalmente por causa da estreita relação entre a linguagem e a arquitetura de hardware. or assembly language.
Para esta programação pode ser usada:
- linguagem máquina machine code - A única linguagem entendida pelo computador. (apenas entendível pelo computador, constituída por zeros e uns 01010101, não entendível para humanos)
ou
- linguagem assambley ou assembler que utiliza a já referida linguagem do Instruction SET (ADD; SUB; JUMP; etc.. ). Contudo, e apesar de ser uma linguagem de baixo nível é necessário traduzi-la para linguagem máquina, para que seja entendível pelo computador, para esse efeito é utilizado um tradutor ou assembler.
ex: ADD; SUB; JUMP >>> ASEMBLER >>>>> Computador
high-level programming language (linguagem de programação de alto nível) é uma linguagem de programação distante do código máquina em comparação com linguagens de programação de baixo nível. Podem ser usados elementos da linguagem natural tornando-se mais fácil aos humanos, alias foi com esse propósito que foi inventada. Exemplo C++ que utiliza caracteres como +*-/ sem recorrer a palavras do SET de instruções ou a código binário.