Cogni lærer elektronikk og Arduino fra bånn

Fra Bitraf
Hopp til: navigasjon, søk

Grunnleggende elektronikk og Arduino

Ulike komponenter for elektronikk

Mange slags roboter og automater kan lages med ferdige kretskort og noen få komponenter.

Populære input-komponenter (roboters sanser):

  • Temperatursensor
  • Lyssensor
  • Lydsensor
  • Fuktighetssensor
  • Vannivåmåler
  • Bevegelsessensor
  • Avstandsmåler
  • Vibrasjonssensor
  • IR-sensor
  • Wifi-sensor
  • Key pad

Populære output-komponenter (roboters handlinger):

  • LEDlys
  • Buzzer
  • LED panel
  • Lydopptaker\avspiller
  • SD-kortleser
  • Motorer
    • Servo motor
    • Solenoid motor
    • Stepper motor
    • DC motor

Mye av dette ligger i UserMart. For betalende medlemmer ligger det også en del ulike kretskort og motorer tilgjengelig gratis.

2018.08.25 Prosjekt Arduino-bil - Cogni lager elektronisk bil for Arduino

Dagens mål

Sette sammen en enkel, elektrisk bil, som senere kan styres med Arduino.

Komponenter:

  • 1 pakke Smart car fra Ebay, 64 NOK ink frakt.
    • 2 hjul med motor (husker ikke hva slags, mulig servomotor)
    • 1 brett med skruehuller
    • 1 svingehjul med kulelager
    • 1 strømbryter
  • 1 random batteriholder
  • enkle, selvskåre ledninger

Resultater

Batteriholderen jeg brukte var sannsynligvis en annen enn den jeg fikk med i pakken jeg kjøpte. Hjulene ble seriekoblet til batteriholderen for å gjøre det helt enkelt. Bilen kjører fremover eller bakover avhengig av hvordan ledningene puttes inn.

Hvordan den medfølgende bryteren skal kobles til har jeg ikke funnet ut ennå.

Enkel bil1.jpg

Faren min viste meg at hastigheten på hjulene avhenger av hvor ledningene festes til batteriholderen. Minst 4 ulike hastigheter på hjulene viste seg enkelt å få til. Han mente dog at batteriholderen (som er kinaproduksjon) var koblet "rart" og ikke oppførte seg som forventet, så han kunne ikke forklare nøyaktig hvordan den fungerte.

Videre planer

Neste planlagte steg er å få et hjul til å svinge.

Løsninger jeg så på nett innebærer å bruke en ytterligere motor til å flytte hjulet i forhold til brettet som hjulet er skrudd fast i. Dette tenker jeg isåfall å kjøpe inn, jeg har for lite ledig tid til å tenke ut og laserkutte en teknisk løsning.

Fars første forslag var isteden å sende ulik hastighet til hjulene, slik at ene hjulet kjører mer enn det andre og dermed svinger bilen. Han foreslo å paralellkoble hjulene til batteriholderen, og koble ledningene til batteriholderen avhengig av hvor fort hvert hjul skal kjøre.

Etterpå ble jeg usikker på hvordan jeg skal få til at ledningene skal flyttes på mens bilen kjører.... Trodde han jeg ville ha en bil som svinger permanent?


Jeg har også planer om å koble til Arduino og en sensor eller flere, for å bruke sensorene til å styre når og hvor bilen skal kjøre. I beste fall kan jeg på lang sikt klare å lage en bil som kjører rundt med en bolle kattemat, som stikker av når kattene mine nærmer seg... ingen nye kalorier uten å brenne noen kalorier først :)

2018.09.13 Prosjekt Arduino-bil - Hvordan få hjul på en bil til å svinge

Dagens notater ble borte ved et uhell :( Long story short: nothing accomplished. Jeg må lære mer om hvordan DC-motorer fungerer ulikt fra steppermotorer og servomotorer, og skjønne hvorfor det og det scriptet ikke fungerer.

2018.09.15 Prosjekt Arduino-bil - Wifi-adapter og småtterier

Idag tenkte jeg å teste og prøve meg litt frem med noen moduler jeg ikke har rørt ennå.
Jeg har et "ESP-01 adapter" liggende. Hva er dette for noe da? Jeg har kjøpt altfor mye for altfor lenge siden til å huske.

Jeg finner ut at jeg trolig har kjøpt modulen for å lære å koble Arduino til wifi. Så finner jeg først ut at jeg ikke har tatt med de rette ledningene til å koble modulen til brettet.
Deretter leser jeg på nett at denne modulen er bare en slags mellomkobling, mellom Arduino og den egentlige wifi-modulen... som jeg ikke har kjøpt. Etter å ha sjekket bilde rpå nett av hva andre gjør, så bestilte jeg det som ser ut til å være selve wifi-modulen.

Så tenkte jeg å teste et display jeg har, med 2 digits og 2 ledninger. Dette klarte jeg ikke finne ut hvordan er ment å kobles, finner 0 bilder av lignende på nett.

Kanskje det skal kobles til GND og en dig.pin? Gidder ikke teste med så lite informasjon\peiling.

Deretter leste jeg litt rundt på problemet mitt den andre dagen, om å få DC-motorer til å gå i ulike hastigheter. Jeg fant et bilde som tyder på at jeg trenger "motor shield", som jeg funderte på igår.
Arduino-dc-motor-shield.jpg


Det virker som det finnes ulike motor shield til ulike typer motorer og ulike kretskort. For DC-motor og Arduino Uno bestilte jeg denne.

2018.09.21 Diverse testing

Idag tester jeg diverse utstyr som jeg kjøpte for 2-3 år siden og ikke har fått testet ennå.

Deriblant testet jeg en vibrasjonsensor av denne typen.
Den har 3 pins, GND, OUT (kobles til digital pin) og VCC (kobles til 3.3\5v).
I tillegg har den en kalibreringsbryter, aka trigger level eller sensitivity adjust.

Jeg ga opp å få denne sensoren til å fungere, ettersom jeg fikk 0 som input uansett hvor mye jeg vridde kalibreringen den ene eller andre veien. Gjetter modulen er defekt mtp kinaproduksjon.

Så testet jeg en vannivåmåler som denne.

Den har 3 pins ut, - (GND), + (3.3\5v), S (digital pin).
Jeg fikk den til å fungere ved hjelp av scriptet her.

Hva kan jeg bruke denne til da?
Den kan brukes til å måle vannstand i potteplanter, akvarier, kjellere o.l. Jeg har ikke akvarie eller kjeller, og det er for dyrt å sette av en Arduino med sensor for hver eneste potteplante jeg har. I teorien skal det gå an å koble flere sensorer sammen og lage en oversikt over ulike potteplanters vannivå, men da blir det mye ledninger og rot.

Deretter testet jeg en avstandsmåler.

Den har 4 pins: Vcc (5v, 3.3v funker ikke), Trig (dig.ping), Echo (dig.pin), GND.
Lenke til scriptet jeg bruker (satt sammen av kode fra nett og egne modifikasjoner).
Sensoren fungererer, men trenger litt knotete kode for å være nyttig.

Kobling av avstandsmåler og motor


Hva kan jeg bruke denne til nå da?
Den kan settes på Arduinobilen jeg vil lage, for å fortelle den at den nærmer seg en vegg. Om jeg setter på 2 stykker, en mot høyre og en mot venstre, så kan jeg fortelle bilen hvilken vei den skal snu.
Den kan settes på katteleker som skal respondere på kattenes bevegelser i nærheten, feks ved at den kobles til en motor som får en lekemus til å bevege seg.
Den kan kobles til lyd og lys og settes inni en figur, som en hilsen når det kommer besøk.
Den kan settes utenfor balkongdøren og kobles til lyd og lys for å si ifra når kattene vil inn fra balkongen, nyttig om vinteren når det er svart og vanskelig å se kattene.

2018.09.24 Hvordan mate to katter med ulike matbehover, Arduino style

Jeg irriterer meg stadig over en praktisk utfordring.
Jeg har 2 katter, hvor begge trenger slanking og trenger ulik mat (den ene er allergisk mot den andres slankemat). Resultatet er at jeg ikke kan la mat stå fremme (for da spiser de altfor mye og minst èn av dem ender med å spise feil mat), og hver gang jeg drar på jobb blir de gående uten mat i 9-10 timer.
Tenk deg hvor gøy det er å gå uten mat i 9-10 timer hver dag, jeg blir utslitt av bare 4 timer uten mat. I tillegg må jeg rett hjem etter jobb hver dag for å mate dem, før jeg kan dra andre steder. Inconvenient.

Spørsmålet er selvfølgelig hvordan jeg kan mate kattene jevnlig, med riktig mat til hver katt, uten å være til stede.

Fra før har jeg kjøpt chip-aktiverte matmaskiner til hver av kattene. Expensive stuff, men eneste måte å sikre at begge får akkurat den maten de skal ha.
Dessverre kan jeg ikke bare stappe disse med mat, for da sluker kattene alt på null blank og går opp i vekt. Jeg trenger altså en timeraktivert matpåfyller i tillegg.
Hvordan kan jeg få en timeraktivert matemaskin til å slippe ut maten på et sted hvor kun riktig katt får tak i det?

Mulig løsning:
Sett en timeraktivert kattemater inni en snekret boks med RFID-aktivert kattedør. Hele greia kan løses med en Arduino, en RFID-sensor, to motorer og litt snekring.

Se for deg en sånn spiseboks sammen med en sånn matemaskin.

Jeg har allerede bestilt 3 ulike RFID-lesere for Arduino og har allerede stepmotoren på bildet av matmaskinen. Det blir utålmodig venting.

2018.11.08 Enkelt lys til miniatyrhus

Jeg har lyst til å lage noe lignende av hva min mor lagde da hun var tenåring: Et miniatyrhus med innlagt enkel strøm og lys, alt laget fra de enkleste bestanddeler.

Jeg har laserkuttet vegger til en miniatyrbolig, og strøm og lys gjenstår.
Er det så enkelt at jeg bare tar noen enkle wires og dytter dem på et battery og et lys?

Idag fant jeg ut at det korte svaret er ja. Det lengre svaret er at man bør velge "riktig" batteri for det lyset man bruker.
Da jeg koblet en batteriholder med 4x 1.5v til lyset så fikk jeg lys, men LED'n ble kokvarm. Tror lyset blir fort brent istykker på den måten.
Hvis jeg isteden koblet LED'n til 1x 1.5v så fikk jeg overhodet ikke lys.
Jeg fikk en mistanke om at man må ha en viss mengde volt for å få liv i selv en liten LED-fjert, og fant ut med Google at det stemmer:
https://kithub.cc/2015/11/how-many-volts-are-needed-to-power-an-led-2/
Man må regne med å trenge nærmere 3 volt for å få lys i 1 LED, altså 2x 1.5v batterier.
Behovet varierer samtidig avhengig av fargen på LED'n... gidd :p

Nå må jeg finne eller kjøpe en 2x 1.5v batteriholder.