
PROYECTOS

.
CÓDIGO EN JAVA (MOSTRAR LONGITUD DE UNA PALABRA O CONJUNTOS DE ALFABETO)
package codigo;
import java.util.Scanner;
public class Codigo {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
String cadena;
System.out.println("Digite una palabra o conjunto de letras");
cadena = entrada.nextLine();
int longitud = cadena.length();
System.out.println("La palabra " +cadena+ " tiene " +longitud+ " letras de longitud");
}
}
CÓDIGO MORSE REALIZADO EN C++

Codigo en C++
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
main()
{
int i,j;
char m[39][11]={{".-"},{"-..."},{"-.-."},{"----"},{"-.."},{"."},
{"..-."},{"--."},{"...."},{".."},{".---"},{"-.-"},{".-.."},
{"--"},{"-."},{"--.--"},{"---"},{".--."},{"--.-"},{".-."},{"..."},
{"-"},{"..-"},{"...-"},{".--"},{"-..-"},{"-.--"},{"--.."},{" "},
{"-----"},{".----"},{"..---"},{"...--"},{"....-"},{"....."},{"-...."},{"--..."},{"---.."},{"----."}};
char l[39]={'a','b','c','ch','d','e','f','g','h','i','j','k','l','m','n','ñ','o','p','q','r','s',
't','u','v','w','x','y','z',' ',
'0','1','2','3','4','5','6','7','8','9'};
char texto[100];
printf("Escriba una oracion incluyendo numeros \n");
gets(texto);
for(i=0; i<39; i++)
for(j=0; j<texto[i]; j++)
if(texto[i]==l[j])
printf("%s",m[j]);
getch();
return 0;
system ("pause");
}
Crear un traductor en JAVA








Crear un traductor a codigo binario en C++

código
#include<stdio.h>
#include <string.h>
#include <conio.h>
main()
{
char texto[300];
int contador=0, num,resul,cerosunos[20],i;
int clrscr();
printf("introduzca un texto para convertirlo a codigo binario:\n");
gets(texto);
while(contador < strlen(texto))
{
i=1;
num = texto[contador];
while(num>0)
{
resul = num%2;
if(resul==0)
{
cerosunos[i]=0;
i=i+1;
}
else
{
cerosunos[i]=1;
i=i+1;
num=num-1;
}
num=num/2;
}
i=i-1;
while(i>0)
{
printf("%i",cerosunos[i]);
i=i-1;
}
printf(" ");
contador = contador+1;
}
getch();
return 0;
}
CARRITO DETECTOR (NO CHOCA)
#include <SoftwareSerial.h>
#include <Servo.h>
// CONEXIONES PARA EL BLUETOOTH.
int bluetoothTx = 2;
int bluetoothRx = 3;
SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);
// MOTOR 1.
int Motor1A = 5;
int Motor1B = 6;
// MOTOR 2.
int Motor2A = 9;
int Motor2B = 10;
void setup ()
{
bluetooth.begin(115200);
bluetooth.print("$$");
delay(100);
bluetooth.println("U,9600,N");
bluetooth.begin(9600);
pinMode( Motor1A, OUTPUT );
pinMode( Motor2A, OUTPUT );
pinMode( Motor1B, OUTPUT );
pinMode( Motor2B, OUTPUT );
digitalWrite( Motor1A, LOW );
digitalWrite( Motor2A, LOW );
digitalWrite( Motor1B, LOW );
digitalWrite( Motor2B, LOW );
}
int flag1 = -1;
int flag2 = -1;
void loop()
{
if(bluetooth.available())
{
char toSend = (char)bluetooth.read();
if(toSend == 'S')
{
flag1 = 0;
flag2 = 0;
digitalWrite( Motor1A, LOW);
analogWrite( Motor1B, LOW);
digitalWrite( Motor2A, LOW),
analogWrite( Motor2B, LOW);
}
if( toSend == 'F' || toSend == 'G' || toSend == 'I')
{
if (flag1 != 1)
{
// ESTOS HARAN QUE VAYA PARA ADELANTE EL CARRITO.
flag1 = 1;
digitalWrite( Motor1A, HIGH);
analogWrite( Motor1B, 0 );
digitalWrite( Motor2A, HIGH);
analogWrite( Motor2B, 0 );
}
}
if(toSend == 'B' || toSend == 'H' || toSend == 'J')
{
if(flag1 != 2)
{
// ESTOS HARAN LA REVERSA DEL CARRITO.
flag1 = 2;
digitalWrite( Motor1B, HIGH);
analogWrite( Motor1A, 0 );
digitalWrite( Motor2B, HIGH);
analogWrite( Motor2A, 0 );
}
}
if(toSend == 'L' || toSend == 'G' || toSend == 'H')
{
if(flag2 != 1)
{
// ESTOS HARAN QUE GIRE HACIA LA IZQUIERDA.
flag2 = 1;
digitalWrite( Motor2B, HIGH);
analogWrite( Motor2A, 0 );
digitalWrite( Motor1A, HIGH);
analogWrite( Motor1B, 0 );
}
}
else
if(toSend == 'R' || toSend == 'I' || toSend == 'J')
{
if(flag2 != 2)
{
// ESTOS HARAN QUE GIRE HACIA LA DERECHA.
flag2 = 2;
digitalWrite( Motor1B, HIGH);
analogWrite( Motor1A, 0 );
digitalWrite( Motor2A, HIGH);
analogWrite( Motor2B, 0 );
}
}
else
{
if(flag2 != 3)
{
// SI TU SABES PARA QUE SIRVE ESTO DIME POR QUE SE LO PUSO UN AMIGO Y NI IDEA.
flag2 = 3;
digitalWrite ( Motor2A, LOW);
analogWrite ( Motor2B, LOW);
digitalWrite ( Motor2B, LOW);
analogWrite ( Motor2A, LOW);
}
}
}
}
DISPENSADOR
#include <Servo.h>
Servo servo;
int sensor = 12;
int estado;
//Configuracion de entrada, salida y posicion inicial del servo:
void setup() {
servo.attach(3);
pinMode (sensor, INPUT);
servo.write(0);
}
//Movimiento del servo
void loop() {
estado = digitalRead(sensor);
if (estado == LOW){
servo.write(0);
delay(500);
servo.write(40);
delay(500);
}
}
CONTADOR DE PULSOS
int conta = 0;
void setup() {
Serial.begin(9600);
pinMode(2,INPUT);
}
void loop() {
if ( digitalRead(2) == HIGH)
{
if (digitalRead(2) == LOW )
{
conta++;
Serial.println(conta);
delay(100);
}
}
if (conta == 5)
{
digitalWrite(13,HIGH);
}
if (conta == 8)
{
digitalWrite(13,LOW);
}
}
CODIGO MORSE CON ARDUINO
unsigned long signal_len,t1,t2; //Variables para el tiempo que se presiona un botón
int inputPin = 2; //Pin de entrada del pulsador
int ledPin = 4; //Pin de salida para el led
String code = ""; //Variable que almacena un alfabeto
void setup() {
//Se configura la conexión serial y los pines de entrada y salida
Serial.begin(9600); //Frecuencia
pinMode(inputPin, INPUT_PULLUP); //Ayuda a recibir la entrada en el pin 2
pinMode(ledPin, OUTPUT); //Pin de salida
}
void loop()
{
NextDotDash:
while (digitalRead(inputPin) == HIGH) {}
t1 = millis(); //Tiempo al presionar el botón
digitalWrite(ledPin, HIGH); //LED encendido mientras se presiona el botón
while (digitalRead(inputPin) == LOW) {}
t2 = millis(); //Tiempo en que no está presionado el botón
digitalWrite(ledPin, LOW); //LED apagado cuando no está presionado el botón
signal_len = t2 - t1; //Tiempo total en que es presionado el botón
if (signal_len > 50) //Toma en cuenta el anti rebote del botón
{
code += readio(); //Función para leer punto o guión
}
while ((millis() - t2) < 500) //Si el tiempo entre punto o guión ingresado es mayor a 0.5 segundos, termina el bucle y recibe el siguiente alfabeto
{
if (digitalRead(inputPin) == LOW)
{
goto NextDotDash;
}
}
convertor(); //Función para descifrar el código en el alfabeto
}
//Función para la lectura de puntos o guiones
char readio()
{
if (signal_len < 600 && signal_len > 50)
{
return '.'; //Si el botón es presionado menos de 0.6 segundos, será un punto
}
else if (signal_len > 600)
{
return '-'; //Si el botón es presionado más de 0.6 segundos, será un guión
}
}
//Función para convertir puntos y guiones en alfabeto
void convertor()
{
static String letters[] = {".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-",
".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--..", "E"
}; //Combinaciones para las letras
int i = 0;
if (code == ".-.-.-") //Si la secuencia es la anterior, imprimirá en pantalla un punto
{
Serial.print(".");
}
else if (code == "-.-.-.") //Si la secuencia es la anterior, imprimirá en pantalla un espacio
{
Serial.print(" ");
}
else
{
while (letters[i] != "E") //Ciclo para comparar las letras del arreglo
{
if (letters[i] == code) //Revisa la posición en variable "letters" y la compara con el alfabeto llamado "code", mientras avanza la variable "i"
{
Serial.print(char('A' + i)); //Recorre el alfabeto que todos conocemos desde la "A" hasta la "Z" con la varible "i"
break; //En cuanto encuentra la letra se sale del ciclo
}
i++;
}
if (letters[i] == "E") //Si el alfabeto ingresado no es ninguna de las combinaciones anteriores, entonces será "E"
{
Serial.println(" "); //En este caso la "E" será ENTER o salto de línea
}
}
code = ""; //Reseteamos el alfabeto esperando que se ingrese un nuevo caracter
}
SISTEMAS DE ALARMAS CON ARDUINO Y SENSORES (ÓPTICO, ULTRASONICO)


Codigo del programa:
long dis;
long dis2;
long tiem;
int led1 = 6;
const int sensor1 = 7;
const int sensor2 = 8;
void setup( ){
Serial.begin(9600);
pinMode(3, OUTPUT); //salida del pulso generado por el sensor ultrasónico cuarto
pinMode(4, INPUT);//entrada del pulso generado por el sensor ultrasónico cuarto
pinMode(9, INPUT);//salida del pulso generado por el sensor ultrasónico casa
pinMode(10, INPUT);//entrada del pulso generado por el sensor ultrasónico casa
}
void loop(){
digitalWrite(10,LOW);//recibimiento del pulso.
delayMicroseconds(5);
digitalWrite(10, HIGH);//envió del pulso.
delayMicroseconds(10);
tiem=pulseIn(9, HIGH);//fórmula para medir el pulso entrante.
dis= long(0.017*tiem);//fórmula para calcular la distancia del sensor ultrasónico.
digitalWrite(3,LOW);//recibimiento del pulso.
delayMicroseconds(5);
digitalWrite(3, HIGH);//envió del pulso.
delayMicroseconds(10);
tiem=pulseIn(3, HIGH);//fórmula para medir el pulso entrante.
dis2= long(0.017*tiem);//fórmula para calcular la distancia del sensor ultrasónico.
if(dis>10){ //comparativo para la alarma se ingresa la distancia en la que encenderá o apagara.
Serial.println("entro una persona a la casa");
}else if(digitalRead(sensor1)== HIGH){
Serial.println("entro una persana entro a la sala");
}else if(digitalRead(sensor2)== HIGH){
Serial.println("entro una persona entro al comedor");
}else if (dis2>3){
Serial.println("una persona entro al cuarto");
}else{
}
delay(500);
}
SENSOR DE DISTANCIA CON ARDUINO (ULTRASONICO)
CODIGO DEL PROGRAMA:
#include <LiquidCrystal.h>
LiquidCrystal lcd(1, 2, 4, 5, 6, 7);
const int trigPin = 9;
const int echoPin = 10;
long duration;
int distanceCm, distanceInch;
void setup() {
lcd.begin(16,2); // Initializes the interface to the LCD screen, and specifies the dimensions (width and height) of the display
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distanceCm= duration*0.034/2;
distanceInch = duration*0.0133/2;
lcd.setCursor(0,0); // Sets the location at which subsequent text written to the LCD will be displayed
lcd.print("Distance: "); // Prints string "Distance" on the LCD
lcd.print(distanceCm); // Prints the distance value from the sensor
lcd.print(" cm");
delay(10);
lcd.setCursor(0,1);
lcd.print("Distance: ");
lcd.print(distanceInch);
lcd.print("inch");
delay(10);
}