Skip to content

Instantly share code, notes, and snippets.

View jcbrenes's full-sized avatar

Juan Carlos Brenes-Torres jcbrenes

View GitHub Profile
@jcbrenes
jcbrenes / InMoovHead01.ino
Created November 5, 2018 03:18
InMoov Robot Head movement with Arduino and joysticks
/*
Código para mover servomotores de la cabeza InMoov
*/
#include <Servo.h>
const int pinJoystickOjosX = A1;
const int pinJoystickOjosY = A0;
const int pinJoystickCuelloX = A3;
const int pinJoystickCuelloY = A2;
const int pinJoystickBoca = A4;
@jcbrenes
jcbrenes / muestreo_frecuencias.ino
Created May 14, 2017 21:03
Código arduino para muestrear un grupo de frecuencias. Usa la biblioteca FFT.h
/* prueba de la libreria de FFT
toma 256 muestras con fmuestreo variable, y a continuacion
calcula la FFT.
Luego envia 128 muestras por el puerto serie a 9600 baudios
*/
# define LIN_OUT 1 //salida lineal en 16 bits de resolucion
# define FFT_N 256 //transformada de 256 puntos
#include<FFT.h> //incluimos la libreria
@jcbrenes
jcbrenes / analizador_de_espectros.pde
Created May 14, 2017 21:01
Aplicación que grafica la amplitud de un grupo de frecuencias muestreadas
import processing.serial.*;
Serial myPort;
String data;
float fm;
float mod;
float sdat;
int cont=0;
PFont Ejex, textox;
int intensidad = 30;
@jcbrenes
jcbrenes / Arduino-Sharp-servo
Created December 1, 2016 04:40
Aplicación Arduino que monitorea un sensor Sharp y activa un servomotor en base a un valor límite del sensor
#include <Servo.h>
int LEDgrande = 3;
int sensorPin = A0;
int sensorValue= 0;
int outputValue= 0.0;
float promOutputValue = 0;
int pos= 0;
int pos_anterior=0;
unsigned long Timer;
@jcbrenes
jcbrenes / Concurrencia_java.java
Created November 26, 2016 05:58
Aplicación Java que define una clase Variable compartida con un dato entero de nombre valor. Hay 3 métodos: incrementar, decrementar y leer valor. Se lanzan 2 threads para incrementar y decrementar, y un tercer thread para leer valor. Todos comparten la instancia de la variable compartida
import java.io.IOException;
class VariableComp {
private int valor = 0;
private boolean disponible = true;
public VariableComp (int valorInicial){
valor= valorInicial;
}
@jcbrenes
jcbrenes / Llamadas_posix.cpp
Created November 26, 2016 05:28
Programa en C++ que utilice las llamadas del estándar POSIX de manejo de ficheros para implementar la siguiente funcionalidad: • Recibe por la línea de comandos el nombre de un fichero ficheros fich1 (puntero a char). • Fich1 debe existir ya en el sistema de archivos. • Mediante una función de nombre cuenta_car, que tenga como parámetro el nombr…
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <sys/wait.h>
#define BUFSIZE 1028
@jcbrenes
jcbrenes / Ejercicio_punteros_2.c
Last active November 26, 2016 05:26
Programa en C que contenga una función llamada contenido que: • Recibe como parámetros dos punteros a vector de enteros p1 y p2, siendo p1 mayor en longitud que p2 • En el caso de estar contenido p2 en p1, devuelva también (analizar las posibilidades y mecanismos) la posición a partir de la cual se encuentra. • En caso contrario copiará p2 al pr…
#include <stdio.h>
#include <time.h>
#include <stdbool.h>
bool Contenido (int *p1, int *p2, int tam_p1, int tam_p2, int *indice) {
int i,j;
bool parcial= false;
bool final= false;
//bucle para recorrer p1
for (i=0; i<tam_p1; i++){
@jcbrenes
jcbrenes / Ejercicio_punteros_1.c
Created November 26, 2016 05:24
Programa en C que contenga una función llamada contenido que: • Recibe como parámetros dos punteros a vector de enteros p1 y p2, siendo p1 mayor en longitud que p2 • Devuelve true si el vector apuntado por p2 esta contenido en p1
#include <stdio.h>
#include <time.h>
#include <stdbool.h>
bool Contenido (int *p1, int *p2, int tam_p1, int tam_p2) {
int i,j;
bool parcial= false;
bool final= false;
for (i=0; i<tam_p1; i++){
//printf("p1[i] =%d, p2[0]=%d \n", p1[i], p2[0]);
@jcbrenes
jcbrenes / Ejercicio_vectores.c
Created November 26, 2016 05:22
Programa en C que contenga una función llamada copiarArray que reciba dos arrays y el tamaño de los mismos (deben de ser del mismo tamaño) y que consiga copia en el segundo array el contenido del primero.
#include <stdio.h>
#include <time.h>
void copiarArray (int *v2, int *v1, int tamano) {
int i;
for (i=0; i<tamano; i++){
v2[i]=v1[i];
}
}
@jcbrenes
jcbrenes / Ejercicio2_3.c
Created November 26, 2016 05:21
Programa en C que pueda leer tantos números como se quiera hasta que llegue un cero. El resultado es la media de todos los números leídos.
#include <stdio.h>
main()
{
float numero;
float total=0.0;
int contador=0;
float promedio;
int i;
printf("\n*****Generador de promedios*****\nIntroduzca cada número y presione Enter.\nPara terminar introduzca 0 y presione Enter: \n");