Kazalo:
Video: Mini svetlobni sledilnik ATTiny-RAT, ATTINY: 3 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:05
Živijo družba, minilo je že kar nekaj časa, odkar sem objavil zadnjo navodilo. No, v moji glavi se trenutno dogaja marsikaj, vendar sem uspel dokumentirati svoje "prve korake" s čipi serije ATTiny v tem kratkem navodilu za vas.
Naročil sem nekaj vzorcev ATTINY85 samo zato, ker sem jih želel preizkusiti:-) (vsi radi preizkušajo stvari, kajne?) Nato sem začel risati nekaj idej v svoj prenosnik. Če sem iskren, sem najprej utripal LED, ki je kot vedno dober začetek za preverjanje, ali vaša nastavitev/veriga orodij deluje. Poskusil sem tudi zapisovalnik temperature in vlažnosti z DHT22 in SoftwareSerial. To je bilo težavno, saj so knjižnice DHT namenjene predvsem 16 -urni uri (če nameravate narediti kaj takega, preverite, kako prednastavite notranjo uro). Odločil sem se, da vam pokažem nekaj, kar je prav smešnejše. BTW: Za vas sem naložil eno od svojih risb, ki ni Rembrandtova, ampak vam bo pokazalo, kako sem to (res) neumno idejo dobil na kos papirja: -P.
Uporabljal sem samo stvari, ki sem jih imel naokoli, da bi bil projekt čim cenejši (zame). Rezultat te male pustolovščine je lep mali "svetlobni robot" za približno 10-15 $ (3 $ zame:-P)
Če vas torej zanima ATTINY, samo preberite več.
BTW: oprosti za mojo slabo angleščino (nisem materni govornik)
1. korak: Začnite z ATTiny & Tools & Materials
Kaj boste potrebovali za začetek:
- čip ATTiny85
- Arduino UNO ali podobno
-potegnite desko z nekaj skakalnice ali programerja ATTINY ali pa sami naredite ščitnik za Arduino (preverite priložene slike, shema je na avdweb.nl). Tudi jaz sem naredil to in sem zelo zadovoljen z njo, edina sprememba, ki sem jo naredil, je bila ta, da sem dodal vtičnico za serijo ATTinyx4 (glej sliko in diagrame pinout).
- Arduino IDE (dobite ga tukaj)
- datoteke strojne opreme za ArduinoIDE (prenesite in namestite)
Info-Link do playgrounddirect Link do datotek github, ki sem jih uporabil
- naložite skico Arduino kot ISP na UNO (to bo vaš programer)
- sledite tem navodilom (https://highlowtech.org/) ali tem navodilom (avtor ardutronix) in poskusite skico "utripajoče" (spremenite številko PIN. Uporabite sliko ATTINY kot referenco! potrebovali boste vnaprej utripano lučko ATTINY LED in upor ~ 220Ohm za to)
Naredite majhno ploščico, da preverite vse. Če ste vse naredili pravilno, bo LED utripala in pripravljeni ste
ORODJA
- spajkalnik- nekaj spajkanja- majhen kosač- dremel ali drugo vrtljivo orodje (samo za rezanje tiskanega vezja!)- nekaj vročega lepila- pinceta- žice
MATERIALI
- izdelava prototipov tiskanega vezja (~ 4cmx6cm bo to naredilo)- 2x LDR- 5x 10k upor (2x za LDR in 2x za tranzistorje BE, 1x LED)- 1x 330Ohm upor (1x NEOPIXELS)- 2x LDR- 1x LED (barva vaše izbira, namesto kolesca)- 3x NEOPIXEL WS2812- 2x tranzistor (BD137 ali podobno)- 2x dioda (1N4001 ali podobno)- 2x mikromotor (npr. iz mikro kvadrokopterja Hubsan)- 1x ATTINY85 + neobvezno (priporočeno) 8PIN IC vtičnica- 1x 1s LIPO (uporabil sem 140Ah iz starega RC-helikopterja)- nekaj zatičev/vtičnic- skrčna cev (ohišje LDR)
Nadaljujmo z izdelavo strojne opreme …
2. korak: Strojna oprema
Če pogledate priložene sheme, je nastavitev strojne opreme precej preprosta. Če torej znate brati sheme in uporabljati spajkalnik, je to polovica trika. Oglejte si tudi fotografije, za vas sem dodal nekaj zapiskov.
Ne podajam načrta za rezanje tiskanega vezja, imate svobodo pri oblikovanju lastne zasnove (bodite ustvarjalni in nam pokažite svoje drobne robote). Od vas je odvisna tudi postavitev vseh elektronskih komponent. Nekaj namigov z moje strani:
Poskusite natančno poravnati motorje (pazite na kot!) Uporabljamo samo gred motorja namesto koles. (to bo porabilo manj energije) Priporočam, da motorje postavite pod baterijo (teža) in uporabite LDR spredaj (pod kotom 45 °) v paru z LED diodo (to kombinacijo poskušam uporabiti za izogibanje oviram, nadalje potrebni so testi).
Poleg tega priporočam, da naredite majhen vklop/izklop, da se baterija ne bo tako enostavno izgubila.
Če je kaj nejasnega ali če imate vprašanja, me vprašajte. Ne bo veliko senesov, ampak naredi tezo iz tega malega projekta.
3. korak: Programska oprema
Najprej prenesite in namestite knjižnico ADAFRUIT Neopixel
Tukaj je moja koda z nekaj glavnimi opisi (dodal sem tudi datoteko skice). Nisem komentiral vsakega koraka, ker mislim, da to ni potrebno.
Skico naložite na svoj ATTiny85 in se zabavajte s svojo novo igračo
Ideje za funkcijo "osebnosti" + morda so primeri kod zelo dobrodošli:-)
Če imate kakršna koli vprašanja, vas prosimo, da vprašate.
Upam, da ste uživali v mojem kratkem pouku in malem potovanju v svet ATTINY.
/* ATTINY85-Rata preprost robot, ki ga poganja ATTINY85. Različica 2.0, avtor Auer Markus */
#vključi
#vključi
// motorji
#define LMOTOR 0 #define RMOTOR 1 // LEDs #define PIXELPIN 2 #define NUMPIXEL 3 // LDRs #define LLDR A2 #define RLDR A3
// otherint emo = 0; plavajoča kalibracija; boolean emostate; dolgi oldmillis; // določimo NeopixelsAdafruit_NeoPixel PIXEL = Adafruit_NeoPixel (NUMPIXEL, PIXELPIN, NEO_GRB + NEO_KHZ800);
void setup ()
{// upscale clock drugače boste naleteli na nekaj časovnih težav (neopixel lib je zapisan za 16MHz) #če je definirano (_AVR_ATtiny85_) if (F_CPU == 16000000) clock_prescale_set (clock_div_1); #endif
// PINMODE pinMode (LMOTOR, OUTPUT); pinMode (RMOTOR, IZHOD); pinMode (LLDR, INPUT); pinMode (LLDR, INPUT); // inicializiramo slikovne pike PIXEL.begin (); PIXEL.show (); zamuda (500); // začetno zaporedje za (int i = 0; i
void loop ()
{if (lightfollow () == 1) {left (); } else if (lightfollow () == 2) {right (); } else if (lightfollow () == 0) {forward (); } emocija (); }
int lightfollow () {
int treshold = 14; int rezultat = 0; lebdi levo = 0; lebdi desno = 0; int vzorci = 1; // beremo LDR za (int j = 0; j <vzorci; j ++) {
levo = levo + analogno branje (LLDR); desno = desno + (analogRead (RLDR)*calib);
}
// izračunamo rezultat (iz katere smeri prihaja svetloba?)
če ((levo/vzorci)> ((desno/vzorci)+prag)) {rezultat = 2;}
else if ((left/vzorci) <((desno/vzorci) -treshold)) {rezultat = 1;}
drugače {rezultat = 0;}
povratni rezultat; } void forward () {// Posreduj analogWrite (LMOTOR, 230); analogWrite (RMOTOR, 230); PIXEL.setPixelColor (0, PIXEL. Color (0, 0, 255)); PIXEL.setPixelColor (2, PIXEL. Color (0, 0, 255)); PIXEL.show (); }
void left () {
// LEVI 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.show (); }
void right () {
// DESNO analogWrite (LMOTOR, 255); analogWrite (RMOTOR, 150); PIXEL.setPixelColor (0, PIXEL. Color (0, 100, 0)); PIXEL.setPixelColor (2, PIXEL. Color (0, 0, 255)); PIXEL.show (); }
// to je za nadaljnje poskuse, ki temu poskušam dati malo osebnosti:-) preizkušam, kaj bi lahko naredil, a dobrih idej še ni.
void emotion () {int emotimer = 2500; int trajanje = naključno (250, 750); if (millis () - oldmillis> emotimer) {oldmillis = millis (); emo = naključno (1, 4); } if (millis () - oldmillis> trajanje) {emostate =! emostate; } if (emostate == true) {switch (emo) {primer 1: PIXEL.setPixelColor (1, PIXEL. Color ((255), (255), (255))); PIXEL.show (); prekiniti; primer 2: PIXEL.setPixelColor (1, PIXEL. Color ((255), (0), (0))); PIXEL.show (); prekiniti; primer 3: PIXEL.setPixelColor (1, PIXEL. Color ((0), (255), (0))); PIXEL.show (); prekiniti; privzeto: PIXEL.setPixelColor (1, PIXEL. Color (naključno (0, 255), naključno (0, 255), naključno (0, 255))); PIXEL.show (); prekiniti; }} else {PIXEL.setPixelColor (1, PIXEL. Color (25, 0, 0)); PIXEL.show (); }}
Priporočena:
Namizni sledilnik COVID19 s uro! Sledilnik z napajanjem Raspberry Pi: 6 korakov
Namizni sledilnik COVID19 s uro! Raspberry Pi Powered Tracker: Vemo, da lahko kadar koli umremo, tudi jaz lahko umrem med pisanjem te objave, navsezadnje smo jaz, ti, vsi smo smrtniki. Zaradi pandemije COVID19 se je ves svet tresel. Vemo, kako to preprečiti, ampak hej! vemo, kako moliti in zakaj moliti, ali to počnemo
Solarni sledilnik: 4 koraki
Solar Tracker: To je sončni sledilnik, ki sem ga naredil. Ko sem brskal po internetu, sem dobil veliko idej, vendar sem mislil narediti proračunu prijazen projekt, zato je to tukaj. Naredil sem ga predvsem za začetnike, ki so novi v arduinu. Naložil sem celo slike glavnih zalog.
Naredi sam Arduino sončni sledilnik (za zmanjšanje globalnega segrevanja): 3 koraki
DIY Arduino Solar Tracker (Za zmanjšanje globalnega segrevanja): Pozdravljeni vsi, v tej vadnici vam bom pokazal, kako narediti solarni sledilnik z mikrokrmilnikom arduino. V današnjem svetu trpimo zaradi številnih vprašanj. Eden od njih sta podnebne spremembe in globalno segrevanje. Potreba po
Sledilnik v realnem času COVID-19 za ESP32: 3 koraki
Sledilnik v realnem času COVID-19 za ESP32: Ta mali sledilnik vam bo pomagal biti na tekočem o izbruhu koronavirusa in razmerah v vaši državi. Na zaslonu so prikazani izmenični trenutni podatki različnih držav po vaši izbiri. Podatke zbira spletna stran www.wo
UCL - vgrajen // Dvoosni svetlobni sledilnik za sončne celice: 7 korakov
UCL - vgrajen // Dvoosni svetlobni sledilnik za sončne celice: sestavljeni projekt in posamezne 3D datoteke