Sisällysluettelo:
- Vaihe 1: ATTiny & Tools & Materials -ohjelman käytön aloittaminen
- Vaihe 2: Laitteisto
- Vaihe 3: Ohjelmisto
Video: ATTiny-RAT, ATTINY Powered Mini Lightfollower: 3 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Hei ihmiset, on kulunut jonkin aikaa siitä, kun olen lähettänyt viimeisen ohjeen. No, päässäni pyörii nyt monia asioita, mutta onnistuin dokumentoimaan "ensimmäiset askeleeni" ATTiny-sarjan pelimerkillä tässä lyhyessä ohjeessa.
Tilasin ATTINY85-näytteitä vain siksi, että halusin testata niitä:-) (kaikki rakastavat testata asioita, eikö?). Sen jälkeen aloin piirtää ideoita muistikirjaani. Ollakseni rehellinen, ensimmäinen asia, jonka tein, oli LED -valon vilkkuminen, joka on aina hyvä alku tarkistaa, toimiiko asetuksesi/työkaluketju. Kokeilin myös lämpötila- ja kosteuslukijaa DHT22: n ja SoftwareSerialin kanssa. Se oli hankalaa, koska DHT -kirjastot ovat pääasiassa 16 Mhz: n kelloa varten (jos aiot tehdä jotain sellaista, tarkista sisäisen kellon esivalinta). Mutta päätin näyttää teille jotain, joka on vain hauskempaa. BTW: Latasin yhden piirustuksistani teille, se ei ole Rembrandt, mutta se näyttää, miten sain tämän (todella) tyhmän idean paperille: -P.
Käytin vain makaavia asioita pitääkseni tämän projektin mahdollisimman halpana (minulle). Tämän pienen seikkailun tulos on mukava pieni "valonseuraajarobotti" noin 10-15 dollaria (3 dollaria minulle:-P)
Joten jos olet kiinnostunut ATTINY: sta, lue lisää.
BTW: anteeksi huonosta englannista (en ole äidinkielenään puhuja)
Vaihe 1: ATTiny & Tools & Materials -ohjelman käytön aloittaminen
Mitä tarvitset päästäksesi alkuun:
- ATTiny85 -siru
- Arduino UNO tai vastaava
-abreadboard jollakin hyppyjohdolla tai ATTINY-ohjelmoijalla tai tee ohjelmointisuoja Arduinolle itse (tarkista liitteenä olevat kuvat, on kaavio avdweb.nl). Tein myös tämän ja olen todella tyytyväinen siihen. Ainoa muutos, jonka tein, oli, että lisäsin pistorasian ATTinyx4-sarjaan (katso kuva ja pinout-kaaviot).
- Arduino IDE (hanki se täältä)
- ArduinoIDE -laitteistotiedostot (lataa ja asenna ne)
Info-Link to leikkikenttäsuora linkki käyttämiisi github-tiedostoihin
- lataa Arduino ISP -luonnoksena UNO: lle (tämä on ohjelmoijasi)
- Noudata tätä ohjetta (https://highlowtech.org/) tai tätä ohjetta (ardutronix) ja kokeile "vilkkua" -luonnosta (muuta PIN -koodi. käytä ATTINY -kuvaa viitteenä! tarvitset esisyttynyt ATTINY a LED ja ~ 220 ohmin vastus sitä varten)
Tarkista pieni leipälauta-asetus, jos olet tehnyt kaiken oikein, LED-valo vilkkuu ja olet valmis lähtemään
TYÖKALUT
- Juotosrauta- jokin juote- pieni langankatkaisija- dremel tai muu pyörivä työkalu (vain piirilevyn leikkaamiseen!)- jotkut kuumaliimat- pinsetit- johdot
MATERIAALIT
- piirilevyn prototyyppien valmistus (~ 4cmx6cm tekee sen)- 2x LDR- 5x 10k vastus (2x LDR-laitteille ja 2x transistoreille BE, 1x LED)- 1x 330Ohm vastus (1x NEOPIXELS)- 2x LDR- 1x LED (värisi valintapyörän sijasta)- 3x NEOPIXEL WS2812- 2x transistori (BD137 tai vastaava)- 2x diodi (1N4001 tai vastaava)- 2x mikromoottori (esim. Hubsan-mikrokopterista)- 1x ATTINY85 + valinnainen (suositus) 8PIN IC-pistorasia- 1x 1s LIPO (käytin 140Ah vanhasta RC-helikopterista)- jotkut nastapäät/pistorasiat- kutisteputki (LDR-kotelo)
Jatketaan rakentamalla laitteisto…
Vaihe 2: Laitteisto
Jos tarkastelet liitteenä olevia kaavioita, laitteiston asennus on melko yksinkertaista. Joten jos osaat lukea kaavioita ja käyttää juotosrautaa, se on puoli temppua. Katso myös kuvia, lisäsin sinulle muistiinpanoja.
En tarjoa suunnitelmaa piirilevyn leikkaamiseen, sinulla on vapaus tehdä oma suunnittelu (ole luova ja näytä meille pienet botit). Kaikkien elektronisten komponenttien sijoittaminen on myös sinun tehtäväsi. Muutama vinkki minun puolelta:
Yritä kohdistaa moottorit tarkasti (katso kulma!) Käytämme vain moottorin akselia pyörien sijasta. (tämä kuluttaa vähemmän energiaa) Suosittelen asettamaan moottorit akun alle (paino) ja käyttämään LDR: itä etupuolella (45 ° kulmassa) yhdessä LED -valon kanssa (yritän käyttää tätä yhdistelmää esteiden välttämiseen. testejä tarvitaan).
Lisäksi suosittelen tekemään pienen päälle/pois -puseron, jotta akku ei katoa niin helposti.
Jos sinulla on jotain epäselvää tai jos sinulla on kysyttävää, kysy minulta. Siitä ei tule paljon senesejä tekemään opinnäytetyötä tästä pienestä projektista.
Vaihe 3: Ohjelmisto
1. lataa ja asenna ADAFRUIT Neopixel Library
Tässä on koodini muutamilla tärkeillä kuvauksilla (lisäsin myös luonnostiedoston). En kommentoinut jokaista vaihetta, koska mielestäni se ei ole tarpeellista.
Lataa luonnos ATTiny85 -laitteellesi ja pidä hauskaa uuden lelun kanssa
Ideoita "persoonallisuus" -toimintoon + ehkä koodiesimerkit ovat erittäin tervetulleita:-)
Jos sinulla on kysyttävää, kysy rohkeasti.
Toivottavasti pidit lyhyestä opettavaisesta ja pienestä matkastani ATTINYn maailmaan.
/* ATTINY85-Rata yksinkertainen ATTINY85-käyttöinen valoseuraava robotti. Versio 2.0, kirjoittanut Auer Markus */
#sisältää
#sisältää
// moottorit
#define LMOTOR 0 #define RMOTOR 1 // LEDit #define PIXELPIN 2 #define NUMPIXEL 3 // LDRs #define LLDR A2 #define RLDR A3
// otherint emo = 0; kellukalibri; boolean emostaatti; pitkä oldmillis; // define NeopixelsAdafruit_NeoPixel PIXEL = Adafruit_NeoPixel (NUMPIXEL, PIXELPIN, NEO_GRB + NEO_KHZ800);
mitätön asennus ()
{// hyväpalkkainen kello muuten kohtaat joitain ajoitusongelmia (neopikseli lib on kirjoitettu 16 MHz: lle) #if määritelty (_AVR_ATtiny85_) if (F_CPU == 16000000) clock_prescale_set (clock_div_1); #loppu Jos
// PINMODE pinMode (LMOTOR, OUTPUT); pinMode (RMOTOR, OUTPUT); pinMode (LLDR, INPUT); pinMode (LLDR, INPUT); // alustaa pikselit PIXEL.begin (); PIXEL.show (); viive (500); // startsequence for (int i = 0; i
tyhjä silmukka ()
{if (lightfollow () == 1) {left (); } else if (lightfollow () == 2) {right (); } else if (lightfollow () == 0) {forward (); } tunne (); }
int lightfollow () {
int kynnys = 14; int tulos = 0; kellua vasemmalle = 0; kellua oikealle = 0; int näytteet = 1; // lukea LDR: t (int j = 0; j <näytteet; j ++) {
vasen = vasen + analoginen luku (LLDR); oikea = oikea + (analoginen luku (RLDR)*kalibrointi);
}
// laske tulos (mistä suunnasta valo tulee?)
jos ((vasen/näytteet)> ((oikea/näytteet)+kynnys)) {result = 2;}
else if ((vasen/näytteet) <((oikea/näytteet) -kynnys)) {result = 1;}
muu {tulos = 0;}
palautustulos; } void forward () {// Välitä 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 () {
// VASEN 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 (); }
mitätön oikeus () {
// OIKEA analogWrite (LMOTOR, 255); analogWrite (RMOTOR, 150); PIXEL.setPixelColor (0, PIXEL. Color (0, 100, 0)); PIXEL.setPixelColor (2, PIXEL. Color (0, 0, 255)); PIXEL.show (); }
// tämä on lisäkokeita varten, yrittäen antaa tälle pienen persoonallisuuden:-) Kokeilen mitä voisin tehdä, mutta hyviä ideoita ei vielä ole.
tyhjä tunne () {int emotimer = 2500; int kesto = satunnainen (250, 750); if (millis () - oldmillis> emotimer) {oldmillis = millis (); emo = satunnainen (1, 4); } if (millis () - oldmillis> kesto) {emostate =! emostate; } jos (emostaatti == tosi) {kytkin (emo) {tapaus 1: PIXEL.setPixelColor (1, PIXEL. Color ((255), (255), (255))); PIXEL.show (); tauko; tapaus 2: PIXEL.setPixelColor (1, PIXEL. Color ((255), (0), (0))); PIXEL.show (); tauko; tapaus 3: PIXEL.setPixelColor (1, PIXEL. Color ((0), (255), (0))); PIXEL.show (); tauko; oletus: PIXEL.setPixelColor (1, PIXEL. Color (satunnainen (0, 255), satunnainen (0, 255), satunnainen (0, 255))); PIXEL.show (); tauko; }} else {PIXEL.setPixelColor (1, PIXEL. Color (25, 0, 0)); PIXEL.show (); }}
Suositeltava:
Super Capacitor Powered Raspberry Pi -kannettava: 5 vaihetta
Super Capacitor Powered Raspberry Pi -kannettava: Yleisestä kiinnostuksesta tähän projektiin riippuen voin lisätä lisää vaiheita jne., Jos se auttaa yksinkertaistamaan hämmentäviä komponentteja. hauskaa t
Retro Arcade - (täysikokoinen Powered by Raspberry Pi): 8 vaihetta
Retro Arcade - (täysikokoinen Powered by Raspberry Pi): Halusin ensin kiittää sinua tämän Retro Arcade -järjestelmän rakennusoppaan katsomisesta. Otan vanhemman arcade-laatikon ja asetan sen erilliseen kaappiin, jossa on 24 tuuman laajakuvanäyttö. Tämän oppaan mittaukset ovat karkeita antaakseen sinulle
Puinen LED -pelinäyttö Powered by Raspberry Pi Zero: 11 vaihetta (kuvilla)
Puinen LED -pelinäyttö Powered by Raspberry Pi Zero: Tämä projekti toteuttaa 20x10 pikselin WS2812 -pohjaisen LED -näytön, jonka koko on 78x35 cm ja joka voidaan helposti asentaa olohuoneeseen retro -pelejä pelaamaan. Tämän matriisin ensimmäinen versio rakennettiin vuonna 2016 ja monet muut ihmiset rakensivat sen uudelleen. Tämä esimerkki
Mini IMac G4 Flat Panel - Powered by NUC: 9 vaihetta (kuvilla)
Mini IMac G4 Flat Panel - Powered by NUC: Johdanto Olen törmännyt pariin projektiin, jotka olivat inspiraationa tälle rakennukselle. Yksi väittää olevansa maailman pienin toimiva iMac, mutta todellisuudessa se on Raspberry Pi, jossa on Linux -distro MacOS -teemalla, eikä se voi ajaa todellista M
Teksti puheeksi Napsauta ARMbasic Powered UChip ja muut ARMbasic Powered SBC: t: 3 vaihetta
Teksti puheeksi Napsauta ARMbasic Powered UChipia ja muita ARMbasic Powered SBC: itä: Johdanto: Hyvää päivää. Nimeni on Tod. Olen ilmailu- ja puolustusalan ammattilainen, joka on myös hieman nörtti sydämessä.Inspiraatio: kotoisin dial-up BBS: n, 8-bittisten mikrokontrollerien, Kaypro/Commodore/Tandy/TI-994A -tietokoneiden aikakaudelta, kun R