B = Ports Digitais de 8 até 13
PORTB 5 = HIGH ou LOW
D D D D D D D D
DIGITAL PORT 1 1 1 1
- - 3 2 1 0 9 8
PORTB Bit 7 6 5 4 3 2 1 0
PORTB = 0x20 = 0 0 1 0 0 0 0 0
Sequencia de execução:
PORTB = DDRB = PORTB ^ 0x20
DDRB = PORTB = 0000 0000 ExclusieOR com 0010 0000 ---> = 0010 0000
então o bit 5 de DDB = 1 = Saída e PORTB 5 = 1 = HIGH então PortD13 Saída e HIGH
próxima passada
DDRB = PORTB = 0010 0000 ExclusieOR com 0010 0000 ---> = 0000 0000
então o bit 5 de DDB = 0 = entrada e PORTB 5 = 0 = HIGH então PortD13 entrada e LOW
Ok
Rui…
Adicionado por mineirin RV ao 18:52 em 9 abril 2016
motor realize essa tarefa?
obrigado
/* Pinos de Configuração do Deslocamento (no Easy Driver):
//////////////////////////////////////////////
// MS1 MS2 //
// //
// LOW LOW = Passo completo //
// HIGH LOW = Meio passo //
// LOW HIGH = Quarto de Passo //
// HIGH HIGH = Oitavo de Passo //
// //
//////////////////////////////////////////////
*/
#define step_pin 3 // Define o pino 3 como pino dos passos
#define dir_pin 2 // Define o pino 2 como pino de direção
#define MS1 5 // Define o pino 5 como "MS1"
#define MS2 4 // Define o pino 4 como "MS2"
int direcao; // Para determinar o sentido do motor
int passos = 200; // Número de passos que você deseja executar (para passos completos, 200 = 1 volta)
void setup() {
pinMode(MS1, OUTPUT); // Configura "MS1" como saída
pinMode(MS2, OUTPUT); // Configura "MS2" como saída
pinMode(dir_pin, OUTPUT); // Configura "dir_pin" como saída
pinMode(step_pin, OUTPUT); // Configura "step_pin" como saída
digitalWrite(MS1, LOW); // Configura divisão de passos do motor (ver acima)
digitalWrite(MS2, LOW); // Configura divisão de passos do motor (ver acima)
digitalWrite(dir_pin, LOW); // Sentido (HIGH = anti-horário / LOW = horário) - Também pode ser alterado
}
void loop() {
while(passos>=0) { // Enquanto o valor de passos for maior ou igual a zero
digitalWrite(step_pin, HIGH); // Envia nível lógico alto para o pino de passos do motor
delay(5); // Aguarda 5ms para o próximo passo
digitalWrite(step_pin, LOW); // Envia nível lógico baixo para o pino de passos do motor
delay(5); // Aguarda 5ms para o próximo passo
passos--; // Decrementa a variável "passos"
}
}
…
Estou tentando implementar um Display LCD 16x2, para que mostre os valores das entradas "ent_analog0, 1, 2, 3, 4, e 5", aparecendo assim então no DISPLAY.
Adicionado por Lucas Santos ao 22:04 em 2 janeiro 2018
te de 5 Volts...e de 5 em 5...até onde precisar).
Haja corrente!!!
Num monte de lugares, achei que pra dar certo é necessário tirar os terras e não deixar as carcaças delas em contato. Alguns disseram que pode ocorrer de aumentar o ripple. Solução: Dá lhe capacitores extras nas saídas (Talvez e melhor depois dos diodos).
Vamos para os testes. Mas só no meio da próxima semana. Tô ocupado esses dias, preparando a volta dos filhos pras escolas.…