Viser innlegg med etiketten temperatur. Vis alle innlegg
Viser innlegg med etiketten temperatur. Vis alle innlegg

torsdag 5. november 2015

Komme i gang med Arduino IDE sammen med NodeMCU

Mitt blogginnlegg om å komme i gang med NodeMCU hadde jeg trodd skulle fortsatt med koding i LUA-script. Men det var ikke så bra å kode i det språket. Jeg vurderte å teste Expressif også, men til syvende og sist fant jeg ut at jeg skulle teste Arduino IDE sammen med NodeMCU.

Årsaken for at jeg fant ut at jeg måtte gå videre var:

  • Merkelige feil i de få bibliotekene som eksisterer
  • Ikke like mange biblioteker som Arduino har
Det er egentlig ikke så "alvorlige" feil, men det er jo feil som gjør at man river seg i hodet.
Jeg prøvde til og med å gå over på DEV-firmware, men det hjalp ikke. Jeg kom meg litt videre, men fikk bare nye feil og merkeligheter :-P



Fremgangsmåte for å få NodeMCU DEV V2 til å virke i Arduino IDE

Først åpner du github / esp8266 / Arduino og kopier stien til board manager. Per i dag er den:
http://arduino.esp8266.com/stable/package_esp8266com_index.json , denne må legges inn i File>Preferences>Additional boards manager URL.
Her ser man boards manager med stien.

Når dette er gjort, tar man å trykker OK.

Søk etter ESP i Tools > Board > Boards manager, velg
så installer.

Når den er ferdig, slår du av Arduino IDE. Slå deretter på Arduino IDE, velg Tools> Board > NodeMcu V1 (ESP12E Module). Deretter tar du Tools > Programmer > "USBasp".

Nå kan du se om det virker, ta File > Example > DHT Sensor Library > DHT Tester.
Hold inne knappen "FLASH" på NodeMCU mens du laster opp fra Arduino IDE.

Hvis du får feilmelding med:
packages/esp8266/tools/xtensa-lx106-elf-gcc
Da må du laste ned en fil manuelt, se: https://github.com/esp8266/Arduino/issues/612.
På windows vil du laste ned libm.a og legge den inn i:
C:\Users\DITTBRUKERNAVN\AppData\Roaming\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9\xtensa-lx106-elf\lib

NB! Filen er pakket (to ganger), den kan pakkes ut med 7-zip.

Slå nå av Arduino IDE og slå den på igjen.
Prøv igjen å laste opp kode samtidig som at du holder inne "FLASH".

Hvis du nå har ingen problemer, er det tid for kaffe. Hvis ikke, må du mest sannsynlig legge inn følgende i boards.txt:

I Windows må du først åpne for eksempel notepad++ som administrator, deretter åpne filen, legge det inn på bunnen og lagre. Deretter restarter du Arduino IDE nok en gang og prøver igjen.

Nå bør det virke :-) Hvis ikke, må du selge PCen din på finn.

Last opp din første kode på NodeMCU med Arduino IDE!

Etter feilsøkingen ovenfor kan du laste opp din første kode,
hold inne flash-knappen på NodeMCU og trykk på last opp i Arduino IDE

Nå kan du åpne konsollet (Tools>Serial Monitor). Følg med på magien:


For at du skal få opp noe her, må du jo nødvendigvis ha en DHT22 eller en DHT11 sensor, samt du må velge riktig sensortype i koden og koble den riktig opp på NodeMCU. Jeg brukte DHT22 laget for Arduino (shield), den skal ha +5V, Jord og en IO-port. Jeg koblet jord på GND, +5V på SD2 og D4 brukte jeg som IO-pin.

fredag 25. september 2015

Arduinokomponenter på vei i posten :)

Jeg er en verdensvant Internetthandler og denne uken har jeg ikke gjort skam på min ordrehistorikk. Følgende komponenter har jeg bestilt, for å hjelpe å holde liv i banken min DNB som sliter med oppsigelser for tiden

Romeo V2

Av mange arduinobaserte kretskort på markedet, er dette en som er fin for å starte utviklingen på. Det er mye som kan brukes ut av boksen, uten å fikle for mye med løse komponenter, breadboards og loddetangen. Jeg er for all del ikke redd for en loddetang, men det er greit å ha et proto-brett som er fleksibelt og kan benyttes til mer enn en ting. Her er det utallige muligheter, det er vel i praksis fantasien som setter grenser. ( lenke )


Bilde hentet fra dfrobot.com

Støvsensor

En sensor for å måle støvpartikler, enkelt og greit :-) Den bruker optisk måling av partikler, samt det er en motstand som fungeer som varmeelement for å skape sirkulasjon av luften. ( lenke )

Sensoren brukes ofte i luftrensere og har visstnok ganske god kvalitet når det gjelder nøyaktighet av svevestøvmålinger (PM2.5). Den kan påvirkes av lysinntrengning bak sensoren, da det er optisk virkemåte.
Bilde hentet fra dfrobot.com

Støvsensoradapter

For å koble støvsensoren opp, er det en fordel med adapteren,. Denne gjør at man med enkelhet kan koble sensoren mot Arduino. (lenke)


Bilde hentet fra dfrobot.com

Barometrisk sensor

Den barometriske sensoren BMP180 fungerer ved å måle trykk og temperatur. Høyde og trykk har ikke et statisk forhold, selv jordens rotasjon påvirker dette. Ofte er det slik at man kalibrerer telefoner og annet ved enten sjønivå (0 meter over havet), eller ved en kjent høyde. Dette blir da utfallet av en ligning med ukjent. En utfordring med høydemåler er at høyden da vil påvirkes av temperaturen, siden trykket endres ved temperatur. Dette kompanseres dog ved å bruke bibliotek til sensoren.

Bilde hentet fra ebaylenken nedenfor

Jeg kjøpte to sensorer på ebay, til kr. 11 per stk ( lenke

MircoSD

Mikrokontrollere har som kjent lite lagring, vi snakker her ikke megabytes men kilobytes. Det er plass til lite programmering og plass til enda mindre lagring. Hva hvis kommunikasjonen går ned? Kanskje man bør bufre til microsd og overføre ved gitte intervaller?
Bilde hentet fra ebay.

XBee USB Adapter

Dette adapteret er strengt tatt ikke nødvendig, men det gjør at man kan flytte radiodelen lenger unna kretskortet. Adapterkotet skal benyttes sammen med mottakerside (Rasberry Pi 2) og det blir da bare å koble opp primært jord, +5v, rx til tx og tx til rx (data). Kortet kostet hele 26,54 Kr på ebay! XBee er altså en formfaktor som kan brukes til mange forskjellige trådløse teknologier, men denne adapteren gjør at du kan enten bruke dupont-kabler eller usb-kabel ut mot mikrokontrollerens kretskort.
Bilde hentet fra ebay

XRF XBee

Jeg bestilte to stykker XRF Xbee, hvor av en skal monteres inn i XBee USB Adapteren og deretter skal jeg bruke dupont kabler ned til Rasberry Pi 2. Den andre skal monteres rett i socketen på Arduino Romeo V2. Det blir rene "Plug and pray".

Bilde hentet fra dfrobot.com
Nå skal det sies at en alternativ løsning enn å kjøpe to XRF XBee i mitt tilfelle, ville være å kjøpe en "Slice of radio" som er laget for å monteres rett på IO socketen til Rasberry Pi. Men det jeg ikke likte med "Slice of Radio"; er at den dekker over alle IO-pins. Det vil jo si man må enten la vær å bruke resten, eller man må stacke mye i høyden. Ved å derimot bruke den adapteren ovenfor fra ebay, vil jeg kunne bruke dupont kabler ned på IO-pins som er aktuelle å bruke (RX mot TX og TX mot RX).

Med XRF XBee har man mulighet for lang rekkevidde og lavt forbruk, det er også mulig å sette den i sovemodus når radiomodulen ikke er aktiv. I teorien kan man også koble dupontkabler rett på XRF XBee og man trenger ikke drivere hvis man gjør det på denne måten. Det fins jo alternative løsninger som bruker usb-adaptre som vil kreve drivere i Linux.

Analog Ambient Light Sensor

Det er rett å slett en lyssensor, bestilte to på gøy fra dfrobot.com.
Det er ingen begrensninger for hva man kan bruke denne til, så fremt man bare vil bruke den til noe som har med lysnivå å gjøre :-) Eksempel kan være å slå av taklyset når det er lyst nok ute, eller slå på lyset når det er mørkt ute.. Begge deler er selvsagt også mulig!

Bilde hentet fra dfrobot.com

DHT11 Temperatur og fuktsensor

Sensoren måler fukt og temperatur, men er da naturligvis påvirkelig av kretskortenes varmeutvikling, så vel som lysinntrengning. Nøyaktighetsgraden er +-1C, DHT22 har +-0.5C som nok kanskje egentlig er et bedre valg.. Etterpåklokskap er også klokskap, vil jeg påstå! Nok et produkt fra dfrobot.com

Bilde hentet fra dfrobot.com

Kabler

Det er ikke et must, da man får kabler med adapterne og enhetene fra dfrobot, men det skader ikke å ha noe slitk liggende. I alle fall ikke når det er hele 11,56kr på ebay! Dette heter altså "dopont male to female". Det kan også hete noe som "dupont wire jumper cable".
Bilde hentet fra ebay



Takk til

På lik linje med de som vinner en oscarnominasjon, føler jeg at jeg må takke litt for min egen handleliste. Jeg har ikke bare gått random amok med bankkortet mitt, jeg har faktisk fått litt hjelp til å filtrere ut hva som kan være greie produkter (med unntak av et par av sensorene og kablene, der gikk jeg kanskje amok på egenhånd).

Men uansett er det en digresjon. Nils Jacob Berland har hjulet meg med tips og råd, jeg snublet for en tid tilbake over friskby bergen ( https://www.facebook.com/friskbybergen?fref=ts ), som har et spennende prosjekt med å få frisk luft inn i ryggmargen til skoler. Prosjektet vil jeg si er en innovasjonsprosess både ved at man får elever til å jobbe med utvikligen av - og utplassere sensorer. Dette er et spennende prosjekt som fattet min interesse og jeg tok kontakt med de på facebook for en tid tilbake.

Det er helt sikkert mulig for flere å slenge seg på, om man jobber med visualisering, modellering av data, kommunikasjon, maskinvare, osv. For meg er dette spennende, særlig at alt blir åpen kildekode og at man kan selv utvikle sine egne punkter.