Innehållsförteckning:
Video: Corona -klockan: 6 steg (med bilder)
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
När Coronaviruset sprider sig över planeten och fler och fler länder begränsar sina medborgare till sina egna hem för att bromsa viruset, är många av oss kvar i dagar utan att göra något. Lyckligtvis är Instructables här för att hjälpa till och med några idéer i åtanke verkade Instructables Clock -tävlingen som den perfekta passtiden:)
Om du också kämpar med tristess i hushållet på grund av coronafängsel, var inte rädd att Corona -klockan är här för dig, med en garanterad 2 dagars byggtid plus oändliga timmar med att titta på tiden flyga förbi med din nya Corona -klocka!
Så, tanken bakom klockan var att ha stålkulor på klockans frontplatta istället för händer som styrdes med magneter så att bollarna rörde sig som genom magi runt klockan. Den yttre bollen representerar minuter och den inre bollen representerar timmarna.
Jag designade alla CAD -filer med Autodesk Fusion 360.
Det hela är programmerat med en Arduino.
Jag hoppas att du gillar det här instruerbara och kanske du också kommer att tycka att det är den perfekta utskrifts-/byggutmaningen på fritiden.
Utan vidare kan vi bygga !!!
Tillbehör
ELEKTRONIK:
- 2x TowerPro SG90 Servos (länk här)
- 1x Arduino Nano (länk här)
- 1x Arduino Nano Shield (länk här)
- 1x Mini USB -kabel (länk här)
- 1x 5V USB -telefonladdare (länk här)
- 1x knappmoduler (länk här) !!! Se till att du köper samma modell som den här !!!
- Förpackning med kvinnliga till kvinnliga bygelkablar (länk här)
- 2x stålkulor mellan 10 och 15 mm i diameter
- 2x 15 mm diameter x 3 mm bredd Neodymium magneter (länk här) Jag skulle köpa mer än 2 om du bryter dem som jag gjorde:(
PLAST:
Delarna kan tryckas i PLA eller PETG eller ABS.
Du behöver två färgfilament för att få bästa resultat.
Observera att en 500 g spole av varje är mer än tillräckligt för att skriva ut 1 klocka
3D SKRIVARE:
Minsta byggplattform krävs: L130mm x B130mm x H75mm
Vilken 3d -skrivare som helst. Jag skrev personligen ut delarna på Creality Ender 3 som är en billig 3D -skrivare under 200 $. Utskrifterna blev perfekt.
Verktyg:
1x liten korsskruvmejsel är allt du behöver:)
Steg 1: 3D -utskrift av delarna
Alla delar är tillgängliga för nedladdning på Pinshape (länk här)
Jag har noggrant utformat alla klockdelar för att vara 3D -tryckta utan stödmaterial, flottar eller kantar som krävs vid utskrift.
Alla delar testades på Creality Ender 3
- Utskriftstid: Cirka 20 timmar
- Material: PETG
- Lagerhöjd: 0,3 mm
- Påfyllning: 15%
- Munstycksdiameter: 0,4 mm
Komponentlistan för klockan är följande:
Vit:
- 1x bas
- 1x lock
- 1x servohållare
- 1x kugghjul
- 1x servorack
- 1x inre cirkel
- 1x yttre cirkel
- 1x armförlängning
- 4x stift
- 2x knapphållare
- 2x fötterklämmor
Röd:
- 2x fötter
- 1x tallrik
Efterbehandling:
Om du inte har tur eller har en mycket dyr skrivare behöver några av delarna slipas där delarna roterar och glider mellan varandra
Steg 2: Installera Arduino
Corona Clock använder Arduino C ++ programmering för att fungera. För att ladda upp program till klockan kommer vi att använda Arduino IDE
Installera Arduino IDE på din dator
Arduino IDE (länk här)
För att säkerställa att koden fungerar i Arduino IDE följer du följande steg
- Ladda ner önskad Arduino -kod nedan (Corona Clock.ino)
- Öppna den i Arduino IDE
- Välj Verktyg:
- Välj styrelse:
- Välj Arduino Nano
- Välj Verktyg:
- Välj processor:
- Välj ATmega328p (gammal bootloader)
- Klicka på knappen Verifiera (kryss) i det övre vänstra hörnet av Arduino IDE
Om allt går bra bör du få ett meddelande längst ner där det står Klar kompilering. Och det är det du nu har slutfört steg 2 !!!
Steg 3: Koden
Här är en titt på koden för de av er som är intresserade. Du kommer troligen att behöva justera servoarmsförbättringarna för att kalibrera dem perfekt eftersom varje servos precision varierar.
#omfatta
Servo myservoPUSHER;
Servo myservoSLIDER;
const int buttonMinutes = 4;
int buttonStateMinutes = 0;
int FiveMinuteCounter = 0;
int OneHourCounter = 0;
osignerad long time_now = 0;
void setup ()
{Serial.begin (9600);
pinMode (buttonMinutes, INPUT);
myservoPUSHER.attach (2); myservoSLIDER.attach (3); myservoPUSHER.write (90); myservoSLIDER.write (90); fördröjning (5000); myservoPUSHER.detach (); myservoSLIDER.detach (); }
void loop ()
{FiveMinuteCounter = ((millis ()/1000) % (300)); // FiveMinuteCounter = 0 var 5: e minut
buttonStateMinutes = digitalRead (buttonMinutes);
Serial.print ("FiveMinuteCounter:");
Serial.print (FiveMinuteCounter); Serial.print ("OneHourCounter:"); Serial.print (OneHourCounter); Serial.print ("buttonStateMinutes:"); Serial.println (buttonStateMinutes);
// om knappen trycks in flytta minutbollen 5 minuter framåt
if (buttonStateMinutes == 1)
{myservoPUSHER.attach (2); myservoSLIDER.attach (3); myservoPUSHER.write (30); wait5seconds (); myservoSLIDER.write (130); wait5seconds (); myservoPUSHER.write (140); wait5seconds (); myservoPUSHER.write (90); wait5seconds (); myservoSLIDER.write (90); wait5seconds (); myservoPUSHER.detach (); myservoSLIDER.detach (); OneHourCounter ++; }
// om 5 minuter har gått flytta minutboll 5 minuter framåt
om (FiveMinuteCounter == 0)
{myservoPUSHER.attach (2); myservoSLIDER.attach (3); myservoPUSHER.write (30); wait5seconds (); myservoSLIDER.write (130); wait5seconds (); myservoPUSHER.write (140); wait5seconds (); myservoPUSHER.write (90); wait5seconds (); myservoSLIDER.write (90); wait5seconds (); myservoPUSHER.detach (); myservoSLIDER.detach (); OneHourCounter ++; }
// om minutboll har flyttat 12 gånger flytta timme boll 1 timme framåt
if (OneHourCounter> = 12) {myservoPUSHER.attach (2); myservoSLIDER.attach (3);
myservoPUSHER.write (65);
wait5seconds (); myservoSLIDER.write (50); wait5seconds (); myservoPUSHER.write (130); wait5seconds (); myservoSLIDER.write (90); wait5seconds (); myservoPUSHER.write (90); wait5seconds (); myservoPUSHER.detach (); myservoSLIDER.detach (); OneHourCounter = 0; }}
ogiltig vänta5sekunder ()
{time_now = millis (); medan (millis () <time_now + 500) {// vänta ca. 500 ms}}
Steg 4: Montering av Corona -klockan
Alla följande steg visas i Assembley -videon ovan
- Ladda upp koden till Arduino Nano
- Säkra Arduino Nano till Nano Shield
- Skruva fast en av servon på servoracket som visas i videon
- Placera servo- och servoracket i servohållaren och för kabeln genom spåret enligt bilden
- Anslut den servon till stift D2 på Nano -skärmen
- Anslut den andra servon till stift D3 på Nano -skärmen
- Skruva fast den andra servon på basen enligt bilden
- Anslut USB -kabeln till elnätet eller den bärbara datorn
- Anslut den andra änden av USB -kabeln till Arduino Nano i 2 sekunder tills servon når 90 -graders utgångsläge
- Koppla ur USB -kabeln från elnätet eller bärbar dator och Nano -skärm
- Placera en servoarm i servoförlängningen
- Skruva fast servoarmen på servon som är ansluten till stift D2 i 90 graders vinkel mot servokroppen exakt som visas på videon
- Anslut knappen till GND-, V +- och S -stiftet till D4 -stiftet på Nano Shield med 3 dupontkablar
- Sätt in de fyra stiften i basen på klockan
- Placera Arduino Nano -skärmen i basen
- Sätt in knappen i basen
- Säkra knappen på plats med knapphållaren
- För in fötterna i respektive plats i basen
- Säkra fötterna på plats med fötterna
- Anslut USB -kabeln till Arduino genom det återstående hålet i basen
- Sätt in servohållaren i basen över de fyra stiften Se till att installera den på rätt sätt (video)
- Fäst cirkelstyrstiftet på servohållaren
- Placera kvarvarande servoarm i kugghjulet
- Skruva fast servoarmen på den andra servon i 90 graders vinkel mot servokroppen och med servostativet placerat mitt i resan (video)
- Placera den inre cirkeln på plats magnethålet nedåt (6) (kabelutgångshål)
- Placera den yttre cirkeln på plats magnethålet uppåt (12)
- Sätt i magneterna med försiktighet (neodymmagneter är starka och kan orsaka skada på sig själva och andra om de kommer i kontakt med varandra)
- Placera plattan i locket som plattan ligger i linje med lockhålen
- Placera locket över toppen med nummer 6 vänd mot kabelutgångshålet
- Placera stålkulorna på toppen där de fastnar magnetiskt
Och det är klockan ska vara helt monterad och redo att fungera!
Steg 5: Ställ in Corona -klockan
För att ställa in klockan måste den yttre minutcirkeln starta i det övre 12 -läget.
lyckligtvis kan den inre timcirkeln börja i vilken position du vill
Du kan sedan fortsätta att slå på klockan genom att ansluta den och använda knappen för att justera minuter
och manuellt rotera stålkulan för att justera timmarna.
Steg 6: Tankar och designterterationer
Detta var ett fantastiskt projekt och utmanade mina tekniska förmågor till fullo!
Jag hade haft den här tanken i åtanke ett tag nu och för att faktiskt väcka detta projekt till liv är fantastiskt. Det var en kamp, särskilt att ta reda på tidsmekanismen och ett sätt att använda billiga 180 graders SG90 -servon för att driva den.
Det har tagit mig knappt en vecka full för att genomföra detta projekt. Jag har gått igenom minst 10 design -iterationer för att genomföra detta projekt, varav några på bilden ovan. Det var det värt, väl tillbringad tid!