Bjerknez' sin lille sandkasse...
- Bjerknez
- Innlegg: 22920
- Registrert: 06 aug 2013, 00:59
- Motorsykkelen din: Triumph Rocket III GT
- Sted: Fredrikstad
- Kontakt:
Re: Bjerknez - koder seg inn i himmelen...
I går testet jeg forøvrig ut Wemos D1 Mini. Enda mindre enn ESP32 og den fungerer som bare det. Man har kun 10 digitale pinner, men det holder for de aller fleste oppgaver.
En stor klumpete Arduino Uno ser jeg nesten på som unødvendig. En Arduino Mega har sin plass mener jeg for prototyping siden den har en drøss av digitale pinner etc.
I dag får jeg trolig led brytere i posten og da kan jeg endelig begynne på ferdigstillelse av denne boksen jeg begynte på tidligere. Blir artig å se hvordan det blir og de ter ekstra artig at jeg har bygd alt selv samt programmert. :)
En stor klumpete Arduino Uno ser jeg nesten på som unødvendig. En Arduino Mega har sin plass mener jeg for prototyping siden den har en drøss av digitale pinner etc.
I dag får jeg trolig led brytere i posten og da kan jeg endelig begynne på ferdigstillelse av denne boksen jeg begynte på tidligere. Blir artig å se hvordan det blir og de ter ekstra artig at jeg har bygd alt selv samt programmert. :)
Du har ikke de nødvendige tillatelsene for å vise filene som er tilknyttet dette innlegget.
- Bjerknez
- Innlegg: 22920
- Registrert: 06 aug 2013, 00:59
- Motorsykkelen din: Triumph Rocket III GT
- Sted: Fredrikstad
- Kontakt:
Re: Bjerknez - koder seg inn i himmelen...
Holder fortsatt på og pusler i furtebua og den siste tiden har jeg blitt en erfaring eller to rikere på godt og vondt angående kretskortet jeg holder på og lodde sammen. Jeg fikk aldri LCD displayet til å virke 100% hver gang. Det funket stort sett hele tiden, men enkelte ganger måtte jeg skru av og på flere ganger før det viste noe.
Jeg har drevet med feilsøking i flere dager og har funnet ut at koblingene mine i utgangspunktet var riktige, men at fremgangsmetoden ble feil da det ble for lite strøm til å drive LCD displayet gjennom enheten (ESP32). Grunnen er at det er mange sensorer som starter med en gang og da ble det noen "peaks" som gjorde at LCD'en fucket opp.
Jeg koblet alt på nytt på et breadboard hvor jeg heller valgte å bruke ekstern power som gikk gjennom en LM7805 volt regulator før den gikk videre inn i VIN pin på enheten. Når jeg koblet til LCD'en FØR VIN pin så funket det som bare det. Da slipper ESP32 og drive LCD'en og har mer "krefter" igjen til å drive de andre sensorene.
Så dette var slik det gamle så ut:
Å slik ser den nye ut ut foreløpig:
Jeg har drevet med feilsøking i flere dager og har funnet ut at koblingene mine i utgangspunktet var riktige, men at fremgangsmetoden ble feil da det ble for lite strøm til å drive LCD displayet gjennom enheten (ESP32). Grunnen er at det er mange sensorer som starter med en gang og da ble det noen "peaks" som gjorde at LCD'en fucket opp.
Jeg koblet alt på nytt på et breadboard hvor jeg heller valgte å bruke ekstern power som gikk gjennom en LM7805 volt regulator før den gikk videre inn i VIN pin på enheten. Når jeg koblet til LCD'en FØR VIN pin så funket det som bare det. Da slipper ESP32 og drive LCD'en og har mer "krefter" igjen til å drive de andre sensorene.
Så dette var slik det gamle så ut:
Å slik ser den nye ut ut foreløpig:
Du har ikke de nødvendige tillatelsene for å vise filene som er tilknyttet dette innlegget.
Re: Bjerknez - koder seg inn i himmelen...
Nice!!Bjerknez skrev: ↑17 feb 2020, 10:26 En liten videosnutt som viser hva jeg skal oppnå:
https://photos.app.goo.gl/SWYzFRR2pa8o7bWcA
I never apologize.
I'm sorry, but that's just the way I am.
I'm sorry, but that's just the way I am.
- Bjerknez
- Innlegg: 22920
- Registrert: 06 aug 2013, 00:59
- Motorsykkelen din: Triumph Rocket III GT
- Sted: Fredrikstad
- Kontakt:
Re: Bjerknez - koder seg inn i himmelen...
Artig å lage slikt selv. For to måneder siden var dette helt gresk for meg og i dag kan jeg vel si jeg kan programmere det meste, selvsagt ved hjelp av google og litt klipp og lim av koder etc.KåreDump skrev: ↑17 feb 2020, 13:59Nice!!Bjerknez skrev: ↑17 feb 2020, 10:26 En liten videosnutt som viser hva jeg skal oppnå:
https://photos.app.goo.gl/SWYzFRR2pa8o7bWcA
Selv koblingene har jeg ingen vanskeligheter med.
Når denne er ferdig skal jeg lage meg en postkasse sensor, som sender meg SMS eller evt. mail hver gang postmannen har vert å levert noe i postkassen. Hvilken sensor jeg skal bruke etc. er noe usikkert. Det enkleste er jo en trykkbryter på lokket, men man må ta høyde for vind etc. som kan løfte lokket etc.
Trykksensor i bunnen kan også være en mulighet, eller kanskje en sensor som registrerer lyd etc. Men dette er fortsatt på tegnestadiget for å si det pent :)
Re: Bjerknez - koder seg inn i himmelen...
Jepp, dritskøy!!
Og det der med klipp og lim fra google/andre kilder.... det bedrives over en lav sko også hos profesjonelle kodere! :-)
I never apologize.
I'm sorry, but that's just the way I am.
I'm sorry, but that's just the way I am.
- Bjerknez
- Innlegg: 22920
- Registrert: 06 aug 2013, 00:59
- Motorsykkelen din: Triumph Rocket III GT
- Sted: Fredrikstad
- Kontakt:
Re: Bjerknez - koder seg inn i himmelen...
Ja, det er jo liten vits i å finne opp kruttet på nytt, men allikevel synes jeg det er artig og forstå selve kodingen. Jeg kan skrive enkel kode selv, men enkelte ganger vil man at flere ting skal skje samtidig samt endre rekkefølge og kanskje også man vil legge inn noen mer avanserte if statements. Da er det deilig å kunne klippe og lime litt.
Uansett, koden jeg har nå som fungerer som også vil bli brukt i sluttprosjektet ser vertfall slik ut:
Kode: Velg alt
#include <LiquidCrystal_I2C.h>
#include <DHT.h>;
LiquidCrystal_I2C lcd(0x27, 16, 2);
#define DHTPIN 19 // what pin we're connected to
#define DHTTYPE DHT22 // DHT 22 (AM2302)
DHT dht(DHTPIN, DHTTYPE);
int chk;
float hum; //Stores humidity value
float temp; //Stores temperature value
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
int sensorPin = 34;
int sensorValue = 0;
int relay = 23;
int redled = 5;
int orangeled = 4;
int greenled = 15;
char auth[] = "*******";
char ssid[] = "*******";
char pass[] = "*******";
void startup(){
digitalWrite(redled, HIGH);
lcd.init();
lcd.backlight();
delay(1000);
lcd.setCursor(0, 0);
lcd.print("Ver.1.13");
delay(2000);
lcd.setCursor(0, 1);
lcd.print("Starting up");
delay(2000);
digitalWrite(orangeled, HIGH);
digitalWrite(redled, LOW);
lcd.setCursor(11, 1);
lcd.print(".");
delay(1000);
lcd.setCursor(12, 1);
lcd.print(".");
delay(1000);
lcd.setCursor(13, 1);
lcd.print(".");
delay(1000);
lcd.setCursor(14, 1);
lcd.print(".");
delay(1000);
lcd.setCursor(15, 1);
lcd.print(".");
delay(1000);
lcd.clear();
}
void setup()
{
Blynk.begin(auth, ssid, pass);
Serial.begin(9600);
pinMode(redled, OUTPUT);
pinMode(orangeled, OUTPUT);
pinMode(greenled, OUTPUT);
pinMode(relay, OUTPUT);
pinMode(sensorPin, INPUT);
digitalWrite(relay, HIGH);
digitalWrite(orangeled, LOW);
dht.begin();
startup();
}
void loop() {
// Some code that enables Blynk
Blynk.run();
// some code for writing temperature and humidity values to serial monitor
hum = dht.readHumidity();
temp = dht.readTemperature();
Serial.print("Fuktighet: ");
Serial.print(hum);
Serial.print(" %, Temperatur: ");
Serial.print(temp);
Serial.println(" Celsius");
// code for showing temperature values on LCD display
lcd.setCursor(0, 0);
lcd.print("Temp: ");
lcd.print(temp);
// code for showing the celcius symbol on LCD display
lcd.write(0b11011111);
lcd.setCursor(12, 0);
lcd.print("C");
// code for showing humidity values on LCD display
lcd.setCursor(1, 1);
lcd.print("Hum: ");
lcd.print(hum);
lcd.print("%");
// some code that makes the value "sensorValue"
sensorValue = analogRead(sensorPin); // read the value from the sensor
Serial.println(sensorValue); //prints the values coming from the sensor on the
// some statements that turns on and off the LCD display regards to light in the room
if (sensorValue > 100) {
lcd.noDisplay();
lcd.noBacklight();
digitalWrite(redled, HIGH);
digitalWrite(greenled, LOW);
digitalWrite(orangeled, LOW);
}
if(sensorValue < 100) {
lcd.display();
lcd.backlight();
digitalWrite(greenled, HIGH);
digitalWrite(redled, LOW);
digitalWrite(orangeled, LOW);
}
// some code that sends virtual data to the Blynk app
Blynk.virtualWrite(V5, temp);
Blynk.virtualWrite(V6, hum);
// Some delay for not blowing the Blynk server up
delay(3000);
}
Re: Bjerknez - koder seg inn i himmelen...
Se der ja!!
Ikke dumt å kommentere kode, det blir så mye lettere å komme tilbake for å rette/endre kode da!
Minner meg om min første IT-jobb (innen telecom), overtok 100.000 linjer Java-kode som jeg skulle videreutvikle/vedlikeholde.
Veldig forenklet ble koden brukt på for å holde oversikt over status på en del C-kode som samlet inn records fra et hundretall telefonsentraler og aggregerte og korrelerte de for å gjøre de klare til å sammenstille telefonregninger.
Den største installasjonen vår sto hos Vimpelcom i Moskva og og det fløt data for et par millioner telefonsamtaler i døgnet gjennom den.
Og hver samtale inneholder flerfoldige records fra alle sentralene den har vært innom.
Installasjonen var delt på to Solaris-servere hver med et par terrabyte RAM!
Og midt inni denne koden finner jeg følgende kommentar (etterfulgt av et kråkereir av en kode)
![lol :lol](./images/smilies/lol.gif)
Ikke dumt å kommentere kode, det blir så mye lettere å komme tilbake for å rette/endre kode da!
Minner meg om min første IT-jobb (innen telecom), overtok 100.000 linjer Java-kode som jeg skulle videreutvikle/vedlikeholde.
Veldig forenklet ble koden brukt på for å holde oversikt over status på en del C-kode som samlet inn records fra et hundretall telefonsentraler og aggregerte og korrelerte de for å gjøre de klare til å sammenstille telefonregninger.
Den største installasjonen vår sto hos Vimpelcom i Moskva og og det fløt data for et par millioner telefonsamtaler i døgnet gjennom den.
Og hver samtale inneholder flerfoldige records fra alle sentralene den har vært innom.
Installasjonen var delt på to Solaris-servere hver med et par terrabyte RAM!
Og midt inni denne koden finner jeg følgende kommentar (etterfulgt av et kråkereir av en kode)
Kode: Velg alt
/**
* DO NOT TOUCH!!
* THIS SHIT ACTUALLY WORKS!!
*
*/
![lol :lol](./images/smilies/lol.gif)
![lol :lol](./images/smilies/lol.gif)
![lol :lol](./images/smilies/lol.gif)
![lol :lol](./images/smilies/lol.gif)
I never apologize.
I'm sorry, but that's just the way I am.
I'm sorry, but that's just the way I am.
- Bjerknez
- Innlegg: 22920
- Registrert: 06 aug 2013, 00:59
- Motorsykkelen din: Triumph Rocket III GT
- Sted: Fredrikstad
- Kontakt:
Re: Bjerknez - koder seg inn i himmelen...
HAHA!KåreDump skrev: ↑18 feb 2020, 09:42 Se der ja!!
Ikke dumt å kommentere kode, det blir så mye lettere å komme tilbake for å rette/endre kode da!
Minner meg om min første IT-jobb (innen telecom), overtok 100.000 linjer Java-kode som jeg skulle videreutvikle/vedlikeholde.
Veldig forenklet ble koden brukt på for å holde oversikt over status på en del C-kode som samlet inn records fra et hundretall telefonsentraler og aggregerte og korrelerte de for å gjøre de klare til å sammenstille telefonregninger.
Den største installasjonen vår sto hos Vimpelcom i Moskva og og det fløt data for et par millioner telefonsamtaler i døgnet gjennom den.
Og hver samtale inneholder flerfoldige records fra alle sentralene den har vært innom.
Installasjonen var delt på to Solaris-servere hver med et par terrabyte RAM!
Og midt inni denne koden finner jeg følgende kommentar (etterfulgt av et kråkereir av en kode)Kode: Velg alt
/** * DO NOT TOUCH!! * THIS SHIT ACTUALLY WORKS!! * */
![]()
![]()
![]()
![]()
![lol :lol](./images/smilies/lol.gif)
Joda, kommentering av kode blir gjort når jeg vet at alt fungerer 100% etter sammenkobling og montering. Men så langt fungerer denne koden.
Når det er sagt, så har jeg ingen vanskeligheter med å forstå min egen kode uten kommenteringer. Jeg har ingen planer om å dele denne videre og hvis noen vil ha den så får dme sagtens finne ut av det sjøl. Men ja, generelt er det god skikk og kommentere koden :)
- Bjerknez
- Innlegg: 22920
- Registrert: 06 aug 2013, 00:59
- Motorsykkelen din: Triumph Rocket III GT
- Sted: Fredrikstad
- Kontakt:
Re: Bjerknez - koder seg inn i himmelen...
Eller...
Kode: Velg alt
*/ DO NOT COMMENT THIS OUT!
// rolling text for the outdoor store sign
lcd.setCursor(0, 0);
lcd.print("I REALLY HATE MY BOSS, AND IF I GET THE CHANCE I WILL HIT HIM WITH MY CAR!!");
*/
Re: Bjerknez - koder seg inn i himmelen...
![Dobbeltommel :twothumbs:](./images/smilies/twothumb.gif)
![Dobbeltommel :twothumbs:](./images/smilies/twothumb.gif)
![Dobbeltommel :twothumbs:](./images/smilies/twothumb.gif)
![Dobbeltommel :twothumbs:](./images/smilies/twothumb.gif)
I never apologize.
I'm sorry, but that's just the way I am.
I'm sorry, but that's just the way I am.
- FredrikE24
- Innlegg: 4718
- Registrert: 24 apr 2016, 18:53
- Motorsykkelen din: BMW K1200RS
- Sted: Nordre Follo
Re: Bjerknez - koder seg inn i himmelen...
Kommentarer er gull verdt. Det verste jeg vet er når jeg tar over en jobb eller kommer over noe gammal drit jeg skal omprogrammere som kjører i en eller annen industri. Så bruker man en arbeidsdag eller fem på å forstå hvordan ting er gjort før man tør å programmere endringene.
Der jeg jobber kjører vi objektorientert så mye som mulig. Om så man skal bruke 1/100 av objektet så bruker man det. Alle kan objektbiblioteket til fingerspissene. Er sånn man tjener penger.
Der jeg jobber kjører vi objektorientert så mye som mulig. Om så man skal bruke 1/100 av objektet så bruker man det. Alle kan objektbiblioteket til fingerspissene. Er sånn man tjener penger.
- Bjerknez
- Innlegg: 22920
- Registrert: 06 aug 2013, 00:59
- Motorsykkelen din: Triumph Rocket III GT
- Sted: Fredrikstad
- Kontakt:
Re: Bjerknez - koder seg inn i himmelen...
Selvsagt. Kommentarer er aldri feil i koder. Men til privat bruk hjemme i kjelleren mener jeg dette ikke er spesielt nødvendig. I komersiell sammenheng blir det jo noe helt annet. Men det betyr jo ikke at man bør legge seg opp dårlige uvaner av den grunnFredrikE24 skrev: ↑18 feb 2020, 15:18 Kommentarer er gull verdt. Det verste jeg vet er når jeg tar over en jobb eller kommer over noe gammal drit jeg skal omprogrammere som kjører i en eller annen industri. Så bruker man en arbeidsdag eller fem på å forstå hvordan ting er gjort før man tør å programmere endringene.
Der jeg jobber kjører vi objektorientert så mye som mulig. Om så man skal bruke 1/100 av objektet så bruker man det. Alle kan objektbiblioteket til fingerspissene. Er sånn man tjener penger.
![Rolling Eyes :roll](./images/smilies/rolleyes.gif)
- FredrikE24
- Innlegg: 4718
- Registrert: 24 apr 2016, 18:53
- Motorsykkelen din: BMW K1200RS
- Sted: Nordre Follo
Re: Bjerknez - koder seg inn i himmelen...
Klart, det jeg driver med er i høyeste grad live, og driftskritisk som regel. Dumt å få prosessoren til å knele og få alt til å tryne ![Rolling Eyes :roll](./images/smilies/rolleyes.gif)
![Rolling Eyes :roll](./images/smilies/rolleyes.gif)