Pesquisar neste blog
19/03/2020
Variável em CCS C Compiler
Código feito em CCS C Compiler
#include <main.h>
#use delay(clock = 20MHz)
int x;
void main(){
while(true){
output_high(PIN_B2);
delay_ms(1000);
output_low(PIN_B2);
delay_ms(1000);
x++;//cada piscada soma +1
if(x == 5){
output_high(pin_b7);
}
}
}
18/03/2020
LCD com PIC 16F877A
17/03/2020
Desafio 5 LCD
Desafio: Escrever caractere manualmente de acordo com a tabela ASCII
Exemplo: Escrever FBD
Passo 1:
0000 1111 => Visor ligado (ligar o visor e ficar piscando)
Passo 2:
Habilita e desabilita o enable E
Passo 3:
0011 1000 => 2 Linhas do LCD (define 2 linhas )
Passo 4:
LCD manual |
Controle em inglês |
Controle em português |
Tabela ASCII |
Exemplo: Escrever FBD
Passo 1:
0000 1111 => Visor ligado (ligar o visor e ficar piscando)
Passo 2:
Habilita e desabilita o enable E
Passo 3:
0011 1000 => 2 Linhas do LCD (define 2 linhas )
Passo 4:
Habilita e desabilita o enable E
Passo 5:
F = 0100 0110
Passo 6:
Habilita RS
Passo 7:
Habilita e desabilita o Enable
Passo 8:
B = 0100 0010
Passo 9:
Habilita RS
Passo 10:
Habilita e desabilita o Enable
Passo 11:
D = 0100 0110
Passo 12:
Habilita RS
Passo 13:
Habilita e desabilita o Enable
Palavras chave:
כתוב תו ידני לפי טבלת ASCII
Tulis karakter kanthi manual miturut tabel ASCII
Persona scribam tincidunt ASCII ad mensam
Psát znak ručně podle tabulky ASCII
Skriv tegn manuelt i henhold til ASCII-tabellen
根據ASCII表手動寫入字符
Kọ kikọ silẹ pẹlu ọwọ ni ibamu si tabili ASCII
Skriv tecken manuellt enligt ASCII-tabellen
Γράψτε τον χαρακτήρα χειροκίνητα σύμφωνα με τον πίνακα ASCII
अक्षर ASCII तालिका अनुसार म्यानुअली लेख्नुहोस्
Skriuw karakter manuell neffens de ASCII-tabel
Isulat sa sulud ang karakter nga sumala sa lamesa sa ASCII
Passo 5:
F = 0100 0110
Passo 6:
Habilita RS
Passo 7:
Habilita e desabilita o Enable
Passo 8:
B = 0100 0010
Passo 9:
Habilita RS
Passo 10:
Habilita e desabilita o Enable
Passo 11:
D = 0100 0110
Passo 12:
Habilita RS
Passo 13:
Habilita e desabilita o Enable
Palavras chave:
כתוב תו ידני לפי טבלת ASCII
Tulis karakter kanthi manual miturut tabel ASCII
Persona scribam tincidunt ASCII ad mensam
Psát znak ručně podle tabulky ASCII
Skriv tegn manuelt i henhold til ASCII-tabellen
根據ASCII表手動寫入字符
Kọ kikọ silẹ pẹlu ọwọ ni ibamu si tabili ASCII
Skriv tecken manuellt enligt ASCII-tabellen
Γράψτε τον χαρακτήρα χειροκίνητα σύμφωνα με τον πίνακα ASCII
अक्षर ASCII तालिका अनुसार म्यानुअली लेख्नुहोस्
Skriuw karakter manuell neffens de ASCII-tabel
Isulat sa sulud ang karakter nga sumala sa lamesa sa ASCII
16/03/2020
Display hexadecimal de 7 segmentos
Display hexadecimal de 7 segmentos usando microntrolador PIC 16F877A
Código feito em CCS C Compiler
#include <16f877a.h>
#use delay(crystal = 20MHz)
void main(){
while(true){
output_b(0b00111111);//0
delay_ms(500);//espera 0.5 s
output_b( 0b00000110);//1
delay_ms(500);
output_b(0b01011011);
delay_ms(500);
output_b(0b01001111);
delay_ms(500);
output_b(0b1100110);
delay_ms(500);
output_b(0b01101101);
delay_ms(500);
output_b(0b00000111);//6
delay_ms(500);
output_b(0b01111111);
delay_ms(500);
output_b(0b1100111);//9
delay_ms(500);
output_b(0b1110111);//A
delay_ms(500);
output_b(0b1111100);//B
delay_ms(500);
output_b(0b0111001);//c
delay_ms(500);
output_b(0b1011110);//D
delay_ms(500);
output_b(0b1111001);//E
delay_ms(500);
output_b(0b1110001);//f
delay_ms(500);
}
}
Palavras chave:
תצוגה הקסדצימאלית בת 7 קטעים באמצעות בקר מיקרו PIC16F877A
ຈໍສະແດງຜົນ hexadecimal 7 ສ່ວນໂດຍໃຊ້ PIC16F877A microcontroller
7-segmentni šestnajstiški prikaz z uporabo mikrokrmilnika PIC16F877A
Hiển thị thập lục phân 7 đoạn bằng vi điều khiển PIC16F877A
7-segment hexadecimal kuratidza uchishandisa PIC16F877A microcontroller
7-сегментний шестидесятковий дисплей за допомогою мікроконтролера PIC16F877A
PIC16F877A മൈക്രോകൺട്രോളർ ഉപയോഗിച്ച് 7-സെഗ്മെന്റ് ഹെക്സാഡെസിമൽ ഡിസ്പ്ലേ
Código feito em CCS C Compiler
#include <16f877a.h>
#use delay(crystal = 20MHz)
void main(){
while(true){
output_b(0b00111111);//0
delay_ms(500);//espera 0.5 s
output_b( 0b00000110);//1
delay_ms(500);
output_b(0b01011011);
delay_ms(500);
output_b(0b01001111);
delay_ms(500);
output_b(0b1100110);
delay_ms(500);
output_b(0b01101101);
delay_ms(500);
output_b(0b00000111);//6
delay_ms(500);
output_b(0b01111111);
delay_ms(500);
output_b(0b1100111);//9
delay_ms(500);
output_b(0b1110111);//A
delay_ms(500);
output_b(0b1111100);//B
delay_ms(500);
output_b(0b0111001);//c
delay_ms(500);
output_b(0b1011110);//D
delay_ms(500);
output_b(0b1111001);//E
delay_ms(500);
output_b(0b1110001);//f
delay_ms(500);
}
}
Palavras chave:
תצוגה הקסדצימאלית בת 7 קטעים באמצעות בקר מיקרו PIC16F877A
ຈໍສະແດງຜົນ hexadecimal 7 ສ່ວນໂດຍໃຊ້ PIC16F877A microcontroller
7-segmentni šestnajstiški prikaz z uporabo mikrokrmilnika PIC16F877A
Hiển thị thập lục phân 7 đoạn bằng vi điều khiển PIC16F877A
7-segment hexadecimal kuratidza uchishandisa PIC16F877A microcontroller
7-сегментний шестидесятковий дисплей за допомогою мікроконтролера PIC16F877A
PIC16F877A മൈക്രോകൺട്രോളർ ഉപയോഗിച്ച് 7-സെഗ്മെന്റ് ഹെക്സാഡെസിമൽ ഡിസ്പ്ലേ
15/03/2020
Botao com Led usando PIC 16F877A
Faça um programa que utilize 2 botoes, um botão terá a função de ligar um led. O outro botão, quando pressionado irá deligar o led.
Código feito em CCS C Compiler
#include <16f877a.h>
#use delay(crystal = 20MHz)
void main(){
while(true){
if( input(pin_b0) == 1){//se precionado o botão1
output_high(pin_b7);//liga o led
}
if( input(pin_b6) == 1){//se precionado o botao2
output_low(pin_b7);//desliga o led2
}
}
}
Código feito em CCS C Compiler
#include <16f877a.h>
#use delay(crystal = 20MHz)
void main(){
while(true){
if( input(pin_b0) == 1){//se precionado o botão1
output_high(pin_b7);//liga o led
}
if( input(pin_b6) == 1){//se precionado o botao2
output_low(pin_b7);//desliga o led2
}
}
}
13/03/2020
Contador crescente e decrescente usando PIC
Contador hexadecimal crescente e decrescente usando PIC 16F877A
Código feito em CCS C Compiler
#include <16f877a.h>
#use delay(crystal = 20 MHz)
void main(){
char value[] = {0b0111111, 0b0000110, 0b1011011, 0b1001111, 0b1100110, 0b1101101, 0b1111101, 0b0000111,
0b11111111, 0b1100111, 0b1110111, 0b1111100, 0b0111001, 0b1011110, 0b1111001, 0b1110001};
while(true){
for(int i = 0; i <=15; i++){
output_b(value[i]);
delay_ms(500);
}
for(i = 16; i >=1; i--){
output_b(value[i-1]);
delay_ms(500);
}
}
}
Código feito em CCS C Compiler
#include <16f877a.h>
#use delay(crystal = 20 MHz)
void main(){
char value[] = {0b0111111, 0b0000110, 0b1011011, 0b1001111, 0b1100110, 0b1101101, 0b1111101, 0b0000111,
0b11111111, 0b1100111, 0b1110111, 0b1111100, 0b0111001, 0b1011110, 0b1111001, 0b1110001};
while(true){
for(int i = 0; i <=15; i++){
output_b(value[i]);
delay_ms(500);
}
for(i = 16; i >=1; i--){
output_b(value[i-1]);
delay_ms(500);
}
}
}
Desafio 2
Ligar e desligar um led através de um push booton
Código1 feito em CCS C Compiler
#include <16F877A.h>
#use delay(crystal = 20 MHz)
void main(){
while(true){
if(input(pin_b0) == 1){
output_high(pin_b7);
}
if(input(pin_b0) == 0){
output_low(pin_b7);
}
}
}
Código2 feito em CCS C Compiler
#include <16F877A.h>
#use delay(crystal = 20 MHz)
void main(){
while(true){
if(input(pin_b0) == 1){
output_high(pin_b7);
}else{// senao desliga o led
output_low(pin_b7);
}
}
}
Código1 feito em CCS C Compiler
#include <16F877A.h>
#use delay(crystal = 20 MHz)
void main(){
while(true){
if(input(pin_b0) == 1){
output_high(pin_b7);
}
if(input(pin_b0) == 0){
output_low(pin_b7);
}
}
}
Código2 feito em CCS C Compiler
#include <16F877A.h>
#use delay(crystal = 20 MHz)
void main(){
while(true){
if(input(pin_b0) == 1){
output_high(pin_b7);
}else{// senao desliga o led
output_low(pin_b7);
}
}
}
12/03/2020
Sequencia de leds1
Ligando uma sequencia de leds com apenas uma porta no PIC 16F877A
Código1 feito em CCS C Compiler
#include <16f877a.h>
#use delay(crystal = 20MHz)
void main(){
while(true){
output_b(0b11111111);//b7,b6,b5... b0 ligando todas as potas
}
}
Código2 feito em CCS C Compiler
#include <16f877a.h>
#use delay(crystal = 20MHz)
void main(){
while(true){
output_b(0b11010101);//b7,b6,b5... b0 ligando todas as potas
}
}
Código3 feito em CCS C Compiler
#include <16f877a.h>
#use delay(crystal = 20MHz)
void main(){
while(true){
output_b(153);//b7,b6,b5... b0 ligando todas as potas
}
}
Código4 feito em CCS C Compiler
#include <16f877a.h>
#use delay(crystal = 20MHz)
void main(){
while(true){
output_b(255);//b7,b6,b5... b0 ligando todas as potas
delay_ms(500);//desliga por 0,5 s
output_b(10);//liga a porta rb3 e rb 1
delay_ms(500);//espera 0,5s
output_b(20);
delay_ms(500);
output_low(pin_b6);//desliga o pino b6
}
}
Código1 feito em CCS C Compiler
#include <16f877a.h>
#use delay(crystal = 20MHz)
void main(){
while(true){
output_b(0b11111111);//b7,b6,b5... b0 ligando todas as potas
}
}
Código2 feito em CCS C Compiler
#include <16f877a.h>
#use delay(crystal = 20MHz)
void main(){
while(true){
output_b(0b11010101);//b7,b6,b5... b0 ligando todas as potas
}
}
Código3 feito em CCS C Compiler
#include <16f877a.h>
#use delay(crystal = 20MHz)
void main(){
while(true){
output_b(153);//b7,b6,b5... b0 ligando todas as potas
}
}
Código4 feito em CCS C Compiler
#include <16f877a.h>
#use delay(crystal = 20MHz)
void main(){
while(true){
output_b(255);//b7,b6,b5... b0 ligando todas as potas
delay_ms(500);//desliga por 0,5 s
output_b(10);//liga a porta rb3 e rb 1
delay_ms(500);//espera 0,5s
output_b(20);
delay_ms(500);
output_low(pin_b6);//desliga o pino b6
}
}
11/03/2020
Semáforo usando PIC 16F877A
Código feito em CCS C Compiler
#include <16f877a.h>
#use delay(crystal=20MHz)
void main(){
while(true){
//output_high(pin_b2);//ligando o led verde
output_high(pin_b0);//ligando o vermelho
output_low(pin_b1);//desligando o amarelo
output_low(pin_b2);//desligando o verde
delay_ms(3000);//espera 3s
output_low(pin_b0);
output_high(pin_b2);
delay_ms(2000);
output_low(pin_b2);//desliga o led vermelho
output_high(pin_b1);// e liga o led amarelo
delay_ms(1500);//espera 1,5s
output_low(pin_b1);// e espera o led amarelo
}
}
26/02/2020
Push boton com PIC 16F877A
Objetivo: Inverter o estado do Led a cada vez que for pressionado
Código feito em CCS C Compiler
#include <16f877a.h>
#use delay(crystal=20MHz)
void main(){
while(true){
if(input(pin_b0) == 1){
output_toggle(pin_b1);//troca o estado do led
delay_ms(500);// e espera 0,5s
}
}
}
Código feito em CCS C Compiler
#include <16f877a.h>
#use delay(crystal=20MHz)
void main(){
while(true){
if(input(pin_b0) == 1){
output_toggle(pin_b1);//troca o estado do led
delay_ms(500);// e espera 0,5s
}
}
}
Pisca Leds 4 com PIC 16F877A
Código feito em CCS C Compiler:
#include <16f877a.h>
#use delay(crystal=20MHz)
void main(){
char value[]={0b00000001, 0b00000011, 0b00000110, 0b00001100, 0b00011000, 0b00010000};
while(true){
for(int i=0; i<= 5; i++){
output_b(value[i]);
delay_ms(500);
}
for(i=6; i>= 1; i--){
output_b(value[i-1]);
delay_ms(500);
}
}
}
25/02/2020
Display 7 segmentos usando PIC 16F877A (3)
Código feito em mikro PRO for
void main() {
trisb = 0; //definindo todos os pinos como porta de saída
portb = 0; //desligando todos os pinos
while(1){ //tudo que estiver aqui dentro irá repetir infinitamente
portb = 0b00111111;//forma binária, 'imprimndo o [0]'
delay_ms(500);
portb = 0b00000110;//'imprimndo o [1]'
delay_ms(500);
portb = 91; //forma decimal, 'imprimindo o [2]'
delay_ms(500);
portb = 79; // [3]
delay_ms(500);//0,5s de espera
portb = 0x66; //forma hexadecimal [4]
delay_ms(500);
portb = 0x6D; //forma hexadecimal [5]
delay_ms(500);
portb = 0x7D; // [6]
delay_ms(500);
portb = 0x7;// forma hexadecimal [7]
delay_ms(500);
portb = 0b01111111;//[8]
delay_ms(500);
portb = 0b01100111; //[9]
delay_ms(500);
}
}
24/02/2020
Display 7 segmentos com PIC 16F877A (2)
Laço de repetição no display de 7 segmentos usando goto
Código feito em mikro PRO for
void main() {
trisb = 0;//definindo todos os pinos como saída
portb = 0; //desligando
inicio:
portb = 0b00111111;//forma binária, 'imprimndo o [0]'
delay_ms(500);
portb = 0b00000110;//'imprimndo o [1]'
delay_ms(500);
portb = 91; //forma decimal, 'imprimindo o [2]'
delay_ms(500);
portb = 79; // [3]
delay_ms(500);//0,5s de espera
portb = 0x66; //forma hexadecimal [4]
delay_ms(500);
portb = 0x6D; //forma hexadecimal [5]
delay_ms(500);
portb = 0x7D; // [6]
delay_ms(500);
portb = 0x7;// forma hexadecimal [7]
delay_ms(500);
portb = 0b01111111;//[8]
delay_ms(500);
portb = 0b01100111; //[9]
delay_ms(500);
goto inicio; //retorna para para o inicio
}
Código feito em mikro PRO for
void main() {
trisb = 0;//definindo todos os pinos como saída
portb = 0; //desligando
inicio:
portb = 0b00111111;//forma binária, 'imprimndo o [0]'
delay_ms(500);
portb = 0b00000110;//'imprimndo o [1]'
delay_ms(500);
portb = 91; //forma decimal, 'imprimindo o [2]'
delay_ms(500);
portb = 79; // [3]
delay_ms(500);//0,5s de espera
portb = 0x66; //forma hexadecimal [4]
delay_ms(500);
portb = 0x6D; //forma hexadecimal [5]
delay_ms(500);
portb = 0x7D; // [6]
delay_ms(500);
portb = 0x7;// forma hexadecimal [7]
delay_ms(500);
portb = 0b01111111;//[8]
delay_ms(500);
portb = 0b01100111; //[9]
delay_ms(500);
goto inicio; //retorna para para o inicio
}
Desafio 1
Fazer o Led piscar conforme o gráfico
Resolução:
Código feito em CCS C Compiler
#include <16F877A.h>
#device adc=8
#FUSES NOWDT //No Watch Dog Timer
#FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#FUSES NOPUT //No Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES BROWNOUT //Reset when brownout detected
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Program memory not write protected
#use delay(clock=20000000)
void main(){
while(TRUE){
output_low(PIN_B2);
for(int i = 0; i< 50; i++){
for(int j = 0; j < 100; j++){
output_high(PIN_B2);
delay_us(i*(1000/50));
output_low(PIN_B2);
delay_us(1000-(1*(1000/50)));
}
}
}
}
18/02/2020
Pisca Leds 3 com PIC 16F877A
Objetivo: Piscar leds consequentemente usando for
Código feito em CCS C Compiler
#include <16F877a.h>
#use delay(crystal=20MHz)
void main(){
char pins[] = {PIN_B0,PIN_B1,PIN_B2,PIN_B3,PIN_B4};
while(TRUE){
for(int i=0; i<=4; i++){
output_high(pins[i]);
delay_ms(250);
output_low(250);
delay_ms(250);
}
for(i=5; i>=1; i--){
output_high(pins[i-1]);
delay_ms(250);
output_low(pins[i-1]);
delay_ms(250);
}
}
}
Código feito em CCS C Compiler
#include <16F877a.h>
#use delay(crystal=20MHz)
void main(){
char pins[] = {PIN_B0,PIN_B1,PIN_B2,PIN_B3,PIN_B4};
while(TRUE){
for(int i=0; i<=4; i++){
output_high(pins[i]);
delay_ms(250);
output_low(250);
delay_ms(250);
}
for(i=5; i>=1; i--){
output_high(pins[i-1]);
delay_ms(250);
output_low(pins[i-1]);
delay_ms(250);
}
}
}
Display 7 segmentos usando PIC 16F877A (1)
Código feito em mikro PRO for
void main() {
trisb = 0;//definindo todos os pinos como saída
portb = 0; //desligando
portb = 0b00111111;//forma binária, 'imprimndo o [0]'
delay_ms(500);
portb = 0b00000110;//'imprimndo o [1]'
delay_ms(500);
portb = 91; //forma decimal, 'imprimindo o [2]'
delay_ms(500);
portb = 79; // [3]
delay_ms(500);//0,5s de espera
portb = 0x66; //forma hexadecimal [4]
delay_ms(500);
portb = 0x6D; //forma hexadecimal [5]
delay_ms(500);
portb = 0x7D; // [6]
delay_ms(500);
portb = 0x7;// forma hexadecimal [7]
delay_ms(500);
portb = 0b01111111;//[8]
delay_ms(500);
portb = 0b01100111; //[9]
delay_ms(500);
}
PiscaLed 2 com PIC 16F877A
Objetivo: Ligar e desligar vários leds consequentemente
Código feito no software mikroC Pro for, versão 7.2
void main() {
trisb = 0;
/*portb.rb0 = 1;
portb.rb1 = 1;
portb.rb2 = 1;
portb.rb3 = 1;
portb.rb4 = 1;
portb.rb5 = 1;
portb.rb6 = 1;
portb.rb7 = 1;*/
//método2 para ligar todos leds
//portb = 0b11111111;//substitui o método acima, economizando linhas
//método3 para ligar todos leds
portb = 255;//forma em decimal
//portb = 231; //fazendo teste com com a porta 231
delay_ms(500);//desligando os leds começando por rb7
portb.RB7 = 0;
delay_ms(500);
portb.RB6 = 0;
delay_ms(500);
portb.rb5 = 0;
delay_ms(500);//espera 0,5s
portb.rb4 = 0;
delay_ms(500);
portb.RB3 = 0;
delay_ms(500);
portb.RB2 = 0;
delay_ms(500);
portb.rb1 = 0;
delay_ms(500);
portb.rb0 = 0;
delay_ms(500);
}
Simulador usando Proteus 8.8 |
Código feito no software mikroC Pro for, versão 7.2
void main() {
trisb = 0;
/*portb.rb0 = 1;
portb.rb1 = 1;
portb.rb2 = 1;
portb.rb3 = 1;
portb.rb4 = 1;
portb.rb5 = 1;
portb.rb6 = 1;
portb.rb7 = 1;*/
//método2 para ligar todos leds
//portb = 0b11111111;//substitui o método acima, economizando linhas
//método3 para ligar todos leds
portb = 255;//forma em decimal
//portb = 231; //fazendo teste com com a porta 231
delay_ms(500);//desligando os leds começando por rb7
portb.RB7 = 0;
delay_ms(500);
portb.RB6 = 0;
delay_ms(500);
portb.rb5 = 0;
delay_ms(500);//espera 0,5s
portb.rb4 = 0;
delay_ms(500);
portb.RB3 = 0;
delay_ms(500);
portb.RB2 = 0;
delay_ms(500);
portb.rb1 = 0;
delay_ms(500);
portb.rb0 = 0;
delay_ms(500);
}
17/02/2020
Pisca Led1 com PIC 16F877A
Software Proteus 8.8 |
Código feito em CCS C Compiler
#include <16F877A.h>
#device adc=8
#FUSES NOWDT //No Watch Dog Timer
#FUSES HS //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#FUSES NOPUT //No Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES BROWNOUT //Reset when brownout detected
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Program memory not write protected
#use delay(clock=20000000)
void main(){
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
// TODO: USER CODE!!
while(true){
output_high(PIN_B2);
delay_ms(1000);
output_low(PIN_B2);
delay_ms(1000);
}
}
30/01/2020
Programa 18
Número aleatório no Arduíno com display 7 segmentos
#define pinA 10
#define pinB 9
#define pinC 6
#define pinD 7
#define pinE 8
#define pinF 11
#define pinG 12
#define pinPD 5
#define pinBotao 2
int numero = 10;
boolean botaoAtu = false;
boolean botaoAnt = false;
void setup() {
// put your setup code here, to run once:
pinMode(pinBotao, INPUT);
pinMode(pinA, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(pinC, OUTPUT);
pinMode(pinD, OUTPUT);
pinMode(pinE, OUTPUT);
pinMode(pinF, OUTPUT);
pinMode(pinG, OUTPUT);
pinMode(pinPD, OUTPUT);
randomSeed( analogRead(A0) );
}
void loop() {
// put your main code here, to run repeatedly:
botaoAtu = digitalRead(pinBotao);
if (botaoAtu && !botaoAnt) {
numero = random(10);
}
botaoAnt = botaoAtu;
switch (numero) {
case 0:
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, LOW);
digitalWrite(pinPD, LOW);
break;
case 1:
digitalWrite(pinA, LOW);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);
digitalWrite(pinPD, LOW);
break;
case 2:
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, LOW);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, LOW);
digitalWrite(pinG, HIGH);
digitalWrite(pinPD, LOW);
break;
case 3:
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, HIGH);
digitalWrite(pinPD, LOW);
break;
case 4:
digitalWrite(pinA, LOW);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
digitalWrite(pinPD, LOW);
break;
case 5:
digitalWrite(pinA, HIGH);
digitalWrite(pinB, LOW);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
digitalWrite(pinPD, LOW);
break;
case 6:
digitalWrite(pinA, HIGH);
digitalWrite(pinB, LOW);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
digitalWrite(pinPD, LOW);
break;
case 7:
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);
digitalWrite(pinPD, LOW);
break;
case 8:
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
digitalWrite(pinPD, LOW);
break;
case 9:
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
digitalWrite(pinPD, LOW);
break;
default:
digitalWrite(pinA, LOW);
digitalWrite(pinB, LOW);
digitalWrite(pinC, LOW);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);
digitalWrite(pinPD, HIGH);
break;
}
delay(10);
}
Créditos para: https://cursodearduino.net/
Emulador feito no tinkercad.com |
#define pinA 10
#define pinB 9
#define pinC 6
#define pinD 7
#define pinE 8
#define pinF 11
#define pinG 12
#define pinPD 5
#define pinBotao 2
int numero = 10;
boolean botaoAtu = false;
boolean botaoAnt = false;
void setup() {
// put your setup code here, to run once:
pinMode(pinBotao, INPUT);
pinMode(pinA, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(pinC, OUTPUT);
pinMode(pinD, OUTPUT);
pinMode(pinE, OUTPUT);
pinMode(pinF, OUTPUT);
pinMode(pinG, OUTPUT);
pinMode(pinPD, OUTPUT);
randomSeed( analogRead(A0) );
}
void loop() {
// put your main code here, to run repeatedly:
botaoAtu = digitalRead(pinBotao);
if (botaoAtu && !botaoAnt) {
numero = random(10);
}
botaoAnt = botaoAtu;
switch (numero) {
case 0:
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, LOW);
digitalWrite(pinPD, LOW);
break;
case 1:
digitalWrite(pinA, LOW);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);
digitalWrite(pinPD, LOW);
break;
case 2:
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, LOW);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, LOW);
digitalWrite(pinG, HIGH);
digitalWrite(pinPD, LOW);
break;
case 3:
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, HIGH);
digitalWrite(pinPD, LOW);
break;
case 4:
digitalWrite(pinA, LOW);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
digitalWrite(pinPD, LOW);
break;
case 5:
digitalWrite(pinA, HIGH);
digitalWrite(pinB, LOW);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
digitalWrite(pinPD, LOW);
break;
case 6:
digitalWrite(pinA, HIGH);
digitalWrite(pinB, LOW);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
digitalWrite(pinPD, LOW);
break;
case 7:
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);
digitalWrite(pinPD, LOW);
break;
case 8:
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, HIGH);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
digitalWrite(pinPD, LOW);
break;
case 9:
digitalWrite(pinA, HIGH);
digitalWrite(pinB, HIGH);
digitalWrite(pinC, HIGH);
digitalWrite(pinD, HIGH);
digitalWrite(pinE, LOW);
digitalWrite(pinF, HIGH);
digitalWrite(pinG, HIGH);
digitalWrite(pinPD, LOW);
break;
default:
digitalWrite(pinA, LOW);
digitalWrite(pinB, LOW);
digitalWrite(pinC, LOW);
digitalWrite(pinD, LOW);
digitalWrite(pinE, LOW);
digitalWrite(pinF, LOW);
digitalWrite(pinG, LOW);
digitalWrite(pinPD, HIGH);
break;
}
delay(10);
}
Créditos para: https://cursodearduino.net/
22/01/2020
Programa 17
Função com Arduíno
#define pinLedVm 2
#define pinLedVd 3
#define pinBotao 4
boolean pisca = false;
boolean leBotao(int porta);
void piscaLED(int porta, int tempo);
void setup() {
pinMode(pinLedVd, OUTPUT);
pinMode(pinLedVm, OUTPUT);
pinMode(pinBotao, INPUT_PULLUP);
}
void loop() {
if (leBotao(pinBotao)) {
pisca = !pisca;
}
if (pisca) {
piscaLED(pinLedVm, 200);
piscaLED(pinLedVd, 500);
}
}
boolean leBotao(int porta) {
static boolean estadoAnterior[14] = {true,true,true,true,true,true,true,true,true,true,true,true,true,true};
boolean estadoBotao = digitalRead(porta);
boolean ligado = false;
if (!estadoBotao && estadoAnterior[porta]) {
ligado = true;
}
estadoAnterior[porta] = estadoBotao;
return ligado;
}
void piscaLED(int porta, int tempo) {
static unsigned long delay1[14] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0};
if ((millis() - delay1[porta]) < tempo) {
digitalWrite(porta, HIGH);
} else {
digitalWrite(porta, LOW);
}
if ((millis() - delay1[porta]) >= (tempo * 2) ) {
delay1[porta] = millis();
}
}
#define pinLedVm 2
#define pinLedVd 3
#define pinBotao 4
boolean pisca = false;
boolean leBotao(int porta);
void piscaLED(int porta, int tempo);
void setup() {
pinMode(pinLedVd, OUTPUT);
pinMode(pinLedVm, OUTPUT);
pinMode(pinBotao, INPUT_PULLUP);
}
void loop() {
if (leBotao(pinBotao)) {
pisca = !pisca;
}
if (pisca) {
piscaLED(pinLedVm, 200);
piscaLED(pinLedVd, 500);
}
}
boolean leBotao(int porta) {
static boolean estadoAnterior[14] = {true,true,true,true,true,true,true,true,true,true,true,true,true,true};
boolean estadoBotao = digitalRead(porta);
boolean ligado = false;
if (!estadoBotao && estadoAnterior[porta]) {
ligado = true;
}
estadoAnterior[porta] = estadoBotao;
return ligado;
}
void piscaLED(int porta, int tempo) {
static unsigned long delay1[14] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0};
if ((millis() - delay1[porta]) < tempo) {
digitalWrite(porta, HIGH);
} else {
digitalWrite(porta, LOW);
}
if ((millis() - delay1[porta]) >= (tempo * 2) ) {
delay1[porta] = millis();
}
}
14/01/2020
Programa 16
Delay e millis no Arduíno
#define pinLedVd 10
#define pinLedVm 8
#define pinBotao 2
boolean estadoBotao = true;
boolean estAntBotao = true;
boolean estadoPisca = false;
unsigned long delay1 = 0;
void setup() {
pinMode(pinLedVd, OUTPUT);
pinMode(pinLedVm, OUTPUT);
pinMode(pinBotao, INPUT_PULLUP);
digitalWrite( pinLedVd, HIGH);
}
void loop() {
estadoBotao = digitalRead(pinBotao);
if (!estadoBotao && estAntBotao) {
estadoPisca = !estadoPisca;
}
estAntBotao = estadoBotao;
if (estadoPisca) {
if ((millis() - delay1) >= 500) {
digitalWrite( pinLedVm, HIGH);
}
if ((millis() - delay1) < 500) {
digitalWrite( pinLedVm, LOW);
}
if ((millis() - delay1) >= 1000) {
delay1 = millis();
}
} else {
digitalWrite( pinLedVm, LOW);
}
delay(10);
}
#define pinLedVd 10
#define pinLedVm 8
#define pinBotao 2
boolean estadoBotao = true;
boolean estAntBotao = true;
boolean estadoPisca = false;
unsigned long delay1 = 0;
void setup() {
pinMode(pinLedVd, OUTPUT);
pinMode(pinLedVm, OUTPUT);
pinMode(pinBotao, INPUT_PULLUP);
digitalWrite( pinLedVd, HIGH);
}
void loop() {
estadoBotao = digitalRead(pinBotao);
if (!estadoBotao && estAntBotao) {
estadoPisca = !estadoPisca;
}
estAntBotao = estadoBotao;
if (estadoPisca) {
if ((millis() - delay1) >= 500) {
digitalWrite( pinLedVm, HIGH);
}
if ((millis() - delay1) < 500) {
digitalWrite( pinLedVm, LOW);
}
if ((millis() - delay1) >= 1000) {
delay1 = millis();
}
} else {
digitalWrite( pinLedVm, LOW);
}
delay(10);
}
Programa 15 -
Impressão e contador no Arduíno usando display LCD
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("DEUS E MAIOR ");
}
void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(millis() / 500);
}
Palavras chave:
Printing and counter in Arduino using LCD display
Impresión y contador en Arduino usando pantalla LCD
Priontáil agus cuntar in Arduino ag baint úsáide as taispeáint LCD
Druk en toonbank in Arduino met LCD-skerm
Drukowanie i liczenie w Arduino za pomocą wyświetlacza LCD
Друк та лічильник в Ардуїно за допомогою РК-дисплея
Skriva ut och räknar i Arduino med LCD-skärm
הדפסה ודלפק בארדואינו באמצעות צג LCD
Nyithak lan kontra ing Arduino nggunakake tampilan LCD
Ispis i šalter u Arduinu pomoću LCD zaslona
Печат и брояч в Arduino с помощта на LCD дисплей
Simulação feita no Tinkercad |
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("DEUS E MAIOR ");
}
void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(millis() / 500);
}
Palavras chave:
Printing and counter in Arduino using LCD display
Impresión y contador en Arduino usando pantalla LCD
Priontáil agus cuntar in Arduino ag baint úsáide as taispeáint LCD
Druk en toonbank in Arduino met LCD-skerm
Drukowanie i liczenie w Arduino za pomocą wyświetlacza LCD
Друк та лічильник в Ардуїно за допомогою РК-дисплея
Skriva ut och räknar i Arduino med LCD-skärm
הדפסה ודלפק בארדואינו באמצעות צג LCD
Nyithak lan kontra ing Arduino nggunakake tampilan LCD
Ispis i šalter u Arduinu pomoću LCD zaslona
Печат и брояч в Arduino с помощта на LCD дисплей
13/01/2020
Programa 14 - Letras na tabela ASC
Imprimir caracteres usando while
#define pinBotao 2
void setup() {
pinMode(pinBotao, INPUT_PULLUP);//PULLUP = evita a nececidade de 1 resistor
Serial.begin(9600);//comunicação serial
}
void loop() {
int n3 = 0;
//laço de números
for(int n1 = 0; n1 < 50; n1++){
Serial.print(char((n1 % 10)+48));
if(digitalRead(pinBotao) == LOW){//se a leitura for igual a desligado
delay(400);
break;
}
delay(50);
}
Serial.println();//pula uma linha
//LAÇO DAS LETRAS MAIÚSCULAS
letrasMaiusculas://endereço
int n2 = 0;
while (n2 < 50){
//25 letras maíusculas na tabela ASC
Serial.print(char((n2 % 25)+ 65));
n2++;
if(digitalRead(pinBotao) == LOW){
delay(400);
continue;//vai enviar para o while novamente
}
delay(50);
}
Serial.println();
//laço das letras minúsculas
do{
n3 = random(25);//sorteando numero
Serial.print(char(n3 + 97));//letra de a - z
if(digitalRead(pinBotao) == LOW){
delay(400);
Serial.println();
n2 = 0;
goto letrasMaiusculas;//mudar para um endereço especificado
}
delay(50);
}while (n3 != 16);//enquanto não for a letra q minúscula na tabela ASC
Serial.println();
}
#define pinBotao 2
void setup() {
pinMode(pinBotao, INPUT_PULLUP);//PULLUP = evita a nececidade de 1 resistor
Serial.begin(9600);//comunicação serial
}
void loop() {
int n3 = 0;
//laço de números
for(int n1 = 0; n1 < 50; n1++){
Serial.print(char((n1 % 10)+48));
if(digitalRead(pinBotao) == LOW){//se a leitura for igual a desligado
delay(400);
break;
}
delay(50);
}
Serial.println();//pula uma linha
//LAÇO DAS LETRAS MAIÚSCULAS
letrasMaiusculas://endereço
int n2 = 0;
while (n2 < 50){
//25 letras maíusculas na tabela ASC
Serial.print(char((n2 % 25)+ 65));
n2++;
if(digitalRead(pinBotao) == LOW){
delay(400);
continue;//vai enviar para o while novamente
}
delay(50);
}
Serial.println();
//laço das letras minúsculas
do{
n3 = random(25);//sorteando numero
Serial.print(char(n3 + 97));//letra de a - z
if(digitalRead(pinBotao) == LOW){
delay(400);
Serial.println();
n2 = 0;
goto letrasMaiusculas;//mudar para um endereço especificado
}
delay(50);
}while (n3 != 16);//enquanto não for a letra q minúscula na tabela ASC
Serial.println();
}
Saída gerada |
12/01/2020
Programa 13 - Binario, hexadecimal e octal
Binario, hexadecimal e octal no Arduino
int valor1, valor2, valor3, valor4;
void setup() {
valor1 = 25;
valor2 = 13;
Serial.begin(9600);
Serial.print("Valor1: = ");
Serial.print(valor1);
Serial.print("\nValor2: = ");
Serial.print(valor2);
Serial.print("\n\nValor1 em binário = ");//exibe na tela
Serial.print(valor1, BIN);// imprime o valor1 em binário
Serial.print("\nValor2 em decimal: = ");
Serial.print(valor2, DEC);
Serial.print("\nValor1 em hexadecimal = ");
Serial.print(valor1, HEX);
Serial.print("\nValor2 em octal = ");
Serial.print(valor2, OCT);
}
void loop() {
}
int valor1, valor2, valor3, valor4;
void setup() {
valor1 = 25;
valor2 = 13;
Serial.begin(9600);
Serial.print("Valor1: = ");
Serial.print(valor1);
Serial.print("\nValor2: = ");
Serial.print(valor2);
Serial.print("\n\nValor1 em binário = ");//exibe na tela
Serial.print(valor1, BIN);// imprime o valor1 em binário
Serial.print("\nValor2 em decimal: = ");
Serial.print(valor2, DEC);
Serial.print("\nValor1 em hexadecimal = ");
Serial.print(valor1, HEX);
Serial.print("\nValor2 em octal = ");
Serial.print(valor2, OCT);
}
void loop() {
}
Saída gerada |
10/01/2020
Programa 12 - Soma e subtração no Arduino
Soma e subtração no Arduino
int valor1, valor2;
float soma, sub, divi, mult, resto, resFinal;
void setup() {
valor1 = 25;
valor2 = 13;
soma = valor1 + valor2;
sub = valor1 - valor2;
divi = valor1 / valor2;
mult = valor1 * valor2;
resto = int (valor1) % int(valor2); // convertendo para inteiro
resFinal = (soma * sub - divi + mult )/resto;
Serial.begin(9600);
Serial.print("Valor1: = ");//exibe na tela
Serial.print(valor1);// imprime o valor1
Serial.print("\nValor2: = ");
Serial.print(valor2);
Serial.print("\n\nSoma: = ");
Serial.print(soma);
Serial.print("\nSubtração: = ");
Serial.print(sub);
Serial.print("\nDivisaoão: = ");
Serial.print(divi);
Serial.print("\nMultiplicação: = ");
Serial.print(mult);
Serial.print("\nResto: = ");
Serial.print(resto);
Serial.print("\nResultado final: = ");
Serial.print(resFinal);
}
void loop() {
}
int valor1, valor2;
float soma, sub, divi, mult, resto, resFinal;
void setup() {
valor1 = 25;
valor2 = 13;
soma = valor1 + valor2;
sub = valor1 - valor2;
divi = valor1 / valor2;
mult = valor1 * valor2;
resto = int (valor1) % int(valor2); // convertendo para inteiro
resFinal = (soma * sub - divi + mult )/resto;
Serial.begin(9600);
Serial.print("Valor1: = ");//exibe na tela
Serial.print(valor1);// imprime o valor1
Serial.print("\nValor2: = ");
Serial.print(valor2);
Serial.print("\n\nSoma: = ");
Serial.print(soma);
Serial.print("\nSubtração: = ");
Serial.print(sub);
Serial.print("\nDivisaoão: = ");
Serial.print(divi);
Serial.print("\nMultiplicação: = ");
Serial.print(mult);
Serial.print("\nResto: = ");
Serial.print(resto);
Serial.print("\nResultado final: = ");
Serial.print(resFinal);
}
void loop() {
}
Saída gerada |
09/01/2020
Programa 11
Contador usando Arduíno
//Portas analógicas
int pinos[9] = {12,11,10,9,8,7,6,5,4};
//int pinLed;
float minimo = 65;
float maximo = 1020;
float valorLDR;//guardar o valor nessa variavel
float luminosidade;
void setup() {
// iniciando o pinLed
for(int pinLed = 0; pinLed <= 8; pinLed++){
pinMode(pinos[pinLed], OUTPUT);//portas digitais de saidas que irao ligar e desligar
}
pinMode(A0, INPUT);//porta analogica
}
void loop() {
//
valorLDR = analogRead(A0);//ler e guardar o valor nessa variavel
luminosidade = ((valorLDR - minimo)/(maximo - minimo)) * 10;
luminosidade = (luminosidade - 10) * -1 ;
//acender a luminosidade de acordo com a faixa
for(int pinLed = 0; pinLed <= 8; pinLed++){
if(pinLed < luminosidade){
digitalWrite(pinos[pinLed], HIGH);//ligar o led
}else {
digitalWrite(pinos[pinLed], LOW);//deligar o led
}
}
}
//Portas analógicas
int pinos[9] = {12,11,10,9,8,7,6,5,4};
//int pinLed;
float minimo = 65;
float maximo = 1020;
float valorLDR;//guardar o valor nessa variavel
float luminosidade;
void setup() {
// iniciando o pinLed
for(int pinLed = 0; pinLed <= 8; pinLed++){
pinMode(pinos[pinLed], OUTPUT);//portas digitais de saidas que irao ligar e desligar
}
pinMode(A0, INPUT);//porta analogica
}
void loop() {
//
valorLDR = analogRead(A0);//ler e guardar o valor nessa variavel
luminosidade = ((valorLDR - minimo)/(maximo - minimo)) * 10;
luminosidade = (luminosidade - 10) * -1 ;
//acender a luminosidade de acordo com a faixa
for(int pinLed = 0; pinLed <= 8; pinLed++){
if(pinLed < luminosidade){
digitalWrite(pinos[pinLed], HIGH);//ligar o led
}else {
digitalWrite(pinos[pinLed], LOW);//deligar o led
}
}
}
Programa 10
Usando Array no Arduíno com sensor de luz
//Portas analógicas
int pinos[9] = {12,11,10,9,8,7,6,5,4};
//int pinLed;
float minimo = 65;
float maximo = 1020;
float valorLDR;//guardar o valor nessa variavel
float luminosidade;
void setup() {
// iniciando o pinLed
for(int pinLed = 0; pinLed <= 8; pinLed++){
pinMode(pinos[pinLed], OUTPUT);//portas digitais de saidas que irao ligar e desligar
}
pinMode(A0, INPUT);//porta analogica
}
void loop() {
//
valorLDR = analogRead(A0);//ler e guardar o valor nessa variavel
luminosidade = ((valorLDR - minimo)/(maximo - minimo)) * 10;
luminosidade = (luminosidade - 10) * -1 ;
//acender a luminosidade de acordo com a faixa
for(int pinLed = 0; pinLed <= 8; pinLed++){
if(pinLed < luminosidade){
digitalWrite(pinos[pinLed], HIGH);//ligar o led
}else {
digitalWrite(pinos[pinLed], LOW);//deligar o led
}
}
}
//Portas analógicas
int pinos[9] = {12,11,10,9,8,7,6,5,4};
//int pinLed;
float minimo = 65;
float maximo = 1020;
float valorLDR;//guardar o valor nessa variavel
float luminosidade;
void setup() {
// iniciando o pinLed
for(int pinLed = 0; pinLed <= 8; pinLed++){
pinMode(pinos[pinLed], OUTPUT);//portas digitais de saidas que irao ligar e desligar
}
pinMode(A0, INPUT);//porta analogica
}
void loop() {
//
valorLDR = analogRead(A0);//ler e guardar o valor nessa variavel
luminosidade = ((valorLDR - minimo)/(maximo - minimo)) * 10;
luminosidade = (luminosidade - 10) * -1 ;
//acender a luminosidade de acordo com a faixa
for(int pinLed = 0; pinLed <= 8; pinLed++){
if(pinLed < luminosidade){
digitalWrite(pinos[pinLed], HIGH);//ligar o led
}else {
digitalWrite(pinos[pinLed], LOW);//deligar o led
}
}
}
Programa 9
Ligar leds no Arduíno usando Array
int pinLed[9] = {12,11,10,9,8,7,6,5,4};
int numeroLed;
char digitado;
void setup() {
int x;
for(int x = 0; x <= 0; x++){
pinMode(pinLed[x], OUTPUT);
}
Serial.begin(9600);
}
void loop() {
digitado = ' ';
numeroLed = 0;
while (digitado != 'P'){//enquanto for menor que 8 acrescenta 1
digitalWrite(pinLed[numeroLed], LOW);//apagou
numeroLed += 1;
if(numeroLed > 8){//se for maior
numeroLed = 0;//reseta
}
digitalWrite(pinLed[numeroLed], HIGH);
//verificar se tem alguma informação na porta serial
if(Serial.available()){//se existir alguma informação na porta serial, se foi enviado informação para o arduino
digitado = Serial.read();//lendo informação
}
delay(50);
}
delay(5000);
}
int pinLed[9] = {12,11,10,9,8,7,6,5,4};
int numeroLed;
char digitado;
void setup() {
int x;
for(int x = 0; x <= 0; x++){
pinMode(pinLed[x], OUTPUT);
}
Serial.begin(9600);
}
void loop() {
digitado = ' ';
numeroLed = 0;
while (digitado != 'P'){//enquanto for menor que 8 acrescenta 1
digitalWrite(pinLed[numeroLed], LOW);//apagou
numeroLed += 1;
if(numeroLed > 8){//se for maior
numeroLed = 0;//reseta
}
digitalWrite(pinLed[numeroLed], HIGH);
//verificar se tem alguma informação na porta serial
if(Serial.available()){//se existir alguma informação na porta serial, se foi enviado informação para o arduino
digitado = Serial.read();//lendo informação
}
delay(50);
}
delay(5000);
}
08/01/2020
Programa 8
Ascender leds com Arduino usando Array
int pinLed[9] = {12,11,10,9,8,7,6,5,4};
int numeroLed;
void setup() {
int x;
for(int x = 0; x <= 0; x++){
pinMode(pinLed[x], OUTPUT);
}
}
void loop() {
numeroLed = 0;
while (numeroLed <= 8){
digitalWrite(pinLed[numeroLed], HIGH);
delay(50);
numeroLed += 1;
}
numeroLed = 8;
while(numeroLed >= 0){
digitalWrite(pinLed[numeroLed], LOW);
delay(500);
numeroLed -= 1;
}
}
Créditos para https://cursodearduino.net/
int pinLed[9] = {12,11,10,9,8,7,6,5,4};
int numeroLed;
void setup() {
int x;
for(int x = 0; x <= 0; x++){
pinMode(pinLed[x], OUTPUT);
}
}
void loop() {
numeroLed = 0;
while (numeroLed <= 8){
digitalWrite(pinLed[numeroLed], HIGH);
delay(50);
numeroLed += 1;
}
numeroLed = 8;
while(numeroLed >= 0){
digitalWrite(pinLed[numeroLed], LOW);
delay(500);
numeroLed -= 1;
}
}
Créditos para https://cursodearduino.net/
07/01/2020
Programa 7
Soma no Arduíno
int x, y, z, soma;
void setup() {
// put your setup code here, to run once:
//arduino começa a se comunicar com o computador
Serial.begin(9600);//9600 velocidade
x = 10;
y = 20;
z = 50;
soma = x + y + z;
Serial.print("Valor de x = ");
Serial.print(x);
Serial.print("\nValor de y = ");
Serial.print(y);
Serial.print("\nValor de z = ");
Serial.print(z);
Serial.print("\nSoma = ");
Serial.print(soma);
}
void loop() {
// put your main code here, to run repeatedly:
}
Créditos para https://cursodearduino.net/
int x, y, z, soma;
void setup() {
// put your setup code here, to run once:
//arduino começa a se comunicar com o computador
Serial.begin(9600);//9600 velocidade
x = 10;
y = 20;
z = 50;
soma = x + y + z;
Serial.print("Valor de x = ");
Serial.print(x);
Serial.print("\nValor de y = ");
Serial.print(y);
Serial.print("\nValor de z = ");
Serial.print(z);
Serial.print("\nSoma = ");
Serial.print(soma);
}
void loop() {
// put your main code here, to run repeatedly:
}
Créditos para https://cursodearduino.net/
Programa 6
Acender sequencial de Leds em Arduino
int pinLed[9] = {12,11,10,9,8,7,6,5,4};//portas
int numeroLed;
void setup() {
int i;
//repetir 0 vezes
for(i =0; i <= 8; i++){
pinMode(pinLed[i], OUTPUT);//repete várias vezes
}
}
void loop() {
//ligar os leds ascendente
for(numeroLed = 0; numeroLed <=8; numeroLed++){
digitalWrite(pinLed[numeroLed], HIGH);
delay(200);
}
//desliga decrescente
for(numeroLed = 8; numeroLed>= 0; numeroLed--){
digitalWrite(pinLed[numeroLed], LOW);//desliga
delay(800);
}
}
Créditos para https://cursodearduino.net/
int pinLed[9] = {12,11,10,9,8,7,6,5,4};//portas
int numeroLed;
void setup() {
int i;
//repetir 0 vezes
for(i =0; i <= 8; i++){
pinMode(pinLed[i], OUTPUT);//repete várias vezes
}
}
void loop() {
//ligar os leds ascendente
for(numeroLed = 0; numeroLed <=8; numeroLed++){
digitalWrite(pinLed[numeroLed], HIGH);
delay(200);
}
//desliga decrescente
for(numeroLed = 8; numeroLed>= 0; numeroLed--){
digitalWrite(pinLed[numeroLed], LOW);//desliga
delay(800);
}
}
Créditos para https://cursodearduino.net/
Programa 5
Acender Led no Arduino com botão de pressão
int pinVermelho = 10;
int pinAmarelo = 9;
int pinVerde = 8;
int pinBotao = 7;
int pinPedestreVermelho = 3;
int pinPedestreVerde = 2;
int faseSemaforo;
int estadoBotao;
int estadoAnteriorBotao;
int tempoPisca;
int estadoPisca;
void setup() {
// put your setup code here, to run once:
pinMode(pinVerde, OUTPUT);
pinMode(pinAmarelo, OUTPUT);
pinMode(pinVermelho, OUTPUT);
pinMode(pinBotao, INPUT);
pinMode(pinPedestreVerde, OUTPUT);
pinMode(pinPedestreVermelho, OUTPUT);
faseSemaforo = 1;
estadoAnteriorBotao = digitalRead(pinBotao);
tempoPisca = 0;
estadoPisca = HIGH;
}
void loop() {
// put your main code here, to run repeatedly:
estadoBotao = digitalRead(pinBotao);
if ((estadoBotao == LOW) && (estadoAnteriorBotao == HIGH)) {
if (faseSemaforo < 4) {
faseSemaforo = faseSemaforo + 1;
} else {
faseSemaforo = 1;
}
}
estadoAnteriorBotao = estadoBotao;
if (faseSemaforo == 1) { //SEMAFORO ABERTO (VERDE)
digitalWrite(pinVerde, HIGH);
digitalWrite(pinAmarelo, LOW);
digitalWrite(pinVermelho, LOW);
digitalWrite(pinPedestreVerde, LOW);
digitalWrite(pinPedestreVermelho, HIGH);
}
if (faseSemaforo == 2) { //SEMAFORO AMARELO
digitalWrite(pinVerde, LOW);
digitalWrite(pinAmarelo, HIGH);
digitalWrite(pinVermelho, LOW);
digitalWrite(pinPedestreVerde, LOW);
digitalWrite(pinPedestreVermelho, HIGH);
}
if (faseSemaforo == 3) { //SEMAFORO FECHADO (VERMELHO)
digitalWrite(pinVerde, LOW);
digitalWrite(pinAmarelo, LOW);
digitalWrite(pinVermelho, HIGH);
digitalWrite(pinPedestreVerde, HIGH);
digitalWrite(pinPedestreVermelho, LOW);
}
if (faseSemaforo == 4) { //SEMAFORO PEDESTRE PISCANDO
digitalWrite(pinVerde, LOW);
digitalWrite(pinAmarelo, LOW);
digitalWrite(pinVermelho, HIGH);
tempoPisca = tempoPisca + 1;
if (tempoPisca == 400) {
estadoPisca = !estadoPisca;
tempoPisca = 0;
}
digitalWrite(pinPedestreVerde, LOW);
digitalWrite(pinPedestreVermelho, estadoPisca);
}
delay(100);
}
Créditos para https://cursodearduino.net/
int pinVermelho = 10;
int pinAmarelo = 9;
int pinVerde = 8;
int pinBotao = 7;
int pinPedestreVermelho = 3;
int pinPedestreVerde = 2;
int faseSemaforo;
int estadoBotao;
int estadoAnteriorBotao;
int tempoPisca;
int estadoPisca;
void setup() {
// put your setup code here, to run once:
pinMode(pinVerde, OUTPUT);
pinMode(pinAmarelo, OUTPUT);
pinMode(pinVermelho, OUTPUT);
pinMode(pinBotao, INPUT);
pinMode(pinPedestreVerde, OUTPUT);
pinMode(pinPedestreVermelho, OUTPUT);
faseSemaforo = 1;
estadoAnteriorBotao = digitalRead(pinBotao);
tempoPisca = 0;
estadoPisca = HIGH;
}
void loop() {
// put your main code here, to run repeatedly:
estadoBotao = digitalRead(pinBotao);
if ((estadoBotao == LOW) && (estadoAnteriorBotao == HIGH)) {
if (faseSemaforo < 4) {
faseSemaforo = faseSemaforo + 1;
} else {
faseSemaforo = 1;
}
}
estadoAnteriorBotao = estadoBotao;
if (faseSemaforo == 1) { //SEMAFORO ABERTO (VERDE)
digitalWrite(pinVerde, HIGH);
digitalWrite(pinAmarelo, LOW);
digitalWrite(pinVermelho, LOW);
digitalWrite(pinPedestreVerde, LOW);
digitalWrite(pinPedestreVermelho, HIGH);
}
if (faseSemaforo == 2) { //SEMAFORO AMARELO
digitalWrite(pinVerde, LOW);
digitalWrite(pinAmarelo, HIGH);
digitalWrite(pinVermelho, LOW);
digitalWrite(pinPedestreVerde, LOW);
digitalWrite(pinPedestreVermelho, HIGH);
}
if (faseSemaforo == 3) { //SEMAFORO FECHADO (VERMELHO)
digitalWrite(pinVerde, LOW);
digitalWrite(pinAmarelo, LOW);
digitalWrite(pinVermelho, HIGH);
digitalWrite(pinPedestreVerde, HIGH);
digitalWrite(pinPedestreVermelho, LOW);
}
if (faseSemaforo == 4) { //SEMAFORO PEDESTRE PISCANDO
digitalWrite(pinVerde, LOW);
digitalWrite(pinAmarelo, LOW);
digitalWrite(pinVermelho, HIGH);
tempoPisca = tempoPisca + 1;
if (tempoPisca == 400) {
estadoPisca = !estadoPisca;
tempoPisca = 0;
}
digitalWrite(pinPedestreVerde, LOW);
digitalWrite(pinPedestreVermelho, estadoPisca);
}
delay(100);
}
Créditos para https://cursodearduino.net/
Programa 4
Ascender Led no Arduino com botão de pressão
void setup() {
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
pinMode(7, INPUT);
}
void loop() {
int estadoBotao;
estadoBotao = digitalRead(7);//ao apertar o botão irá controlar os estados do led
digitalWrite(10, estadoBotao);
digitalWrite(9, estadoBotao);
}
Créditos para https://cursodearduino.net/
void setup() {
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
pinMode(7, INPUT);
}
void loop() {
int estadoBotao;
estadoBotao = digitalRead(7);//ao apertar o botão irá controlar os estados do led
digitalWrite(10, estadoBotao);
digitalWrite(9, estadoBotao);
}
Créditos para https://cursodearduino.net/
Programa 3
Acender Led em Arduino com intervalo de tempo
void setup() {
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
}
void loop() {
int intervaloPisca;
intervaloPisca = 700;
digitalWrite(10, HIGH);
digitalWrite(9, LOW);
delay(intervaloPisca);//500 milesegundos
digitalWrite(10, LOW);
digitalWrite(9, HIGH);
delay(intervaloPisca);
}
Créditos para https://cursodearduino.net/
void setup() {
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
}
void loop() {
int intervaloPisca;
intervaloPisca = 700;
digitalWrite(10, HIGH);
digitalWrite(9, LOW);
delay(intervaloPisca);//500 milesegundos
digitalWrite(10, LOW);
digitalWrite(9, HIGH);
delay(intervaloPisca);
}
Créditos para https://cursodearduino.net/
Programa 2
Acender Led com intervalo de tempo em Arduino
void setup() {
// put your setup code here, to run once:
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
int intervaloPisca;
intervaloPisca = 700;
digitalWrite(10, HIGH);
digitalWrite(9, LOW);
delay(intervaloPisca);//500 milesegundos
digitalWrite(10, LOW);
digitalWrite(9, HIGH);
delay(intervaloPisca);
}
Créditos para https://cursodearduino.net/
void setup() {
// put your setup code here, to run once:
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
int intervaloPisca;
intervaloPisca = 700;
digitalWrite(10, HIGH);
digitalWrite(9, LOW);
delay(intervaloPisca);//500 milesegundos
digitalWrite(10, LOW);
digitalWrite(9, HIGH);
delay(intervaloPisca);
}
Créditos para https://cursodearduino.net/
02/01/2020
Programa 1 - Ligar led
Acender Led no arduino
void setup() {
// put your setup code here, to run once:
pinMode(10, OUTPUT);//ligar
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(10, HIGH);//liga
delay(1000);//a cada 1 seg
digitalWrite(10, LOW);//desliga
delay(1000);
}
Créditos para https://cursodearduino.net/
void setup() {
// put your setup code here, to run once:
pinMode(10, OUTPUT);//ligar
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(10, HIGH);//liga
delay(1000);//a cada 1 seg
digitalWrite(10, LOW);//desliga
delay(1000);
}
Créditos para https://cursodearduino.net/
31/12/2019
22/12/2019
SAP_Ev2
Simulação do modelo de um SAP1 no Logisim
Autor: Professor Giuliano - Microprocessadores - IFMT - Engenharia da Computação 2019/2
Clique aqui para fazer o download do arquivo feito no Logisim versão 2.7
Autor: Professor Giuliano - Microprocessadores - IFMT - Engenharia da Computação 2019/2
SAP1 |
Clique aqui para fazer o download do arquivo feito no Logisim versão 2.7
20/12/2019
HashSet em java
package conceito;
import java.util.HashSet;
import java.util.Set;
public class Main1 {
public static void main(String[] args) {
// TODO code application logic here
Set<String> lista = new HashSet<String>();
lista.add("a");
lista.add("a");//só vai adicionar elementos não repetidos
lista.add("b");
lista.add("c");
lista.add("d");
lista.add("d");só vai adicionar elementos não repetidos
for(String s : lista){
System.out.println(lista);
}
}
}
import java.util.HashSet;
import java.util.Set;
public class Main1 {
public static void main(String[] args) {
// TODO code application logic here
Set<String> lista = new HashSet<String>();
lista.add("a");
lista.add("a");//só vai adicionar elementos não repetidos
lista.add("b");
lista.add("c");
lista.add("d");
lista.add("d");só vai adicionar elementos não repetidos
for(String s : lista){
System.out.println(lista);
}
}
}
Saída gerada |
18/12/2019
Assinar:
Postagens (Atom)