Medlem
· Crow-Wing County
· 67 inlägg
Slott, drake och dansande pepparkaksgubbar kom vi fram till efter mycket kompromisser och skisser från barnen.
Huset är bakat och programmet skrivet. Nu är det "bara" själva monteringen kvar. Ni kan ju få tjuvkika på Ardiono styrningen så länge...
Huset är bakat och programmet skrivet. Nu är det "bara" själva monteringen kvar. Ni kan ju få tjuvkika på Ardiono styrningen så länge...
//
// Arduino control for Ginger Bread House 2013 Edition
//
// 2 blinkng leds (fire from dragons mounth)
// 2 servos (dragon and castle door)
// 1 steepper motor for dancing ginger bread figures
//
// Created by Henrik Ekblad - 2013
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// version 2 as published by the Free Software Foundation.
//
#include <SPI.h>
#include <EEPROM.h>
#include <Stepper.h>
#include <Servo.h>
#define DRAGON_MIN 100
#define DRAGON_MAX 130
#define DRAGON_STEPS (DRAGON_MAX-DRAGON_MIN)
#define DRAGON_FREQUECY 3000
#define DOOR_MIN 60
#define DOOR_MAX 140
#define DOOR_STEPS (DOOR_MAX-DOOR_MIN)
#define DOOR_FREQUECY 5000
#define SPIN_FREQUECY 10
Servo door;
Servo dragon;
// Stepper motor pins
int in1Pin = 6;
int in2Pin = 7;
int in3Pin = 8;
int in4Pin = 9;
Stepper motor(64, in1Pin, in3Pin, in2Pin, in4Pin);
void setup()
{
Serial.begin(115200);
// Red LED
pinMode(2, OUTPUT);
// Yellow LED
pinMode(3, OUTPUT);
// Door servo
door.attach(4);
// Dragon servo
dragon.attach(5);
// Init stepper motor pins
pinMode(in1Pin, OUTPUT);
pinMode(in2Pin, OUTPUT);
pinMode(in3Pin, OUTPUT);
pinMode(in4Pin, OUTPUT);
motor.setSpeed(300);
}
unsigned long spin = 0;
unsigned long door_t = 0;
bool door_open = 0;
unsigned long dragon_t = 0;
bool dragon_open = 0;
unsigned long spin_t = 0;
bool spin_open = 0;
void loop()
{
unsigned int angle;
unsigned long t = millis();
// Blink a LEDs (each 50 msec)
if (t/50 % 2) {
digitalWrite(2, 1);
digitalWrite(3, 0);
} else {
digitalWrite(2, 0);
digitalWrite(3, 1);
}
// Open/close door
if (t-door_t>DOOR_FREQUECY) {
if (door_open == 0) {
door_open = 1;
} else {
door_open = 0;
}
door_t = t;
}
// Calc and set door angle
angle = door_open==0 ? (t-door_t) : (DOOR_FREQUECY - (t-door_t));
angle = DOOR_MIN + ((float)angle) / ((float)DOOR_FREQUECY) * DOOR_STEPS;
door.write(angle);
// Turn step motor
if (spin_open == 0)
motor.step(1);
else
motor.step(-1);
if ( t-spin_t>1000*SPIN_FREQUECY ) {
if (spin_open == 0) {
spin_open = 1;
} else {
spin_open = 0;
}
spin_t = t;
}
// wiggle dragon
if (t-dragon_t>DRAGON_FREQUECY) {
if (dragon_open == 0) {
dragon_open = 1;
} else {
dragon_open = 0;
}
dragon_t = t;
}
// Calc and set dragon angle
angle = dragon_open==0 ? (t-dragon_t) : (DRAGON_FREQUECY - (t-dragon_t));
angle = DRAGON_MIN + ((float)angle) / ((float)DRAGON_FREQUECY) * DRAGON_STEPS;
Serial.println(angle);
dragon.write(angle);
}
Ok, allt verkar lira fint! Porten blev över förväntan. Dock hann barnen hann inte garnera det ikväll så det får bli ett nytt klipp till helgen när dom fått kristyra loss lite!
https://www.youtube.com/watch?v=JKzPyGwsXXI
Den runda plattan skall det "dansa" pepparkaksgubbar på.
https://www.youtube.com/watch?v=JKzPyGwsXXI
Den runda plattan skall det "dansa" pepparkaksgubbar på.
God Jul på er!
Då har kristyren (och smältlimmet) stelnat.
Rörlig version:
https://www.youtube.com/watch?v=qJ8q5SY96sA
Då har kristyren (och smältlimmet) stelnat.
Inloggade ser högupplösta bilder
Logga in
Skapa konto
Gratis och tar endast 30 sekunder
Inloggade ser högupplösta bilder
Logga in
Skapa konto
Gratis och tar endast 30 sekunder
Rörlig version:
https://www.youtube.com/watch?v=qJ8q5SY96sA
Jag lärde mig häromdagen att man kan göra ätbara fönster.
När väggarna ligger på plåten (på bakplåtspapper), innan de åker in i ugnen, så lägger man en ganska stor hög med krossade halstabletter, typ Vicks Blå, i fönsteröppningarna. Dessa smälter och blir vackra skimrande fönster. Vill man ha lite mer färg kan man lägga i t.ex. rosa halstabletter.
När väggarna ligger på plåten (på bakplåtspapper), innan de åker in i ugnen, så lägger man en ganska stor hög med krossade halstabletter, typ Vicks Blå, i fönsteröppningarna. Dessa smälter och blir vackra skimrande fönster. Vill man ha lite mer färg kan man lägga i t.ex. rosa halstabletter.
Redigerat: