Reakčná hra pre dvoch hráčov – Arduino Uno
Reakčná hra pre dvoch hráčov na arduino UNO.
Cílem projektu je navrhnout a sestavit obvod s krokovým motorem, který umožní řízení jeho rychlosti pomocí potenciometru. Tato technologie bude využitelná například při výrobě filamentu z PET lahví pro 3D tisk. Projekt zahrnuje výběr vhodného motoru, ovladače, potenciometru a mikrokontroléru, které budou propojeny a naprogramovány pro optimální funkci.
// Include the Arduino Stepper Library
#include <Arduino.h>
#include <AccelStepper.h>
// Define Constants
#define IN1 8
#define IN2 9 // #define IN2 10 je na arduinu připojen na pin 9 pro NEMA17 // pro 24BYJ #define IN2 9 je připojen na pin 9
#define IN3 10 // #define IN3 9 je na arduinu připojen na pin 10 pro NEMA17 // pro 24BYJ #define IN3 10 je připojen na pin 10
#define IN4 11
// Number of steps per output rotation
const int STEPS_PER_REV = 200;
const int SPEED_CONTROL = A0;
// The pins used are 1,2,3,4
// Connected to L298N Motor Driver In1, In2, In3, In4
// Pins entered in sequence 1-2-3-4 for proper step sequencing
AccelStepper stepper_NEMA17(AccelStepper::FULL4WIRE, IN1, IN3, IN2, IN4);
void setup() {
// Initialize the stepper motor speed to zero
stepper_NEMA17.setMaxSpeed(500);
}
void loop() {
// Read the sensor value
int sensorReading = analogRead(SPEED_CONTROL);
// Map it to a range from 0 to 100
int motorSpeed = map(sensorReading, 0, 1023, 0, 400);
// Set the motor speed
if (motorSpeed > 15) {
stepper_NEMA17.enableOutputs();
stepper_NEMA17.setSpeed(motorSpeed);
// Run the motor at the set speed
stepper_NEMA17.runSpeed();
} else {
// Stop the motor
stepper_NEMA17.disableOutputs();
stepper_NEMA17.stop();
}
// Display sensor and motor speed values for debugging
Serial.print("Potenciometr: ");
Serial.print(sensorReading);
Serial.print(" , Rychlost motoru: ");
Serial.println(motorSpeed);
}
Reakčná hra pre dvoch hráčov na arduino UNO.
Po prvních pokusech s moduly CC1101 433.92Mhz jsem se po čase rozhodl si vyzkoušet napsat program na jednoduché ovládání led diody tak aby jeden modul pravidelně vysílal hodnoty které se na druhém modulu vyhodnotí a tento pak bude pravidelně blikat led diodou. Po tomto programu a jeho odzkoušení jsem se rozhodl si napsat další program na zjištění číselných hodnot tlačítek na dálkovém ovladači pro bezdrátové zásuvky 433Mhz, a tyto pak ovládat dalším napsaným programem na zapínání a vypínání zásuvky. Pro ovládání jsem použil Arduino Nano které jsem pro testování osadil do Arduino IO shieldu, pro komunikaci mezi Arduino a modulem CC1101 jsem použit 8 – kanálový obousměrný převodník logických úrovní (5V – 3.3V) a pro napájení celé sestavy jsem použil vyrobený napájecí zdroj s výstupním napětím 8V pro napájení Arduino Nano, 5V a 3.3V pro napájení převodníku a modulu CC1101. Uvedené přípravky rozšiřují zapojení uveřejněná v [1].