Interactuando con un OLED y un acelerómetro (3 / 6 paso)

Paso 3: El código

Una vez que tengamos el cableado configurado, podemos usar el siguiente código para crear nuestro juego:

 <br><p>#include <JUGL.h><br>#include <SPI.h> #include <Wire.h> #include <JUGL_SSD1306_128x64.h> using namespace JUGL; SSD1306_128x64 driver; const int xpin = A3; //Assign pin A3 to x const int ypin = A2; //Assign pin A2 to y int x, y, x1, y1, r, varx, vary, width, height; //Define variables int xy [2]; //Array to hold (x,y) coordinate //Declaration of functions void Circle(IScreen& scr); void move_right(IScreen& scr); void stop_right(IScreen& scr); void move_left(IScreen& scr); void stop_left(IScreen& scr); void move_up(IScreen& scr); void stop_up(IScreen& scr); void move_down(IScreen& scr); void stop_down(IScreen& scr); void setup(){ IScreen& screen = driver; //Make reference to driver screen.Begin(); //Initialize screen width = screen.GetWidth(); //Get width of screen (128) height = screen.GetHeight(); //Get height of screen (64) Circle(screen); //Draw circle } void loop(){ x1 = analogRead(xpin); //Read x analog data y1 = analogRead(ypin); //Read y analog data IScreen& screen = driver; //Make reference to driver if(x1<500){ //Check if sensor is tilted to the right move_right(screen); //Move ball right if(varx>=width-1-r ){ //Check if ball reached end of screen stop_right(screen); //Stop moving } } if(x1>520){ //Check if sensor is tilted to the left move_left(screen); //Move ball left if(varx=height-1-r){ //Check if ball reached end of screen stop_up(screen); //Stop moving } } if(y1>510){ //Check if sensor is tilted down move_down(screen); //Move ball down if(varyr){ //Check if ball is within boundaries scr.Flush(); //Display on screen } } void stop_left(IScreen& scr){ scr.Clear(); //Clear screen varx = r; //Update varx xy[0] = varx; //Store new varx value scr.FillCircle(Point(5,xy[1]),r); //Draw circle scr.Flush(); //Display on screen } void move_up(IScreen& scr){ scr.Clear(); //Clear screen vary += 10; //Move ball 10 pixels up, assign value to vary xy[1] = vary; //Store new vary value scr.FillCircle(Point(xy[0],vary),r); //Draw circle if(varyr){ //Check if ball is within boundaries scr.Flush(); //Display on screen } } void stop_down(IScreen& scr){ scr.Clear(); //Clear screen vary = r; //Update vary xy[1] = vary; //Store new vary value scr.FillCircle(Point(xy[0],5),r); //Draw circle scr.Flush(); //Display on screen }</p> 

Artículos Relacionados

Arduino con el motor servo de acelerómetro

Arduino con el motor servo de acelerómetro

Aplicación de control de motor de ADXL345 acelerómetro 2 servo.Paso 1: Código de ArduinoControl de motor de servo ADXL345 acelerómetro 2#include < Wire.h >#include < Servo.h >Servo myservox;Servo myservoy;#define dispositivo (0x53)#define TO_R
Bluetooth/giroscopio/acelerómetro controlado Lightball (con leds ajustables individuales en cada lado)

Bluetooth/giroscopio/acelerómetro controlado Lightball (con leds ajustables individuales en cada lado)

Finalmente (casi el tópico) hice mi lightball personal.(A.k.a.: otro día en el FabLab de Aquisgrán)Cada lado es enlighted individualmente con un LED inteligente (WS2812b, en un protoboard pequeño) detrás. Un microcontrolador (MSP430G2553, PDIP.) pued
Arduino Nano: Sensor acelerómetro giroscopio MPU9250 brújula I2C con Visuino

Arduino Nano: Sensor acelerómetro giroscopio MPU9250 brújula I2C con Visuino

MPU9250es uno de los más avanzados sensores de tamaño pequeño acelerómetro, giroscopio y brújula actualmente disponibles combinados. Tienen muchas características avanzadas, incluyendo filtrado de paso bajo, detección de movimiento e incluso un proce
Acelerómetro ADXL 335 con Mediatek LinkIt uno tablero de interconexión

Acelerómetro ADXL 335 con Mediatek LinkIt uno tablero de interconexión

Utilizando MediaTek LinkIt uno Podrás interfaz ADXL 335.El ADXL335 es pequeña, delgada, de bajo consumo, acelerómetro de 3 ejes completacon la señal había condicionada salidas de voltaje.Paso 1: componentesADXL 335: El Sensor del acelerómetroUn table
Game Pad USB con inclinación-acelerómetro ratón

Game Pad USB con inclinación-acelerómetro ratón

Hacer un cojín con un acelerómetro dentro del juego!Este tutorial de proyecto le mostrará cómo puede convertir un gamepad de consola en un ratón de teclado USB para jugar en tu PC. El Gamepad USB se puede utilizar con casi cualquier software, como un
Visualización de ángulo con Edison, acelerómetro y Python de la inclinación

Visualización de ángulo con Edison, acelerómetro y Python de la inclinación

Hace poco compré una placa arduino de Edison de Intel. Después de parpadear el LED a bordo, que quería hacer algo un poco más interesante pero bastante simple. Después de leer Internet, me decidí por acelerómetro basado en detección de inclinación.Po
Guía de giroscopio y acelerómetro con Arduino incluye filtrado de Kalman

Guía de giroscopio y acelerómetro con Arduino incluye filtrado de Kalman

esta guía fue publicada primero en el foro de Arduino y se puede encontrar aquí: http://arduino.cc/forum/index.php/topic, 58048.0.htmlYo apenas había publicado, así que aún más conseguirá un uso. El código se puede encontrar aquí:https://github.com/T
Control de cero con un acelerómetro

Control de cero con un acelerómetro

entorno de programación Scratch el es muy popular entre los niños. Usando Arduino, podemos introducir control acelerómetro por lo que sus juegos pueden reaccionar a la inclinación del acelerómetro.Había cubierto los conceptos básicos en el instructiv
Controlador de Bluetooth juegos con acelerómetro y Arduino

Controlador de Bluetooth juegos con acelerómetro y Arduino

Todo el mundo le gusta jugar juegos en PC :) ¿Consolas de juegos llevan al siguiente nivel y es más diversión que hacer uno mismo? Aquí hemos construido una consola de juegos con acelerómetro, Arduino y Bluetooth. El acelerómetro en la consola de jue
* Preliminar * SPI en el Pi: comunicar con un acelerómetro de 3 ejes SPI con un Raspberry Pi

* Preliminar * SPI en el Pi: comunicar con un acelerómetro de 3 ejes SPI con un Raspberry Pi

guía paso a paso sobre cómo configurar Raspbian y comunicarse con un dispositivo SPI usando bcm2835 SPI biblioteca (no poco golpeado!)Todavía es muy preliminar... Necesito añadir más imágenes de conexión física, y trabajar a través del código torpe.P
Dados de acelerómetro con circuitos 123D

Dados de acelerómetro con circuitos 123D

este es el proyecto que Autodesk CEO Carl Bass un poco de atención adicional de la TSA en su camino a Tokio MakerFaire.  Aquí está un artículo sobre eso...Hicimos esto como forma de demostración de algunas cosas que puedes hacer con nuestras aplicaci
GY-521 MPU6050 giroscopio de 3 ejes y acelerómetro con Arduino

GY-521 MPU6050 giroscopio de 3 ejes y acelerómetro con Arduino

Este video tutorial va sobre la instalación y configuración de un tablero de GY-521 MPU6050 3 ejes giroscopio y acelerómetro con un Arduino. Después de algunos problemas iniciales con pude conseguir el componente de trabajo. Al principio tuve problem
Uso de un acelerómetro y un giroscopio con Arduino

Uso de un acelerómetro y un giroscopio con Arduino

he comprado recientemente una combinación de 3 ejes acelerómetro y giroscopio de 2 ejes de Sparkfun y quería publicar parte del código utiliza para conseguirlo ya está en marcha.  Estoy pensando en usarlo en un Arduino basado en controlador MIDI que
Acelerómetro con un tablero de Mediatek Linkit

Acelerómetro con un tablero de Mediatek Linkit

Hoy voy a mostrar cómo Mediatek Linkitone Junta trabaja con accellerometer ADXL335.El ADXL335 es pequeña, delgada, de bajo consumo, acelerómetro de 3 ejes completacon la señal había condicionada salidas de voltaje. La aceleración de las medidas de pr