Christian Moll
Published © CC BY-SA

Kniwwelino Desktop Fan

You like hot weather? No? You need some refreshment while doing homework? You need a Kniwwelino desktop fan.

BeginnerFull instructions provided1 hour769
Kniwwelino Desktop Fan

Things used in this project

Hardware components

Kniwwelino
×1
Arctic F14 PWM PST
×1
Resistor 4.75k ohm
Resistor 4.75k ohm
×1
Resistor 1k ohm
Resistor 1k ohm
×1
Micro USB Step-up Converter
×1

Software apps and online services

KniwwelinoBlockly
Arduino IDE
Arduino IDE
Alternatively you can also programm it with Arduino IDE using the cose provided in the attachements.

Story

Read more

Custom parts and enclosures

Thingiverse

https://www.thingiverse.com/thing:3061682

Schematics

wiring

Code

Fan code

Arduino
If you prefer to program your Kniwwelino in Arduino you can use the following code. Make sure to install all dependencies mentioned on https://github.com/LIST-LUXEMBOURG/KniwwelinoLib

To program it with the visual KniwwelinoBlockly use the link from the description.
#include <Kniwwelino.h>

int fan;

// Describe the function...
void updateMatrix() {
  if (fan == 5) {
    Kniwwelino.MATRIXdrawIcon(String("B0000100011001110111111111"));
  } else if (fan == 4) {
    Kniwwelino.MATRIXdrawIcon(String("B0000000010001100111011110"));
  } else if (fan == 3) {
    Kniwwelino.MATRIXdrawIcon(String("B0000000000001000110011100"));
  } else if (fan == 2) {
    Kniwwelino.MATRIXdrawIcon(String("B0000000000000000100011000"));
  } else if (fan == 1) {
    Kniwwelino.MATRIXdrawIcon(String("B0000000000000000000010000"));
  } else {
    Kniwwelino.MATRIXclear();
  }
}


void setup() {
  //Initialize the Kniwwelino Board
  Kniwwelino.begin("Fan", true, true, false); // Wifi=true, Fastboot=true, MQTT Logging=false

  pinMode(D6, OUTPUT);

  fan = 0;

}

void loop() {
  if (Kniwwelino.BUTTONAclicked()) {
    fan += -1;
    if (fan <= 0) {
      fan = 0;
    }
  } else if (Kniwwelino.BUTTONBclicked()) {
    fan += 1;
    if (fan >= 5) {
      fan = 5;
    }
  }
  analogWrite(D6, (int)(fan * 205));
  updateMatrix();

  Kniwwelino.loop(); // do background stuff...
}

Kniwwelino Library

read the readme section to understand what dependencies have to be installed.

Credits

Christian Moll
3 projects • 0 followers
Contact

Comments

Please log in or sign up to comment.