30 Ejemplo S Arduino Proteus
30 Ejemplo S Arduino Proteus
com/2015/07/30-ejemplos-
practicos-con-arduino-nivel.html
Ejercicio 1 Blink
/*
* Intermitente
*
* Ejemplo básico con Arduino. Encendido y apagado de un led
* con una cadencia de 1 sg. usando el PIN 13 como salida
* no es necesario usar una resistencia para el led
* la salida 13 de Arduino la lleva incorporada.
*
* http://www.arduino.cc/en/Tutorial/Blink
*/
//Práctica de Luisdlahuerta
int ledPin = 13; // Definición de la salida en el PIN 13
void setup() //Configuración
{
pinMode(ledPin, OUTPUT); // designa la salida digital al PIN 13
}
void loop() // bucle de funcionamiento
{
digitalWrite(ledPin, HIGH); // activa el LED
delay(1000); // espera 1 seg. (tiempo encendido)
digitalWrite(ledPin, LOW); // desactiva el LED
delay(1000); // espera 1 seg. (tiempo apagado)
}
void setup() {
pinMode(ledPin,OUTPUT); //declaro el led como salida
pinMode(inPin,INPUT); //declaro el pin del boton como entrada
}
void loop() {
val=digitalRead(inPin); //Lee el valor de entrada del botón
if(val==HIGH){ //Chequea si el valor leido en el botón es
//alto "1"(boton presionado)
digitalWrite(ledPin,LOW); //pone el led en off
}else{
digitalWrite(ledPin,LOW); //apaga el led
delay(100); //retardo 100ms
digitalWrite(ledPin,HIGH);//enciende el led
delay(100); //retardo 100ms
}
}
void setup() {
pinMode(ledPin,OUTPUT); //establezco el pin del led como salida
pinMode(inPin,INPUT); //establezco el pin del boton como entrada digital
}
void loop() {
value = digitalRead(inPin); //lee el valor del botón en la entrada digital
digitalWrite(ledPin, value);
}
void setup() {
pinMode(ledPin,OUTPUT); //Declaro el led como salida
}
void loop() {
val=analogRead(potPin); //Lee el valor del potenciómetro
digitalWrite(ledPin,HIGH); //Enciende el led
delay(val); //Detiene el programa por un tiempo igual a la lectura
del potenciómetro
digitalWrite(ledPin,LOW); //Apaga el led
delay(val); //Detiene el programa por un tiempo igual a la lectura
del potenciómetro
//el coche fantastico 2 reduciendo las lineas de codigo con un ciclo FOR
//Práctica de Luisdlahuerta
int pinArray[]={2,3,4,5,6,7}; //se define el array de pines, y ahorramos
codigo
int count=0; //variable contador
int timer=100; //temporizador con un valor de 100ms
void setup() {
for(count=0;count<6;count++){ //Sentencia For cuenta parriba
pinMode(pinArray[count],OUTPUT); //configuramos todos los pines de
los leds como salida
}
}
void loop() {
for(count=0;count<6;count++){ //recorrido de ida, cuenta parriba con
For
digitalWrite(pinArray[count],HIGH); //Ponemos los led en High, alto
delay(timer);
digitalWrite(pinArray[count],LOW); //Apagamos los leds
delay(timer);
}
for(count=5;count>=0;count--){ //recorrido de vuelta, pabajo los leds
con for
digitalWrite(pinArray[count],HIGH); //Encendemos los leds
delay(timer);
digitalWrite(pinArray[count],LOW); //Apagamos los leds
delay(timer);
}
}
void setup(){
for(count=0;count<6;count++){ //Incremeto
pinMode(pinArray[count],OUTPUT); //Configuramos todos los pines de
una vez
}
}
void setup(){
int i;
pinMode(controlLed,OUTPUT); //configuramos los pines como
salida digital
for(i=0;i<lineSize;i++){
pinMode(pinArray[i],OUTPUT);
}
}
void loop()
{ //bucle
int i;
int tailCounter = tailLength; //Se establece la longitud de la
cola en un contador
digitalWrite(controlLed, HIGH); //Se enciende el led de control
para indicar el incio del loop
for (i=0; i<lineSize; i++) //For de incremento
{
digitalWrite(pinArray[i], HIGH); //Se encienden
consecutivamente los leds
delay(waitNextLed); //esta variable de tiempo controla
la velocidad a la que se mueve la estrella
if (tailCounter == 0) //aqui cuidado!! puse ; sin querer y
no daba con la falla XD
{
digitalWrite(pinArray[i-tailLength],LOW); //Se apagan los leds en
funcion de la longitud de la cola
}
else
if (tailCounter > 0)
tailCounter--;
}
for (i=(lineSize-tailLength); i<lineSize; i++)
{
digitalWrite(pinArray[i],LOW); //se apagan los leds
delay(waitNextLed);
}
}
int led=13;
int boton=7;
int valor=0;
int contador=0;
int estadoanteriorboton=0;
void setup(){
Serial.begin(9600); //configuración de los baudios de transmisión
para el puerto com
pinMode(led,OUTPUT); //inicializa como salida el pin digital 13 (led)
pinMode(boton,INPUT); //inicializa como entrada el pin digital 7
(boton)
}
Código
//Contador modificado
//Práctica de Luisdlahuerta
//es muy parecido al anterior sketch pero ahora al pulsar el boton
introducimos un "=" en el pin d7
//por lo tanto para que se encienda la salida del pin d13 hay que escribir en
ella un valor leido negado
//"!valor!
int led=13;
int boton=7;
int valor=0;
int contador=0;
int estadoanteriorboton=0;
void setup(){
Serial.begin(9600); //configuro la velocidad de los baudios
de transmisión
pinMode(led,OUTPUT); //inicializo como salida el pin digital
13
pinMode(boton,INPUT); //inicializo como entrada digital el
pin 7
digitalWrite(boton,HIGH); //habilito la resistencia interna pull-
up del pin d7
}
void loop(){
valor=digitalRead(boton); //leo el valor de la entrada d7, el
boton
digitalWrite(led,!valor); //Escribimos en la salida el valor leido
negado
if(valor!=estadoanteriorboton){
if(valor==1){
contador++;
Serial.print("Has pulsado ");
Serial.print(contador);
Serial.print(" Veces ");
Serial.write(10);
Serial.write(13);
}
}
estadoanteriorboton=valor;
}
//Contador de 0 a 10 ejercicio 12
//Práctica de Luisdlahuerta
//cuando el valor del contador llegue a 10 se pondrá en cero de nuevo
int led=13;
int boton=7;
int valor=0;
int contador=0;
int estadoanteriorboton=0;
void setup(){
Serial.begin(9600); //Configuro los baudios de transmision del
puerto com
pinMode(led,OUTPUT); //inicializa el pin 13 como salida digital
pinMode(boton,INPUT); //inicializa el pin 7 como entrada digital
}
void loop(){
valor=digitalRead(boton); //lee el valor del boton en pin d7
digitalWrite(led,valor);
if(valor!=estadoanteriorboton){
if(valor==1){
contador++;
Serial.print("Has pulsado ");
Serial.print(contador);
Serial.print(" veces");
Serial.write(10);
Serial.write(13);
if(contador==10){ //limito la cuenta a un valor de 10 para la
variable contador
contador=0;
}
}
}
estadoanteriorboton=valor;
}
16 comentarios:
1.
2.
2.
muy bueno gracias amigo estos ejemplos son muy prácticos para
uno que recién esta aprendiendo en Arduino, así familiarizarse con
este entorno variado y complejo =)
Responder
3.
4.
5.
1.
hola,
te recomiendo que leas y aprendas antes de
preguntar ,saludos .
Responder
6.
Hola ,
yo provengo de pic y ensamblador;
intento aprender cosas nuevas y he de decir que escribir tareas en
C,o sea lenguaje placa arduino o atmel procesador,lo encuentro mas
tedioso y con mas líneas de código que en ensamblador,
y por lo que leo por foros ,¿ como puede una persona montar un
robot, si ni siquiera sabe leer el código de colores de las
resistencias?.
saludos
Responder
7.
8.
9.
Jamil19 de enero de 2018, 22:00
10.
11.
12.
13.
Viva Willyrex
Responder