Përmbajtje:

Mini ndriçues ndriçues ATTiny-RAT, ATTINY: 3 hapa
Mini ndriçues ndriçues ATTiny-RAT, ATTINY: 3 hapa

Video: Mini ndriçues ndriçues ATTiny-RAT, ATTINY: 3 hapa

Video: Mini ndriçues ndriçues ATTiny-RAT, ATTINY: 3 hapa
Video: 💡Ndriçues Dekorativ LED RGB 2024, Nëntor
Anonim
Mini Lightfollower ATTiny-RAT, ATTINY Powered Mini Light
Mini Lightfollower ATTiny-RAT, ATTINY Powered Mini Light
Mini Lightfollower ATTiny-RAT, ATTINY Powered Mini Light
Mini Lightfollower ATTiny-RAT, ATTINY Powered Mini Light
Mini Lightfollower ATTiny-RAT, ATTINY Powered Mini Light
Mini Lightfollower ATTiny-RAT, ATTINY Powered Mini Light
Mini Lightfollower ATTiny-RAT, ATTINY Powered Mini Light
Mini Lightfollower ATTiny-RAT, ATTINY Powered Mini Light

Përshëndetje njerëz, ka kaluar një kohë që kur kam postuar udhëzuesin tim të fundit. Epo ka shumë gjëra që po më rrjedhin në kokë tani, por unë arrita të dokumentoj "hapat e mi të parë" me seritë e patate të skuqura ATTiny në këtë udhëzim të shkurtër për ju.

Kam porositur disa mostra ATTINY85 vetëm sepse doja t’i provoja:-) (të gjithë i duan testimi i gjërave, apo jo?). Pas kësaj fillova të vizatoja disa ide në fletoren time. Për të qenë i sinqertë gjëja e parë që bëra ishte ndezja e një LED që është si gjithmonë një fillim i mirë për të kontrolluar nëse konfigurimi/zinxhiri juaj i veglave po funksionon. Unë gjithashtu provova një regjistrues të temperaturës dhe lagështisë me DHT22 dhe SoftwareSerial. Ishte një gjë e ndërlikuar sepse Bibliotekat DHT janë kryesisht për orën 16Mhz (nëse planifikoni të bëni diçka të tillë, kontrolloni se si të parashkruani orën e brendshme). Por vendosa t'ju tregoj diçka që është, edhe më qesharake. BTW: Kam ngarkuar një nga vizatimet e mia për ju, nuk është një Rembrandt, por do t'ju tregojë se si e mora këtë ide (vërtet) budallaqe në një copë letër: -P.

Kam përdorur vetëm gjërat që kisha shtrirë për ta mbajtur këtë projekt sa më të lirë (për mua). Rezultati i kësaj aventure të vogël është një "robot i vogël ndriçues" i bukur për rreth 10-15 $ (3 $ për mua:-P)

Pra, nëse jeni të interesuar për ATTINY veten, thjesht lexoni më tej.

BTW: më falni për anglishten time të keqe (nuk jam folës amtare)

Hapi 1: Fillimi me ATTiny & Tools & Materials

Fillimi me ATTiny & Tools & Materials
Fillimi me ATTiny & Tools & Materials
Fillimi me ATTiny & Tools & Materials
Fillimi me ATTiny & Tools & Materials
Fillimi me ATTiny & Tools & Materials
Fillimi me ATTiny & Tools & Materials
Fillimi me ATTiny & Tools & Materials
Fillimi me ATTiny & Tools & Materials

Çfarë do t'ju duhet për të filluar:

- një çip ATTiny85

- një Arduino UNO ose të ngjashme

-abreadboard me ndonjë tela bluzë ose një programues ATTINY ose bëni vetë një mburojë programuesi për Arduino (kontrolloni fotografitë e bashkangjitura, ka një skemë nga avdweb.nl). Unë gjithashtu e bëra këtë dhe jam vërtet i kënaqur me të i vetmi modifikim që bëra ishte se shtova një prizë për Serinë ATTinyx4 (referojuni figurës dhe diagrameve pinout).

- Arduino IDE (e merrni këtu)

- skedarët e harduerit për ArduinoIDE (shkarkoni dhe instaloni ato)

Info-lidhje me shesh lojërash Lidhje direkte me skedarët github që kam përdorur

- ngarkoni skicën Arduino si ISP në UNO (ky do të jetë programuesi juaj)

- ndiqni këtë udhëzim (https://highlowtech.org/) ose këtë të udhëzueshëm (nga ardutronix) dhe provoni skicën "mbyll sytë" (modifikoni numrin PIN Nr. përdorni figurën ATTINY si referencë! do t'ju duhet ATTINY e paraflasur një LED dhe një Rezistencë O 220Ohm për këtë)

Bëni një rregullim të vogël të bukës për të kontrolluar gjithçka. Nëse keni bërë gjithçka siç duhet, LED do të pulsojë dhe jeni gati për të shkuar

MJETET

- Hekur për saldim- disa saldime- një gërshetues i vogël- një dremel ose mjet tjetër rrotullues (vetëm për prerjen e PCB!)- disa ngjitës- piskatore- tela

MATERIALE

- prototipizimi i PCB-së (~ 4cmx6cm do ta bëjë)- 2x LDR- 5x 10k Rezistencë (2x për LDR-të dhe 2x për transistorët BE, 1x LED)- 1x 330Ohm Rezistencë (1x NEOPIXELS)- 2x LDR- 1x LED (ngjyra juaji zgjedhje, në vend të rrotës rrotull)- 3x NEOPIXEL WS2812- 2x Transistor (BD137 ose i ngjashëm)- 2x Diodë (1N4001 ose të ngjashme)- 2x mikromotor (p.sh. nga një mikro-kuadopter Hubsan)- 1x ATTINY85 + opsional (rekomandohet) 8PIN IC Socket- 1x 1s LIPO (kam përdorur një 140Ah nga një helikopter i vjetër RC)- disa koka pinjash/priza- shrinktube (strehim LDR)

Le të vazhdojmë duke ndërtuar pajisjet…

Hapi 2: Pajisje kompjuterike

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Nëse keni një vështrim në skemat që kam bashkangjitur, konfigurimi i harduerit është mjaft i thjeshtë. Pra, nëse jeni në gjendje të lexoni skema dhe të përdorni një hekur bashkues, kjo është gjysma e mashtrimit. Gjithashtu hidhini një sy fotove, shtova disa shënime për ju.

Unë nuk ofroj një plan për prerjen e PCB -së, ju keni lirinë për të bërë modelin tuaj (jini krijues dhe na tregoni Bots tuaj të Vogël). Vendosja e të gjitha komponenteve elektronike varet edhe nga ju. Disa sugjerime nga ana ime:

Mundohuni të caktoni motorët saktësisht (shikoni këndin!) Ne përdorim vetëm boshtin e motorit në vend të rrotave. (kjo do të konsumojë më pak energji) Unë rekomandoj të vendosni motorët nën baterinë (pesha) dhe të përdorni LDR në pjesën e përparme (me kënd 45 °) të çiftuar me LED (po përpiqem ta përdor këtë kombinim për shmangien e pengesave, më tej nevojiten teste).

Më tej ju rekomandoj të bëni një kërcyes pak on/off në mënyrë që bateria të mos humbasë aq lehtë.

Nëse ka ndonjë gjë të paqartë ose nëse keni pyetje, thjesht më pyesni. Nuk do të bëjë që shumë pleq të bëjnë një tezë nga ky projekt i vogël.

Hapi 3: Softuer

Softuer
Softuer
Softuer
Softuer

Së pari, shkarkoni dhe instaloni Bibliotekën ADAFRUIT Neopixel

Këtu është kodi im me disa përshkrime kryesore (shtova gjithashtu skedarin e skicës). Unë nuk komentova çdo hap sepse mendoj se nuk është e nevojshme.

Ngarko skicën në ATTiny85 dhe argëtohu me lodrën tënde të re

Idetë për funksionin "personalitet" + ndoshta shembujt e kodit janë shumë të mirëpritur:-)

Nëse ka ndonjë pyetje, mos ngurroni të pyesni.

Shpresoj se ju ka pëlqyer udhëtimi im i shkurtër udhëzues dhe udhëtimi i vogël në botën e ATTINY -ve.

/* ATTINY85-Robot i thjeshtë me energji ATTINY85 që ndiq dritën. Versioni 2.0, nga Auer Markus */

#përfshi

#përfshi

// motorët

#define LMOTOR 0 #define RMOTOR 1 // LEDs #define PIXELPIN 2 #define NUMPIXEL 3 // LDRs #define LLDR A2 #define RLDR A3

// tjetër emo = 0; noton kalib; emostate boolean; oldmillis të gjatë; // përcakto NeopixelsAdafruit_NeoPixel PIXEL = Adafruit_NeoPixel (NUMPIXEL, PIXELPIN, NEO_GRB + NEO_KHZ800);

void setup ()

{// ora luksoze tjetër do të hasni në disa probleme të kohës (libri neopixel është shkruar për 16MHz) #nëse është përcaktuar (_AVR_ATtiny85_) nëse (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif

// PINMODE pinMode (LMOTOR, OUTPUT); pinMode (RMOTOR, OUTPUT); pinMode (LLDR, INPUT); pinMode (LLDR, INPUT); // inicoj piksele PIXEL.begin (); PIXEL.shfaq (); vonesë (500); // fillimi i pasojave për (int i = 0; i

lak void ()

{if (ndiqni dritën () == 1) {majtas (); } else if (ndiqni dritën () == 2) {djathtas (); } else if (ndiq dritën () == 0) {përpara (); } emocion (); }

int lightfollow () {

pragu int = 14; int rezultati = 0; noton majtas = 0; noton djathtas = 0; mostrat int = 1; // lexoni LDR për (int j = 0; j <mostra; j ++) {

majtas = majtas + analogRead (LLDR); djathtas = djathtas + (analogRead (RLDR)*kalib);

}

// llogarit rezultatin (nga cili drejtim vjen drita?)

nëse ((majtas/mostrat)> ((djathtas/mostrat)+pragu)) {rezultati = 2;}

përndryshe nëse ((majtas/mostrat) <((djathtas/mostrat) -faza)) {rezultati = 1;}

tjetër {rezultati = 0;}

rezultati i kthimit; } void përpara () {// Përpara analogWrite (LMOTOR, 230); analogWrite (RMOTOR, 230); PIXEL.setPixelColor (0, PIXEL. Color (0, 0, 255)); PIXEL.setPixelColor (2, PIXEL. Color (0, 0, 255)); PIXEL.shfaq (); }

bosh majtas () {

// LEFT analogWrite (LMOTOR, 150); analogWrite (RMOTOR, 255); PIXEL.setPixelColor (0, PIXEL. Color (0, 0, 255)); //PIXEL.setPixelColor(1, PIXEL. Color (75, 0, 0)); PIXEL.setPixelColor (2, PIXEL. Color (0, 100, 0)); PIXEL.shfaq (); }

bosh djathtas () {

// DREJTA analogWrite (LMOTOR, 255); analogWrite (RMOTOR, 150); PIXEL.setPixelColor (0, PIXEL. Color (0, 100, 0)); PIXEL.setPixelColor (2, PIXEL. Color (0, 0, 255)); PIXEL.shfaq (); }

// kjo është për eksperimente të mëtejshme, duke u përpjekur t'i japim këtij një personalitet të vogël:-) Unë jam duke testuar atë që mund të jetë në gjendje të bëjë, por ende nuk ka ide të mira.

emocion i pavlefshëm () {int emotimer = 2500; kohëzgjatja int = e rastësishme (250, 750); if (millis () - oldmillis> emotimer) {oldmillis = millis (); emo = e rastësishme (1, 4); } if (millis () - oldmillis> kohëzgjatja) {emostate =! emostate; } if (emostate == true) {switch (emo) {case 1: PIXEL.setPixelColor (1, PIXEL. Color ((255), (255), (255))); PIXEL.shfaq (); pushim; rasti 2: PIXEL.setPixelColor (1, PIXEL. Color ((255), (0), (0))); PIXEL.shfaq (); pushim; rasti 3: PIXEL.setPixelColor (1, PIXEL. Color ((0), (255), (0))); PIXEL.shfaq (); pushim; parazgjedhje: PIXEL.setPixelColor (1, PIXEL. Color (e rastësishme (0, 255), e rastësishme (0, 255), e rastësishme (0, 255))); PIXEL.shfaq (); pushim; }} else {PIXEL.setPixelColor (1, PIXEL. Color (25, 0, 0)); PIXEL.shfaq (); }}

Recommended: