Introduction: Arduino Calendar [ENG & NL]

Hi, in this tutorial I'll show you how I made a automatic Arduino Calendar. If you want to see how I made the housing for the electronics, watch the video at the end of the Instructable.

Hallo, in deze tutorial laat ik zien hoe ik een automatische Arduino kalender heb gemaakt. Als u in detail wilt zien hoe ik de behuizing heb gemaakt, kijk dan de video aan het einde van de instructable.

Step 1: Requirements

Electronics:

- Arduino board (Uno, Yun, etc.)
- 4x AA batteries
- 4X Micro servo (4.5v - 6v)
- Breadboard & wires

Housing:
- 3x wood plates 3mm (44cm x 20cm or more)
- PVC tube(diameter 11cm)
- Stick 48cm or longer
- polyurethane foam

- Woodglue

- Nails

Step 2: Housing

The Housing for all the components will be 44cm wide, 20cm long and 20cm high.

- First make 2 big planks (44cm x 20cm). These are for the top and for the back of the housing.

- Make 2 smaller planks (19.4cm x 19.4cm for 3mm think planks). If you you use thicker planks for your housing, measure the sizes between the large planks to find the right size.

- Drill a hole in the center of the 2 smaller planks in which the stick you bought would fit perfect. (Example: for a 7mm thick stick, drill a 8mm hole.)

- Glue all the planks together in the same way I did in the picture. Use tape to keep it all together while the glue dries.

- Optional: Paint your housing in the color you want, this is the best moment for it.

De kast waarin alle elektronica in komt te zitten is 44cm breed, 20cm lang en 20 hoog.

- Zaag eerst 2 grote stukken van 44cm x 20 cm af. Deze planken zijn voor de bovenkant en achterkant.

- Zaag daarna 2 kleinere stukken van ongeveer 19.4cm x 19.4cm af als je 3mm dik hout gebruikt. Als je dikker hout gebruikt, meet dan zelf op hoeveel ruimte er tussen de twee grote planken zit

- Boor in het midden van de twee kleine planken een gat waar de stok die je hebt gekocht precies in past.

- Lijm alle planken aan elkaar zoals op de foto. Gebruik tape om alles bij elkaar te houden.

- Optioneel: Verf of beits de kast nadat de lijm droog is, dit is het beste moment.

Step 3: Cilinders

Now its time to make the cilinders for the months and days.

- Divide the tube you bought into 3 even parts. Make sure these will all fit inside your Housing and that there is at least 8cm of space left for the servo motors.

- Divide 1 of the tree parts into two smaller parts (These are for the day numbers; 09, 24, etc)

- Close off one side of the tubes and fill them with the foam you bought. Let it dry for a few hours. After it has dried, use a saw to cut off the remaining foam so it will be completely flat on both sides.

- Now print out your days, months and numbers and glue this to the tubes. DONT FORGET: servo motors can only turn 180 degrees, so make sure you only use half of the cilinders for the text.

Nu is het tijd om de cilinders te maken waar de maanden en dagen op komen te staan.

- Zaag de pvc buis in 3 gelijke delen. Zorg er voor dat deze in de kast passen en er in totaal ongeveer 8 cm ruimte overblijft voor de servomotoren.

- Zaag nu 1 van de 3 buizen door de helft, deze zijn voor de dagnummers (09, 24, etc.)

- Maak nu 1 kant van de buizen dicht en spuit de buizen vol met purschuim. Laat dit een paar uur drogen en zaag dan het overgebleven deel af. maak in het midden van het purschuim een gaatje die even groot is als de stok die er doorheen moet.

- Print nu de dagen en de nummers uit en plak deze op de buizen. Vergeet niet: de servo's draaien maar 180 graden. Je hebt dus maar de helft van de cilinder om te gebruiken.

Step 4: Middelste Servo's Aansluiten

Eerst moeten de middelste 2 servo's aangesloten worden. Deze zijn voor de dagnummers.

- Zaag eerst 3 plankjes uit die 16cm x 8cm lang zijn en verstevig die aan de onderkant met wat latjes. Op deze plankjes maken we straks de servo motoren vast.

- In 1 van de plankjes moet een gaatje geboord worden die precies door het midden gaat van de kast (20x20) zodat de stok er doorheen past.

- Zaag nu een stuk van de stok af zodat daar precies de 2 kleine cilinders op passen. Lijm de stok vast in het midden van het plankje

- Lijm nu de plank met de stok in het midden van de kast zoals op de foto. Nu kunnen de dagnummers op hun plek worden gezet.

- Maak nu 4 kleine, dunne plakjes van 10cm lang. lijm hier de "propellers" die bij de servomotoren zitten op vast. plak deze aan de zijkanten van de cilinders. Verstevig ze met spijkers als dat nodig is.

- Maak nu aan allebei de dagnummers een servo vast.

- Gebruik de twee planken van 16cm x 8cm nu om de motoren vast te zetten. Lijm de planken vast aan de kast en aan de achterkant van de servo motoren. (bekijk het plaatje bij stap 1 voor verduidelijking of kijk de video aan het einde van de instructable)

Step 5: Laatste Servo's En Cilinders

De laatste servo's aansluiten is een beetje lastiger, want er is niet veel ruimte meer over in de kast. De volgende stappen zijn een beetje ingewikkeld, dus kijk de video aan het einde als je het niet snapt.

- Lijm de laatste twee servo's nu vast aan de andere kant van het plankje waar de servo's op zitten.

- Als de lijm droog is, maak de cilinders vast aan de servo's

- Zaag twee stukken van de stok af die 3-5cm langer zijn dan de cilinders, en steek deze door de gaten in de kast. Lijm de stokken vast aan de kast en laat het drogen.

- Optioneel: Maak een kijkgat van overgebleven latjes voor de voorkant van de kast.

Step 6: Arduino Aansluiten

Deze Arduino opstelling is heel makkelijk te volgen. De servo motoren moeten gebruik maken van een externe stroombron omdat de Arduino boards niet sterk genoeg zijn voor 2 of meer motoren. Koop bij een elektronica zaak een bakje waar 4x AA batterijen in passen.

- Heel belangrijk: ALLE negatieve (ground) aansluitingen moeten met elkaar verbonden zijn, anders werkt het niet. Sluit alle zwarte kabels aan zoals op het plaatje en verbind deze met de GND aansluiting van het Arduino board.

- Alle positieve aansluitingen van de motoren moeten verbonden zijn met de positieve aansluiting van de batterij. Alle rode bij elkaar. De arduino moet hier niet mee verbonden zijn.

- Sluit alle Gele kabels aan op pin 9 t/m 12 van het Arduino board. Hier staat waar welke pin voor is:

- pin 9: Dag rechts
- pin 10: Dag links
- pin 11: Maand
- pin 12: Week (ma, di, wo, do, vrij, za, zo)

Step 7: Code

Hier de code voor de kalender met beschrijving:

#include

// Voegt 4 servo's toe aan het bestand
Servo Week;
Servo Day1;
Servo Day2;
Servo Maand;

// integers voor het draaien van de servo's (PosD2 staat op 138 omdat die in tegengestelde richting moet draaien)
int PosW = 0;
int PosD1 = 0;
int PosD2 = 138;
int PosM = 0;

void setup() {

// Sluit de servo's aan op pin 9 t/m 12
Week.attach(12);
Day1.attach(10);
Day2.attach(9);
Maand.attach(11);

}

void loop() {

// De kalender wacht iedere keer 1000ms voordat de volgende dag begint
delay(1000);

// Draait de week van maandag t/m zondag

if (PosW < 180)
{
PosW += 30;
Week.write(PosW);
}

// Draait de rechter dag cilinder van 0 t/m 9
if (PosD1 < 180)
{
PosD1 += 18;
Day1.write(PosD1);
}

// Draait de rechter dag weer terug als deze bij negen is en voegt 1 nummer aan de linker dag (bijv van 19 naar 20)
if (PosD1 == 180)
{
PosD1 -= PosD1;
PosD2 -= 46;
Day1.write(PosD1);
Day2.write(PosD2);
}

// Als de maand voorbij is, reset het de dagen weer naar het begin en gaat de maand vooruit
if (PosD1 == 18 && PosD2 == 0)
{
PosD1 -= PosD1;
PosD2 += 138;
PosM += 15;
Day1.write(PosD1);
Day2.write(PosD2);
Maand.write(PosM);
}

// Als zondag voorbij, draait de week weer terug naar maandag
if (PosW == 180) { PosW -= PosW; Week.write(PosW); }

//Als het jaar voorbij is, reset alle stats weer naar hun beginwaarde
if (PosM == 180)
{
PosD1 -= PosD1;
PosD2 += 138;
PosW -= PosW;
PosM -= PosM;
Day1.write(PosD1);
Day2.write(PosD2);
Week.write(PosW);
Maand.write(PosM);
}

}

Step 8: How It's Made - Instructievideo