Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02
Lysforurensning er et av mange problemer i verden. For å løse dette problemet må vi vite hvor mye nattehimmelen er forurenset med kunstig lys. Mange elever med lærere i verden prøver å måle lysforurensning med dyre sensorer. Jeg bestemte meg for å bytte mitt bærbare luxmeter (for mer sjekk tidligere instruksjonsprosjekt Portable Luxmeter) til værstasjon med TSL2591 -sensor. Denne sensoren er sensitiv nok til å måle nattforurensning. Jeg legger også til HTU21D for måling av temperatur og fuktighet.
Trinn 1: Hva er nattforurensning og hvordan den måler
Nattforurensning er lys fra lamper, biler, hus, enorme LCD -paneler i byen og hvert lys laget av mennesker. Det lette kallet kunstig. For observatører er kunstig lys hovedproblemet for å se stjerner fra byen, og de må gå utenfor byen. For mennesker er høy lysforurensning skadelig. Og også for trær, gress og dyr.
For å kontrollere lysforurensning av stedet ditt, kan du se lysforurensningskart her
Det er bare modell, og reelle verdier kan variere. Det er derfor jeg opprettet det luxmeteret.
For måling av lysforurensning måler jeg bare lux og beregner størrelsen/ arsec2.
Jeg kan beregne fra lux til candela per suqare meter:
1 cd/m2 = 1 lux
Størrelse per kvadratbuesekvens (mag/arcsec2) beskriver nattehimmels bakgrunn (det kaller overflatelysstyrke).
Mer på wiki: Surface brightness
For å beregne cd/m2 til mag/arcsec2 er formelen:
[verdi i mag/arcsec2] = Log10 ([verdi i cd/m2]/108000)/-0,4
unihedron.com/projects/darksky/magconv.php
Trinn 2: BOM
For dette prosjektet trenger du:
1. WEMOS D1 Mini eller en hvilken som helst mikrokontroller
(Jeg bruker wemos, fordi den er den minste, med usb -port kan du prøve Arduino Nano)
WEMOS D1 MINI (Yanwen Economic Air Mail)
WEMOS D1 MINI (AliExpress Standard Shipping)
WEMOS D1 MINI 10 stk (Kina postregistrert luftpost - gratis forsendelse)
usb -kabel for programmering og opplasting av kode til wemos
2. TSL2591 Sensor
TSL2591 (Yanwen Economic Air Mail)
TSL2591 (Kina postregistrert luftpost)
TSL2591 (Kina postregistrert luftpost)
3. HTU21D temperatur- og fuktighetssensor
HTU21D (Cainiao Super Economy)
HTU21D (Yanwen Economic Air Mail - gratis frakt)
4. OLED -skjerm 0,96 (128 x 64)
OLED -skjerm
OLED -skjerm
OLED -skjerm
5. 18650 batteri
18650 litiumionbatteri
18650 litiumionbatteri
batteri 18650 holder
6. TP4056 lademodul
tp4056
tp4056
7. bryterknapper eller dyppegenser
swtich rød dukkert
swtichers, mange forskjellige
8. breadboard og dupont kabler
lite brødbrett
breadboard kit
9. sak, lager jeg av tre + tape
rød tape
Prusa 3D -skriver, jeg håper jeg skal gjøre etui av plast: D
Trinn 3: Krets
Kretsen er ganske enkel:
Koble alle i2c -modulene (TSL2591, OLED, HTU21D) til SCL- og SDA -pinner på wemos (SDA -> D2, SCL -> D1).
Driv dem med 3,3 V fra wemos.
Koble pluss terminalen til batteriet til 5V pin på wemos og batteri + pin på tp4056 lademodul til pluss terminal på batteriet.
Koble alle grunner sammen.
Trinn 4: HTU21D -sensor
Jeg kjøper ny temperatursensor, som måler med nøyaktighet 0,3 ° C!
Ting du bør vite om denne sensoren (fra sparkfun):
- Bruker I2C -grensesnittet
- Typisk fuktighetsnøyaktighet på ± 2%
- Typisk temperaturnøyaktighet på ± 0,3 ° C
- Fungerer fra 0 til 100% fuktighet, men denne sensoren anbefales ikke for tøffe miljøer der den kan komme i kontakt med vann (for eksempel regn).
- 3.3V sensor - bruk inline logiske nivåomformere eller 10k motstander for å begrense 5V signaler
- Bare en HTU21D -sensor kan bo på I2C -bussen om gangen
Mitt sammendrag: det er en god sensor, fordi den måler med nøyaktighet 0,3 ° C og både - temperatur og fuktighet. Fordeler er I2C -forstyrrelser og ulemper 3.3V, men det spiller ingen rolle i mitt tilfelle.
Trinn 5: TSL2591
Denne sensoren er god til å måle forurensning av nattehimmelen på grunn av sensitiviteten (til 188 mikro lux!).
1. er dioder med mulig ir og fullt mål. Jeg bruker den ikke.
2. spenningsregulator fra 5V til 3,3V
Chipspesifikasjoner (fra adafruit):
- Omtrentlig menneskelig øyerespons
- Ekstremt stort dynamisk område 1 til 600, 000, 000 tellinger
- Lux -område: 188 uLux -følsomhet, opptil 88.000 Lux -inngangsmålinger.
- Temperaturområde: -30 til 80 *C
- Spenningsområde: 3,3-5V inn i regulatoren
- Grensesnitt: I2C
- Dette kortet/brikken bruker I2C 7-biters adresse 0x29 (fast)
- Dimensjoner: 19mm x 16mm x 1mm /.75 "x.63" x.04 "Vekt: 1,1 g
- 2 dioder for måling begge - IR og Fullspektrum
Sammendrag:
188 uLux er perferkt, også I2C -kommunikasjon er enkel. Kanskje problemet kan løses I2C -adressen (0x29). Ombord regulatoren er også god og mulig å bruke sensoren om vinteren (frost).
Trinn 6: Kode
Du trenger disse bibliotekene (jeg legger dem til i en zip -fil):
- Adafruit-GFX-Library-master
- adafruit_gfx_library_master
- Adafruit_HTU21DF_Library-master
- Adafruit_Sensor-master
- Adafruit_TSL2591_Library-master
Kode: du kan bruke min, eller lage din egen. Ikke glem å angi maksimal integrasjonstid (600 MS) og gain til maks (GAIN_MAX) for måling av nattehimmelen.
Hvis du prøver å bruke koden min, kan du laste ned ino -filen. Når jeg kopierer koden min, kan det være noe galt med biblioteker
Jeg bruker å laste ned image av månen bare for moro skyld. Du kan bruke hvilken som helst, bare bruk denne siden for å få matrise:
javl.github.io/image2cpp/
//https://lastminuteengineers.com/oled-display-arduino-tutorial///https://javl.github.io/image2cpp/ // mcd til størrelsesorden https://unihedron.com/projects/darksky/magconv.php… // HD44780 er en kontroller for tegnbaserte LCD-skjermer. https://unihedron.com/projects/darksky/magconv.php… #include
#inkludere
#include #include #include "Adafruit_HTU21DF.h" #include "Adafruit_TSL2591.h" int counter; // OLED display TWI address #define OLED_ADDR 0x3C Adafruit_SSD1306 display (-1); // - 1 for omstartvisning med omstartsknapp på arduino bord Adafruit_HTU21DF htu = Adafruit_HTU21DF (); Adafruit_TSL2591 tsl = Adafruit_TSL2591 (2591); // legg inn et nummer for sensoridentifikatoren (for senere bruk) uint32_t lum; uint16_t ir, full; int ulux; flyte lux; flyte temp; flyte rel_hum; float mag_arcsec2; // visual mags/arcsecond² [verdi i mag/arcsec2] = Log10 ([verdi i cd/m2]/108000)/-0,4 // symboler // grad for Celsius const unsigned char degree PROGMEM = {0xe, 0x11, 0x11, 0x11, 0xe, 0x0, 0x0, 0x0}; // eksponent 2 const usignert char -eksponent PROGMEM = {0xe, 0x1b, 0x3, 0x6, 0xc, 0x18, 0x1f, 0x0}; // 'moon_logo', 128x64px const unsigned char intro PROGMEM = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xc0, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0xff, 0xfd, 0x, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x03, 0xff, 0xc0, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xfc, 0x07, 0xff, 0xe0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xff, 0xf8, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0f, 0xff, 0x77, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,, 0x80, 0x1f, 0xbe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x1f, 0xcc, 0xff, 0xff, 0x8f, 0x,, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x3f, 0xc0, 0xff, 0xff, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf, 0x00,, 0xc0, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x3f, 0xe0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x3f, 0x80, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3,, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x3f, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,, 0xff, 0xff, 0xf0, 0x00, 0x3f, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x ff, 0xff, 0xf0, 0x00, 0x3f, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x3f, 0xff, 0x, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xe0, 0x18, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x60, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe1, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x07, 0xff, 0x, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x18, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x38, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x48, 0x7f, 0xff, 0xff, 0xff, 0xc0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x80, 0x3f, 0xff, 0xff, 0xff, 0x00, 0x1f, 0xff, 0xff, 0xff, 0x, 0xff, 0xff, 0xc0, 0xc4, 0x1f, 0xff, 0xff, 0xfc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x60, 0x0f, 0x, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xf0, 0x03, 0xff, 0xff, 0xff, 0xf0, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xc0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x01, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0, 0x43, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x4f, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x5f, 0xff, 0xff, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x3f, 0xff, 0xff, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x0,, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x01, 0xff, 0xff, 0xb7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x03, 0xff, 0xff,, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x01, 0x0f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x01, 0xfe, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff,, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x 00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x01, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x7f, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x1f, 0xff, 0xc7, 0xff, 0xff, 0xff, 0x, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x00, 0xfc, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x80, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; ugyldig oppsett () {// htu21d htu.begin (); // tsl2591 sensor_t sensor; tsl.getSensor (& sensor); tsl.setGain (TSL2591_GAIN_MAX); // MAX, HIGH MED, LOW, tsl.setTiming (TSL2591_INTEGRATIONTIME_600MS); // 100MS, 200 MS, 300MS, 400MS, 500MS, 600MS // oppsett for oled display display.begin (SSD1306_SWITCHCAPVCC, OLED_ADDR); display.clearDisplay (); display.display (); display.drawBitmap (0, 0, intro, 128, 64, WHITE); display.display (); forsinkelse (1000); display.setTextSize (1); display.setTextColor (HVIT); display.setFont (& FreeSerif9pt7b); display.clearDisplay (); } hulrom () {lux = 0; ulux = 0; mag_arcsec2 = 0; temp = 0; rel_hum = 0; forsinkelse (100); lum = tsl.getFullLuminosity (); ir = lum >> 16; full = lum & 0xFFFF; forsinkelse (100); lux = tsl.calculateLux (full, ir); // lysintensitet i microlux ulux = lux*1000000; hvis (ulux <0) {ulux = 0; } mag_arcsec2 = log10 (lux/108000)/-0,4; // (log ((ulux/108000)) /(-0.4) temp = htu.readTemperature (); rel_hum = htu.readHumidity (); display_values ();} void display_values () {//display.drawPixel(120, 50, WHITE); display.clearDisplay (); display.setCursor (1, 15); display.print (temp); display.drawBitmap (42, 2, degree, 8, 5, WHITE); display.setCursor (50, 15); display.print ("C"); display.setCursor (70, 15); display.print (rel_hum); display.setCursor (114, 15); display.print ("%"); display.drawLine (1, 20, 127, 20, WHITE); display.drawLine (67, 1, 67, 20, WHITE); display.setCursor (1, 35); display.print ("ulux ="); display.setCursor (50, 35); display.print (ulux); display.setCursor (1, 55); display.print ("mag/arsec"); display.drawBitmap (70, 45, eksponent, 8, 8, WHITE); display. setCursor (83, 55); display.print (mag_arcsec2); display.display ();}
Trinn 7: Inne
Jeg lager eget etui, og jeg bruker brødbrett med dupontkabler som du kan se.
Jeg bruker TP4056 for å lade batteri med usb -kabel (trenger swtich dip jumper).
For å slå på/av bruker jeg dip jumper.
For dagslys viser TSL2591 0 og mag/arcsec2 er nan.
For nattehimmelen skal TSL2591 vise fra 0 til 1000 000 microlux (ulux) og tilsvarende mag/bue sek2
(ca. 14 til 22 mag/arsec2).
For fullMoon målte jeg 50k ulux som er 0,05 lux.
Anbefalt:
NaTaLia værstasjon: Arduino solcelledrevet værstasjon gjort den riktige måten: 8 trinn (med bilder)
NaTaLia værstasjon: Arduino solcelledrevet værstasjon gjort på riktig måte: Etter 1 års vellykket drift på 2 forskjellige steder deler jeg mine solcelledrevne værstasjonsprosjektplaner og forklarer hvordan det utviklet seg til et system som virkelig kan overleve over lang tid perioder fra solenergi. Hvis du følger
Komplett DIY Raspberry Pi værstasjon med programvare: 7 trinn (med bilder)
Komplett DIY Raspberry Pi værstasjon med programvare: I slutten av februar så jeg dette innlegget på Raspberry Pi -nettstedet. http://www.raspberrypi.org/school-weather-station-…De hadde opprettet Raspberry Pi værstasjoner for skoler. Jeg ville helt ha en! Men på det tidspunktet (og jeg tror fremdeles i skrivende stund
Mini værstasjon med Attiny85: 6 trinn (med bilder)
Mini Weather Station With Attiny85: I en nylig instruerbar Indigod0g beskrev en mini værstasjon som fungerer ganske bra, ved hjelp av to Arduinos. Kanskje ikke alle ønsker å ofre 2 Arduinos for å få fuktighets- og temperaturavlesninger, og jeg kommenterte at det burde være mulig å
Værstasjon med Arduino, BME280 og display for å se trenden i løpet av de siste 1-2 dagene: 3 trinn (med bilder)
Værstasjon Med Arduino, BME280 og display for å se trenden i løpet av de siste 1-2 dagene: Hei! Her på instruksjonsbare værstasjoner har allerede blitt introdusert. De viser gjeldende lufttrykk, temperatur og fuktighet. Det de manglet så langt var en presentasjon av kurset i løpet av de siste 1-2 dagene. Denne prosessen vil ha en
KeyPi - en billig bærbar Raspberry Pi 3 bærbar datamaskin under $ 80: 11 trinn (med bilder)
KeyPi - en billig bærbar Raspberry Pi 3 bærbar datamaskin under $ 80: *** OPPDATERING *** Hei alle sammen! Først og fremst takk for all støtte og tilbakemelding, fellesskapet her er fantastisk :) Her er svar på noen spørsmål: Hvorfor gjorde du dette? Jeg ønsket å lage en bærbar datamaskin som hadde et tastatur i full størrelse. Jeg følte at t