CNC conversie WMD16LV kolomfrees X-as 3d geprinte adapter voor NEMA23 en M3 tandriem en tandwielen

Nieuwe versie met beschermkap:

Je kunt de hele bodem en de beschermkap met de bevestigingskolommen voor de stappenmotor in één keer 3dprinten, zoals ik heb gedaan in rood ABS bij 270 graden C

Voor deze opstelling heb je nodig

1 stuks Nema23 stappenmotor met 56 lengte en 6.35 mm as
1 wiel met 12 tandjes M3 met kraag, gat-ø 6.35 mm, 11 mm breed
1 wiel met 24 tandjes M3 met GEEN kraag, gat-ø 10 mm, 11 mm breed
Getande M3 riem, 9 mm breed en lengte 255 of 275 mm (moet dit controleren)
3D geprinte onderdelen
M8 ringen en moer

Hier wordt de verbinding getoond op de X-as / loodspil lagerhouder met 2 M6 schroeven

Deksel:

En het freesontwerp voor de bodemplaat voor CNC-bewerking in aluminium mocht je dit liever hebben.

Het 3D-printbestand voor het deksel en de profielen voor de stappenmotor, te plaatsen op de aluminium gefreesde grondplaat:

GA NAAR de Y as tandriem adapter

GA NAAR de Z as tandriem adapter

DOWNLOAD THE CNC ADAPTER DESIGNS  as STL

Please donate $1 to my paypal account if you use (parts of) my developed materials so I can continue to share nice stuff for you to download

 

CNC conversie WMD16LV kolomfrees Y-as 3d geprinte adapter voor NEMA23 en M3 tandriem en tandwielen

Het ontwerp voor de Y-as montageplaat voor de Nema23 stepper is hieronder te zien en kan 3dprinted worden of, zoals ik ga doen nadat het geprinte deel goed blijkt te passen, CNC in aluminium op mijn CNC Indymill router.

De Y-as adapter bleek het moeilijkste ontwerp te zijn.  Het kostte me 15 proefprints voordat ik alles volledig geoptimaliseerd had.  En ik wilde ook een debree scherm hebben met een verwijderbaar deksel, wat wat energie kostte om dit te testen.  Ook moet de riem een schone route hebben waar hij tussen het wiel zit.

De fysieke gegevens voor deze opstelling:

  • Nema23 stappenmotor
  • 3D geprinte onderdelen:
    • a: Baseplate inclusief stijgprofielen voor de motorbevestiging en afscherming;
    • b: deksel
  • Tandwiel voor de Nema23 8mm as: 10mm breed, 24 tanden M3 met borst
  • Tandwiel voor de loodspil 10mm as: 10mm breed: 48 tanden M3 met borst, gefreesd op de getande binnenkant 9mm diepte met een breedte van 33 mm diameter om te passen in de borst van de loodspil lagerhouder
  • De tandriem is 9mm breed, 300 mm lang en heeft 100 tanden (M3)

Uiteindelijke ONTWERP:

Het binnenste deel op de draaibank gefreesd zodat het ongeveer 9 mm over de lagerhouder van de Y-as kan schuiven

En nu kan het wiel over de lagerhouder naar rechts
Dit bespaart 9 mm inbouwruimte en nu kan het bewerkte handwiel worden vervangen, indien gewenst.  Maar het handwiel moet eerst worden bewerkt, om de aanduidingsring eraf te krijgen.

de kleine gaatjes kunnen worden gebruikt om het deksel op het spatscherm te plaatsen met kleine schroeven van 2,5 mm dia Of, je kunt het deksel eraf laten en er een wiel op zetten zoals ik heb gedaan op de Z-as.  Je moet de draaiknop van het wiel affrezen zodat hij dun genoeg wordt om op het overgebleven M8 draadeind te monteren.  Een klein stukje van de 10mm as zal bij mijn methode uitsteken om het handwiel gecentreerd te houden.

GA NAAR de X as tandriem adapter

GA NAAR de Z as tandriem adapter

DOWNLOAD THE CNC ADAPTER DESIGNS   as STL!

Please donate $1 to my paypal account if you use (parts of) my developed materials so I can continue to share nice stuff for you to download

 

Windbelt door Shawn Frayne

Met de windbelt van Shawn Frayne kun je op elk plekje waar de wind waait energie opwekken.

Ook al is het maar weinig, je kan er je telefoon (langzaam) mee opladen..

Shawn Frayne patenteerde zijn uitvinding en maakte het gratis voor persoonlijk gebruik!

Na een paar jaar ging Shawn over op andere ontwikkelingen.

Het gebruik en de toepassingen van riemaangedreven generatoren voor elektrische energie zijn zeldzaam en worden zelden gebruikt.

De uitdaging ligt in de levensduur van de riem, die moet oscilleren om stroom op te wekken.

Voor eenvoudige toepassingen wordt meestal een oude VHS-band als riem gebruikt.

Als je een grotere lengte riem wilt gebruiken, kun je een dikkere riem gebruiken, maar dan moet hij wel gemakkelijk kunnen oscilleren in de wind.

Lees mijn artikel over hoe dit werkt:

DHZ Windbelt

Wind Power Revolution _ Eco Wanderer

Micro Humdinger by Shawn Frayne, first prototype

ID/DS downloads NL

Achteruitrijlamp

afhangen plaatwerk id-ds

ALG-4-12 ALG-13-17 ALG-18-26 ALG-27-30 ALG-32-35 ALG-42-51 ALG-52-58

Banden Michelin ID-DS

banden-omtrek

Citroen

Conservering-instructies

Conservering-kofferbak

Conservering-restauratie

Dakrand reparatie ID-DS

Doorsmeren 5000km

DS handboek DI volgnummer 01 Pagina DI 0 Voorblad

DS handboek DI volgnummer 02 Handelingen 000-001 Pagina DI 1-8

DS handboek DI volgnummer 03 Handelingen 002-100 Pagina DI 9-26

DS handboek DI volgnummer 04 Handelingen 100-142 Pagina DI 26-61

DS handboek DI volgnummer 05 Handelingen 142-144 Pagina DI 63-74

DS handboek DI volgnummer 06 Handelingen 144-144 Pagina DI 75-76

DS handboek DI volgnummer 07 Handelingen 144-144 Pagina DI 77-95

DS handboek DI volgnummer 08 Handelingen 144-144 Pagina DI 96-98

DS handboek DI volgnummer 09 Handelingen 144-144 Pagina DI 99-100

DS handboek DI volgnummer 10 Handelingen 144-144 Pagina DI 101-117

DS handboek DI volgnummer 11 Handelingen 144-144 Pagina DI 102

DS handboek DI volgnummer 12 Handelingen 144-144 Pagina DI 119-124

DS handboek DI volgnummer 13 Handelingen 144-144 Pagina DI 125-126

DS handboek DI volgnummer 14 Handelingen 173-210 Pagina DI 127-138

DS handboek DI volgnummer 15 Handelingen 210-210 Pagina DI 139-140

DS handboek DI volgnummer 16 Handelingen 210-220 Pagina DI 143-154

DS handboek DI volgnummer 17 Handelingen 230-314 Pagina DI 155-171

DS handboek DI volgnummer 18 Handelingen 142-144 Pagina DI 173-178

DS handboek DI volgnummer 19 Handelingen 142-144 Pagina DI 179-204

DS handboek DI volgnummer 20 Handelingen 142-144 Pagina DI 205-224

DS handboek DI volgnummer 21 Handelingen 390-430 Pagina DI 225-242

DS handboek DI volgnummer 22 Handelingen 142-144 Pagina DI 243-278

DS handboek DI volgnummer 23 Handelingen 142-144 Pagina DI 279-280-eind

DS handboek DII volgnummer 24 Handelingen 142-144 Pagina DII Voorblad

DS handboek DII volgnummer 25 Handelingen 142-144 Pagina DII 3-33

DS handboek DII volgnummer 26 Handelingen 100-100 Pagina DII 35-50

DS handboek DII volgnummer 27 Handelingen 100-100 Pagina DII 51-58

DS handboek DII volgnummer 28 Handelingen 142-144 Pagina DII 59-62

DS handboek DII volgnummer 29 Handelingen 142-144 Pagina DII 62-66

DS handboek DII volgnummer 30 Handelingen 112-112 Pagina DII 67-84

DS handboek DII volgnummer 31 Handelingen 112-122 Pagina DII 85-92

DS handboek DII volgnummer 32 Handelingen 142-144 Pagina DII 93-115

DS handboek DII volgnummer 33 Handelingen 142-144 Pagina DII 115-141

DS handboek DII volgnummer 34 Handelingen 142-144 Pagina DII 142-143

DS handboek DII volgnummer 35 Handelingen 142-144 Pagina DII 145-147

DS handboek DII volgnummer 36 Handelingen 330-334 Pagina DII 149-160

DS handboek DII volgnummer 37 Handelingen 334-334 Pagina DII 161-176

DS handboek DII volgnummer 38 Handelingen 334-350 Pagina DII 177-188

DS handboek DII volgnummer 39 Handelingen 142-144 Pagina DII 214-238

Dubbel:  BII 0097_001 BII 0098_001 BII 142-143 BII 239-260 BII 261-276 BII 277-292 BII 293-306 BII 307-316 BII 317-326 BII 326-eind

Dubbel: DI 1-8 DI 9-26 DI 26-61 DI 63-76 vouwpagina eerste deel DI 75-76 DI 77-95 DI 96-98 DI 99-100 DI 101-102 DI 101-117 DI 119-124 DI 125 fout vouwpagina mist 2 delen A4 DI 125-126 DI 127-138 DI 139-140 DI 173-178 DI 179-204 DI 243-278 DI 279-280-eind DI Voorblad DII 3-33 DII 59-62 DII 62-65 DII 93-115 DII 115-141 DII 145-147 DII 214-238 DII Voorblad

Elektra-schema uitleg

GereedschapMededelingen

Goot-schelp reparatie ID-DS

Hogedrukregelaar-werking

hydrauliek werking deel 1

hydrauliek werking deel 2

Hydrauliekolie vervangen

Hydrauliek-uitleg

instructieboekje-DS-3e-neus-NL

Koplamp demping revisie

koplamp facelift

koplampen afstellen

lekzak achter ID-DS

lekzak voor ID-DS

LPG in DS

Luchtfilter reinigen

plaatwerk afhangen

Remaccu-voorraadbol-werking

revisiehoogtregelaards

S1-2 S1-8 S3-7 S7-15 S9-15 S16-20 S16-22 S22-32 S33 S34-36 SB-135D-140D SB-141D-148D SB-149D-153D SB-154D-159D SB-161D-164D SB-165D-166D SB-167D-175D SB-176D-185D SB-186D-194D SB-195D-200D SB-201D-202D SB-203D-206D SB-208D-212D

Schokbreker-werking

ServiceBulletins

stuurhuis afstellen lek rondsel

stuurhuis afstellen

stuurhuis controleren op speling

Stuurhuis lek

stuurhuishoes vervangen

stuurwiel vervangen

technischeMededelingD55

technischeMededelingen

Temperatuurmeter inbouw

TM-1-4 TM-4(4D) TM-6-17 TM-19-28 TM-29-32 TM-37-43 TM-44-45 TM-46-52 TM-53-58 TM-59-68 TM-69-78

Ventilator-regelbaar

vetnippels op draagarmen

 

Engelstalige manuals:

Camshaft characteristics and valve settings Citroën DS21 DX2 types, 1974

Repair manual Citroën for all D types volume 1, December 1974

Repair manual Citroën for all D types volume 2, December 1974

PART 3 manual ID/DS English // Electrical System

PART 4 manual ID/DS English // Bodywork

Wiring Diagram, Cabling, Bulbs and wiring colors Citroën DX DJ DY DT DV from September 1969 onwards

Wiring Diagram only – Citroën DX DJ DY DT DV from September 1969 onwards

Ronde klok WS2812 & Arduino nano

READ THIS ARTICLE IN ENGLISH

In de bovenstaande video zie je alle benodigde onderdelen voor de electronica.  Een arduino Nano, een tijdmodule LS3231 met batterij back-up en een 4-delige ring met elk 15 stuks WS2812 LED’s die zorgen voor een 160mm 60 LED units klok.  Je kunt hem bouwen als een open gebouwde unit zoals hierboven afgebeeld met draad of in een 3d printbare slanke behuizing die ik heb ontwikkeld.  Zie de foto’s hieronder.

Voor het bouwen van deze mooie nauwkeurige klok, kun je mijn ontwerp files voor de behuizing gebruiken op elke 3d printer die een horizontale bed size heeft van minimaal 165x165mm.

Pak de beide print STL’s . HIER. van de Prusa gedeelde site waar ik deze ontwerpen heb geupload. (Als de link breekt, zoek op de prusa site naar ws2812 circulaire arduino klok).

OF haal het STL bestand voor de VOORKANT van de klok van mijn website HIER

EN haal het STL bestand voor de achterkant van de klok van mijn website HIER

Eén STL is voor de achterkant en bevat de Nano box, de andere is voor de voorkant van de klok.  Positioneer de achterste STL 180 graden (dus omhoog gaat omlaag) in uw slicer, zodat zowel de doos als de LED-behuizing op Z-0 niveau zijn, d.w.z. naar beneden gericht op hetzelfde horizontale niveau.   De voorkant kan het best geprint worden met de platte kant naar beneden.  ABS is niet aan te raden omdat het minder stijf is, maar zal waarschijnlijk ook werken.  Voor mij werkt PETG of PLA het beste.

Gebruik wit filament voor het voorste deel, de achterkant kan elke kleur zijn die je wilt.

In de cirkel worden de 4 WS2812 LED segmenten in 1 volledige cirkel van ongeveer 160mm geplaatst.

Als je de elektronica aan de achterkant hebt aangesloten, schuift de voorkant er zo overheen. Geen lijm nodig.  Maar de LED ring kan best op 4 plaatsen met een druppel hotglue aan de basis van de achterste behuizing gelijmd worden.  Dit kun je het beste doen als je zeker weet dat alles goed werkt.

De LED onderdelen zijn verkrijgbaar op o.a. banggood , aliexpress en zo, zoek naar 60LED circle WS2812 die de 160 mm buitendiameter heeft.

Elke LED vertegenwoordigt een punt voor seconden, minuten of als uur indicator.

De kleuren detemine de functie.  Blauw wordt ook gebruikt als kwartier indicator met minder intensiteit, om een gevoel van positionering te hebben voor de andere LEDS als het donker is.

Kijk naar de video hierboven van het ‘open’ demonstratiemodel om te begrijpen hoe het werkt.

Hieronder vindt u de Arduino code voor de gebruikte Nano3, as-is. het werkt voor mij, en in de code vindt u ook alle benodigde elektrische aansluitingen en de specificaties van de gebruikte Time module.

Wanneer aangesloten op je PC, kun je de Arduino programmeren en via de seriële interface kun je naderhand speciale instellingen van de klok wijzigen, zoals helderheid, speciale kwartierverlichtingsindicatoren, enzovoort. het staat allemaal in de code hieronder.

De aansturing kan via een seriële interface met de usb ingang van de Arduino, via een terminalprogramma zoals YAT of met de interface van het Arduino IDE programma.

De commando’s zijn:

f; fader UIT
F; fader AAN
m (getal); dim de 4 blauwe marker LED’s met waarde (getal)
S; synchroniseren met RTC tijd
s; synchroniseren met systeemtijd (computer)
t (tijd); systeemtijd veranderen in:
b; helderheid van alle niet-marker LED’s

Doneer a.j.b. $1 aan mijn paypal account als je (delen van) mijn ontwikkelde materialen gebruikt, zodat ik kan doorgaan met het delen van leuke dingen voor jou om te downloaden

Ik hoop dat alles goed gaat lukken!

Succes,

Jan

De Arduino code, te gebruiken voor het programmeren van de Arduino Nano3 is beschikbaar onderaan dit bericht als platte tekst om te importeren in een leeg arduino bestand (met kopiëren en plakken).

Zorg ervoor dat je alleen de bibliotheken en tijdmodule gebruikt die in de code zijn aangegeven!  De gebruikte tijdmodule is van de betere generatie die de tijd zeer goed vasthoudt, ook in stand-by.

Gebruik voor het verbinden van de draden tussen de neopixel segmenten, de arduino en de tijdmodule een temperatuurgeregelde soldeerbout.  Gebruik een ventilator als je aan het solderen bent en adem geen giftige gassen in tijdens het solderen.

De Arduino code is hieronder weergegeven, te importeren in Arduino IDE in een .ino bestand.  Met de Arduino IDE moet je vervolgens de code compileren om de Arduino Nano geflasht te krijgen met het programma.


/**
* NeoClock
*
* Clock using 60 WS2812B/Neopixel LEDs and DS3231 RTC
* Small changes and updates made by jan Griffioen, Amsterdam Europe 2018-2021
* Libraries needed:
* * Adafruit NeoPixel (Library Manager) – Phil Burgess / Paint Your Dragon for Adafruit Industries – LGPL3
* *
* * Arduino Timezone Library (https://github.com/JChristensen/Timezone) – Jack Christensen – CC-BY-SA
* * Time Library (https://github.com/PaulStoffregen/Time) – Paul Stoffregen, Michael Margolis – LGPL2.1
*/

#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif

#if defined(ESP8266)
#include <pgmspace.h>
#else
#include <avr/pgmspace.h>
#endif

/* for software wire use below
#include <SoftwareWire.h> // must be included here so that Arduino library object file references work
#include <RtcDS3231.h>

SoftwareWire myWire(SDA, SCL);
RtcDS3231<SoftwareWire> Rtc(myWire);
for software wire use above */

/* for normal hardware wire use below */
#include <Wire.h> // must be included here so that Arduino library object file references work
#include <RtcDS3231.h>
RtcDS3231<TwoWire> Rtc(Wire);
/* for normal hardware wire use above */

#include <TimeLib.h> //http://www.arduino.cc/playground/Code/Time
#include <Timezone.h> //https://github.com/JChristensen/Timezone

#include <EEPROM.h>

//Central European Time (Frankfurt, Paris)
TimeChangeRule CEST = {“CEST”, Last, Sun, Mar, 2, 120}; //Central European Summer Time
TimeChangeRule CET = {“CET “, Last, Sun, Oct, 3, 60}; //Central European Standard Time
Timezone CE(CEST, CET);

TimeChangeRule *tcr; //pointer to the time change rule, use to get the TZ abbrev
time_t utc;

#define PIN 5

unsigned long lastMillis = millis();
byte dimmer = 0x88;
byte hmark = 0;

byte ohour=0;
byte ominute=0;
byte osecond=0;

boolean fader=true;

Adafruit_NeoPixel strip = Adafruit_NeoPixel(60, PIN, NEO_GRB + NEO_KHZ800);

void setup() {

Serial.begin(57600);

strip.begin();
strip.setBrightness(50);

// Some example procedures showing how to display to the pixels:
// colorWipe(strip.Color(255, 0, 0), 50); // Red
//colorWipe(strip.Color(0, 255, 0), 50); // Green
//colorWipe(strip.Color(0, 0, 255), 50); // Blue
//colorWipe(strip.Color(0, 0, 0, 255), 50); // White RGBW
// Send a theater pixel chase in…
//theaterChase(strip.Color(127, 127, 127), 50); // White
theaterChase(strip.Color(127, 0, 0), 50); // Red
//theaterChase(strip.Color(0, 0, 127), 50); // Blue

//rainbow(20);
rainbowCycle(2);
//theaterChaseRainbow(50);

strip.clear();
strip.show(); // Initialize all pixels to ‘off’

Rtc.Begin();

Rtc.Enable32kHzPin(false);
Rtc.SetSquareWavePin(DS3231SquareWavePin_ModeNone);

if (!Rtc.GetIsRunning())
{
Serial.println(“Rtc was not actively running, starting now”);
Rtc.SetIsRunning(true);
}

if (!Rtc.IsDateTimeValid())
{
// Common Cuases:
// 1) the battery on the device is low or even missing and the power line was disconnected
Serial.println(“Rtc lost confidence in the DateTime!”);
}

byte eechk = EEPROM.read(0);
if(eechk == 0xAA) { //Assume this is our config and not a fresh chip
dimmer = EEPROM.read(1);
hmark = EEPROM.read(2);
fader = EEPROM.read(3);
}

timeSync();
}

void calcTime(void) {
utc = now();
CE.toLocal(utc, &tcr);
ohour = hour(utc);
ominute = minute(utc);
if(osecond != second(utc)) {
osecond = second(utc);
lastMillis = millis();

if(ominute == 0 && osecond == 0) {
//Every hour
timeSync();
}
}
}

void addPixelColor(byte pixel, byte color, byte brightness) {
color *= 8;
uint32_t acolor = brightness;
acolor <<= color;
uint32_t ocolor = strip.getPixelColor(pixel);
ocolor |= acolor;
strip.setPixelColor(pixel, ocolor);
}

void drawClock(byte h, byte m, byte s) {
strip.clear();

addPixelColor(m, 1, dimmer);

if(hmark > 0) {
for(byte i = 0; i<12; i++) {
addPixelColor((5*i), 2, hmark);
}
}

h %= 12;
h *= 5;
h += (m/12);
addPixelColor(h, 2, dimmer);
// 0x RR GG BB

if(fader) {
byte dim_s1 = dimmer;
byte dim_s2 = 0;
byte px_s2 = s+1;
if(px_s2 >= 60) px_s2 = 0;
unsigned long curMillis = millis()-lastMillis;
if(curMillis < 250) {
dim_s2 = 0;
dim_s1 = dimmer;
}else{
dim_s2 = map(curMillis, 250, 1000, 0, dimmer);
dim_s1 = dimmer – map(curMillis, 250, 1000, 0, dimmer);
}

// Add blue low intensity dots for 12(0),3, 6 and 9 O’çlock to verify where the clock is positioned..
addPixelColor(15, 128, 10);
addPixelColor(30, 128, 10);
addPixelColor(45, 128, 10);
addPixelColor(0, 128, 40);

addPixelColor(s, 0, dim_s1);
addPixelColor(px_s2, 0, dim_s2);
}else{
addPixelColor(s, 0, dimmer);
}

// add a background color
// setBrightness(Serial.parseInt());
// uint16_t j;
// for(j=0; j<60; j++) { // 1 cycles of colors on wheel
// strip.setPixelColor(j, Wheel(((j * 256 / strip.numPixels()) + j) & 255));
// }

strip.show();
}

byte rounds = 0;

void loop() {
calcTime();

if(rounds++ > 100) {
Serial.print(ohour);
Serial.print(“:”);
Serial.print(ominute);
Serial.print(“:”);
Serial.print(osecond);
Serial.println(“(C)JG-2020”);
rounds = 0;

}
//rainbow(21);
if (osecond == 59){theaterChase(strip.Color(0, 0, 127), 40); }// Blue; }
//if (ominute == 59 AND osecond == 59){theaterChase(strip.Color(0, 127, 0), 50); }// Green}
//if (ohour == 11 AND ominute == 59 AND osecond == 59){theaterChase(strip.Color(127, 127, 0), 50); }// Green}
else {drawClock(ohour,ominute,osecond);}

delay(10);

chkSer();
}

void timeSync(void) {
RtcDateTime dt = Rtc.GetDateTime();
setTime(dt.Hour(),dt.Minute(),dt.Second(),dt.Day(),dt.Month(),dt.Year());

Serial.print(“Synced to: “);
Serial.print(dt.Year());
Serial.print(“-“);
Serial.print(dt.Month());
Serial.print(“-“);
Serial.print(dt.Day());
Serial.print(“-“);
Serial.print(dt.Hour());
Serial.print(“-“);
Serial.print(dt.Minute());
Serial.print(“-“);
Serial.println(dt.Second());
}

void timeSave(void) {
utc = now();

RtcDateTime store = RtcDateTime(year(utc), month(utc), day(utc), hour(utc), minute(utc), second(utc));
Rtc.SetDateTime(store);

Serial.print(“Synced to: “);
Serial.print(year(utc));
Serial.print(“-“);
Serial.print(month(utc));
Serial.print(“-“);
Serial.print(day(utc));
Serial.print(“-“);
Serial.print(hour(utc));
Serial.print(“-“);
Serial.print(minute(utc));
Serial.print(“-“);
Serial.println(second(utc));

}

void setBrightness(byte brightness) {
dimmer = brightness;
}

void chkSer(void) {
unsigned int iy;
byte im,id,iH,iM,iS;

if(!Serial.available()) return;

switch(Serial.read()) {
case ‘b’:
setBrightness(Serial.parseInt());
Serial.print(F(“Brightness changed to: “));
Serial.println(dimmer);
EEPROM.put(0, 0xAA);
EEPROM.put(1, dimmer);
break;
case ‘t’:
iy = Serial.parseInt();
im = Serial.parseInt();
id = Serial.parseInt();
iH = Serial.parseInt();
iM = Serial.parseInt();
iS = Serial.parseInt();
setTime(iH,iM,iS,id,im,iy);
Serial.println(F(“System time changed”));
break;
case ‘f’:
fader = false;
EEPROM.put(0, 0xAA);
EEPROM.put(3, 0);
Serial.println(F(“Fader off”));
break;
case ‘F’:
fader = true;
EEPROM.put(0, 0xAA);
EEPROM.put(3, 1);
Serial.println(F(“Fader on”));
break;
case ‘m’:
hmark = Serial.parseInt();
EEPROM.put(0, 0xAA);
EEPROM.put(2, hmark);
Serial.println(F(“HMark changed”));
break;
case ‘s’:
timeSync();
Serial.println(F(“Synced RTC to System”));
break;
case ‘S’:
timeSave();
Serial.println(F(“Synced System to RTC”));
break;
default:
Serial.println(‘?’);
}
}

// Fill the dots one after the other with a color
void colorWipe(uint32_t c, uint8_t wait) {
for(uint16_t i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, c);
strip.show();
delay(wait);
}
}

void rainbow(uint8_t wait) {
uint16_t i, j;

for(j=0; j<256; j++) {
for(i=0; i<strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel((i+j) & 25));//255
}
strip.show();
delay(wait);
}
}

// Slightly different, this makes the rainbow equally distributed throughout
void rainbowCycle(uint8_t wait) {
uint16_t i, j;

for(j=0; j<256*5; j++) { // 5 cycles of all colors on wheel
for(i=0; i< strip.numPixels(); i++) {
strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
}
strip.show();
delay(wait);
}
}

//Theatre-style crawling lights.
void theaterChase(uint32_t c, uint8_t wait) {
for (int j=0; j<4; j++) { //do 4 cycles of chasing
for (int q=0; q < 3; q++) {
for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, c); //turn every third pixel on
}
strip.show();

delay(wait);

for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, 0); //turn every third pixel off
}
}
}
}

//Theatre-style crawling lights with rainbow effect
void theaterChaseRainbow(uint8_t wait) {
for (int j=0; j < 256; j++) { // cycle all 256 colors in the wheel
for (int q=0; q < 3; q++) {
for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, Wheel( (i+j) % 255)); //turn every third pixel on
}
strip.show();

delay(wait);

for (uint16_t i=0; i < strip.numPixels(); i=i+3) {
strip.setPixelColor(i+q, 0); //turn every third pixel off
}
}
}
}

// Input a value 0 to 255 to get a color value.
// The colours are a transition r – g – b – back to r.
uint32_t Wheel(byte WheelPos) {
WheelPos = 255 – WheelPos;
if(WheelPos < 85) {
return strip.Color(255 – WheelPos * 3, 0, WheelPos * 3);
}
if(WheelPos < 170) {
WheelPos -= 85;
return strip.Color(0, WheelPos * 3, 255 – WheelPos * 3);
}
WheelPos -= 170;
return strip.Color(WheelPos * 3, 255 – WheelPos * 3, 0);
}

FLY CDY V2 SDcard content download

Since the FLY_CDY_V2 STM32 board comes without any firmware installed, I made a simple link for you to download and extract everything you need to a 2-16GB microSDcard. 

Just download, extract, burn as-is to SD and plug it in the board, fire the board up and all works!

Make sure you follow the guideline HERE for getting attached to the board via wifi by using a USB cable and YAT terminal on your PC to get the home wifi SSID and Password programmed to ROM into the board, AFTER you installed firmware by putting in the SDcard and firing it up.

The settings in config.g at the SDcard are made for a Cartesian XYZ machine with triple extruder.  This can all be changed to fit your build in config.g. 

For a delta, use THIS DUET2wifi DELTA config.g and change the pin_name of bed heater  according to the FLY_CDY_V2 name convention (thus: use bed instead of bed_heater).  

For more info about the board and connecting to the electronics, steppers, endstops, filament sensors, BLTouch, Neopixels etcetera go HERE

Please donate $1 to my paypal account if you use (parts of) my developed materials so I can continue to share nice stuff for you to download

 

Cheers,

 

Jan Griffioen