Talaan ng mga Nilalaman:
Video: ATTiny-RAT, ATTINY Powered Mini Lightfollower: 3 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Kumusta mga kababayan, ito ay naging isang habang mula noong nai-post ang aking huling itinuturo. Well maraming mga bagay sa paligid sa aking ulo ngayon ngunit pinamamahalaang ko upang idokumento ang aking "unang hakbang" sa ATTiny-Series ng chips sa maikling itinuro para sa iyo.
Nag-order ako ng ilang mga sample ng ATTINY85 dahil lamang sa nais kong subukan ang mga ito:-) (lahat ay mahilig sa pagsubok ng mga bagay, tama ba?). Pagkatapos nito nagsimula akong gumuhit ng ilang mga ideya sa aking kuwaderno. Upang maging matapat ang unang bagay na ginawa ko ay ang pagpikit ng isang LED na palaging isang magandang pagsisimula upang suriin kung gumagana ang iyong setup / toolchain. Sinubukan ko rin ang isang logger ng temperatura at halumigmig sa DHT22 at SoftwareSerial. Iyon ay isang nakakalito dahil ang DHT Librarys ay pangunahin para sa 16Mhz na orasan (kung plano mong gumawa ng isang bagay tulad nito, suriin kung paano i-prescale ang internalclock). Ngunit nagpasya akong ipakita sa iyo ang isang bagay na, mabuti, mas nakakatawa. BBTW: Nag-upload ako ng isa sa aking mga guhit para sa iyo, hindi ito isang Rembrandt ngunit ipapakita sa iyo kung paano ko nakuha ang (talagang) hangal na ideya sa isang piraso ng papel: -P.
Gumamit lamang ako ng mga bagay na nahiga ako upang mapanatili ang proyektong ito na mura (para sa akin). Ang resulta ng maliit na pakikipagsapalaran na ito ay isang magandang maliit na "lightfollower robot" para sa humigit-kumulang 10-15 $ (3 $ para sa akin:-P)
Kaya kung interesado ka sa ATTINY mismo basahin mo pa.
BTW: paumanhin para sa aking masamang ingles (hindi ako isang katutubong nagsasalita)
Hakbang 1: Pagsisimula Sa ATTiny at Mga Tool at Materyales
Ano ang kakailanganin mong magsimula:
- isang ATTiny85 chip
- isang Arduino UNO o katulad
- Abreadboard na may ilang jumper-wire o isang ATTINY programmer o gumawa ng programmer-shield para sa Arduino mismo (suriin ang mga nakalakip na larawan, mayroong isang iskematiko mula sa avdweb.nl). Ginawa ko rin ang isang ito at talagang masaya ako dito ang nag-iisang pagbabago na ginawa ko ay nagdagdag ako ng isang socket para sa ATTinyx4 Series (sumangguni sa larawan at mga pinout-diagram).
- ang Arduino IDE (kumuha dito)
- ang mga hardwarefile para sa ArduinoIDE (i-download at i-install ang mga ito)
Impormasyon-Link sa playgrounddirect Link sa mga github file na ginamit ko
- i-load ang Arduino bilang ISP sketch sa UNO (ito ang magiging iyong programmer)
- sundin ang tagubiling ito (https://highlowtech.org/) o maituturo na ito (ni ardutronix) at subukan ang "blink" sketch (baguhin ang PIN Nr. gamitin ang ATTINY na larawan bilang isang sanggunian! kakailanganin mo ang preflash ATTINY isang LED at isang ~ 220Ohm Resistor para doon)
Gumawa ng isang maliit na pag-setup ng tinapay upang suriin ang lahat. Kung nagawa mo na ang lahat nang tama ang LED ay kumikislap at handa ka nang pumunta
TOOLS
- Soldering Iron- ilang solder- isang maliit na wirecutter- isang dremel o iba pang rotary-tool (para lang sa pagputol ng PCB!) - ilang hotglue- tweezers- wires
MATERYAL
- prototyping PCB (~ 4cmx6cm will do it) - 2x LDR- 5x 10k Resistor (2x for the LDRs and 2x for the transistors BE, 1x LED) - 1x 330Ohm Resistor (1x NEOPIXELS) - 2x LDR- 1x LED (kulay ng iyong pagpipilian, sa halip na caster-wheel) - 3x NEOPIXEL WS2812- 2x Transistor (BD137 o katulad) - 2x Diode (1N4001 o katulad) - 2x micromotor (hal. mula sa isang Hubsan micro-quadcopter) - 1x ATTINY85 + opsyonal (inirerekumenda) 8PIN IC Socket- 1x 1s LIPO (Gumamit ako ng 140Ah mula sa isang lumang RC-helikopter) - ilang mga pinheader / sockets- shrinktube (pabahay ng LDR)
Magpatuloy tayo sa pamamagitan ng pagbuo ng hardware…
Hakbang 2: Hardware
Kung may pagtingin ka sa mga eskematiko na nakakabit ko, ang pag-setup ng hardware ay medyo simple. Kaya't kung makakabasa ka ng mga eskematiko at gumamit ng isang panghinang, kalahati iyon ng trick. Tingnan din ang mga larawan, nagdagdag ako ng ilang mga tala para sa iyo.
Hindi ako nagbibigay ng isang plano para sa pagputol ng PCB, mayroon kang kalayaan na gumawa ng iyong sariling disenyo (maging malikhain at ipakita sa amin ang iyong Mga Maliliit na Bot). Nasa iyo rin ang paglalagay ng lahat ng mga elektronikong sangkap. Ang ilang mga pahiwatig mula sa aking tagiliran:
Subukang ihanay nang tama ang mga motor (panoorin ang anggulo!) Gumagamit lamang kami ng motorshaft sa halip na mga gulong. (gugugol ito ng mas kaunting enerhiya) Inirerekumenda kong ilagay ang mga motor sa ilalim ng baterya (timbang) at gamitin ang mga LDR sa harap (45 ° angled) na ipinares sa LED (sinusubukan kong gamitin ang kombinasyong ito para maiwasan ang sagabal, karagdagang kailangan ng mga pagsubok).
Karagdagan inirerekumenda ko na gumawa ng isang maliit na on / off jumper upang ang baterya ay hindi mawawala nang madali.
Kung mayroong anumang hindi malinaw o kung mayroon kang mga katanungan, tanungin lamang ako. Hindi ito makakagawa ng maraming senes na gumawa ng isang thesis mula sa maliit na proyekto.
Hakbang 3: Software
Ika-1 sa lahat ng pag-download at pag-install ng ADAFRUIT Neopixel Library
Narito ang aking code na may ilang mga pangunahing paglalarawan (idinagdag ko rin ang sketch file). Hindi ako nagkomento sa bawat hakbang dahil sa palagay ko hindi ito kinakailangan.
I-upload ang sketch sa iyong ATTiny85 at magsaya sa iyong bagong laruan
Ang mga ideya para sa pagpapaandar na "pagkatao" + marahil ang mga halimbawa ng code ay malugod na tinatanggap:-)
Kung mayroong anumang mga katanungan, huwag mag-atubiling magtanong.
Inaasahan kong nasiyahan ka sa aking maikling itinuro at kaunting paglalakbay sa mundo ng mga ATTINY.
/ * ATTINY85-Rata simpleng ATTINY85 pinalakas na lightfollowing robot. Bersyon 2.0, ni Auer Markus * /
# isama
# isama
// motor
#define LMOTOR 0 #define RMOTOR 1 // LEDs #define PIXELPIN 2 #define NUMPIXEL 3 // LDRs #define LLDR A2 #define RLDR A3
// otherint emo = 0; lumutang calib; boolean emostate; mahabang oldmillis; // tukuyin ang NeopixelsAdafruit_NeoPixel PIXEL = Adafruit_NeoPixel (NUMPIXEL, PIXELPIN, NEO_GRB + NEO_KHZ800);
walang bisa ang pag-setup ()
{// upscale na orasan pa ay makakasalubong mo ang ilang mga timerproblems (ang neopixel lib ay nakasulat para sa 16MHz) # kung tinukoy (_AVR_ATtiny85_) kung (F_CPU == 16000000) na orasan_prescale_set (clock_div_1); #tapusin kung
// PINMODE pinMode (LMOTOR, OUTPUT); pinMode (RMOTOR, OUTPUT); pinMode (LLDR, INPUT); pinMode (LLDR, INPUT); // initialize pixel PIXEL.begin (); PIXEL.show (); pagkaantala (500); // startsequence para sa (int i = 0; i
walang bisa loop ()
{kung (lightfollow () == 1) {pakaliwa (); } iba pa kung (lightfollow () == 2) {kanan (); } iba pa kung (lightfollow () == 0) {forward (); } damdamin (); }
int lightfollow () {
int treshold = 14; int resulta = 0; lumutang pakaliwa = 0; lumutang pakanan = 0; int sample = 1; // read LDRs for (int j = 0; j <sample; j ++) {
kaliwa = kaliwa + analogRead (LLDR); kanan = kanan + (analogRead (RLDR) * calib);
}
// kalkulahin ang resulta (aling direksyon ay nagmumula ang ilaw?)
kung ((kaliwa / sample)> ((kanan / sample) + treshold)) {resulta = 2;}
kung hindi man ((kaliwa / sample) <((kanan / mga sample) -treshold)) {resulta = 1;}
iba pa {resulta = 0;}
resulta ng pagbabalik; } void forward () {// Forward analogWrite (LMOTOR, 230); analogWrite (RMOTOR, 230); PIXEL.setPixelColor (0, PIXEL. Color (0, 0, 255)); PIXEL.setPixelColor (2, PIXEL. Color (0, 0, 255)); PIXEL.show (); }
walang bisa () {
// 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.show (); }
walang bisa () {
// RIGHT analogWrite (LMOTOR, 255); analogWrite (RMOTOR, 150); PIXEL.setPixelColor (0, PIXEL. Color (0, 100, 0)); PIXEL.setPixelColor (2, PIXEL. Color (0, 0, 255)); PIXEL.show (); }
// ito ay para sa karagdagang mga eksperimento, sinusubukang bigyan ang isang ito ng kaunting pagkatao:-) Sinusubukan ko kung ano ang maaaring gawin, ngunit wala pang magagandang ideya.
walang bisa na damdamin () {int emotimer = 2500; int tagal = random (250, 750); kung (millis () - oldmillis> emotimer) {oldmillis = millis (); emo = random (1, 4); } kung (millis () - oldmillis> tagal) {emostate =! emostate; } kung (emostate == totoo) {switch (emo) {case 1: PIXEL.setPixelColor (1, PIXEL. Color ((255), (255), (255))); PIXEL.show (); pahinga; kaso 2: PIXEL.setPixelColor (1, PIXEL. Color ((255), (0), (0))); PIXEL.show (); pahinga; kaso 3: PIXEL.setPixelColor (1, PIXEL. Color ((0), (255), (0))); PIXEL.show (); pahinga; default: PIXEL.setPixelColor (1, PIXEL. Color (random (0, 255), random (0, 255), random (0, 255))); PIXEL.show (); pahinga; }} iba pa {PIXEL.setPixelColor (1, PIXEL. Color (25, 0, 0)); PIXEL.show (); }}
Inirerekumendang:
Mini Battery Powered CRT Oscilloscope: 7 Hakbang (na may Mga Larawan)
Mini Battery Powered CRT Oscilloscope: Kumusta! Sa Instructable na ito ay ipapakita ko sa iyo kung paano gumawa ng isang mini baterya na CRT oscilloscope. Ang isang oscilloscope ay isang mahalagang tool para sa pagtatrabaho sa electronics; maaari mong makita ang lahat ng mga signal na dumadaloy sa paligid ng isang circuit, at mag-troubleshoo
USB-Powered Nightlight W / Pag-backup ng Baterya (Dalawang Disenyo): 3 Mga Hakbang
USB-Powered Nightlight W / Battery Backup (Dalawang Disenyo): Ilang sandali, natuklasan ko ang isang pangangailangan para sa isang nightlight na pinapatakbo ng baterya para sa aking silid. Ang ideya ay hindi ko nais na bumangon mula sa kama sa tuwing nais kong patayin ang aking ilaw upang matulog. Kailangan ko rin ng ilaw na hindi kasing ningning ng aking kwarto lig
Teksto sa Pagsasalita Mag-click sa isang ARMbasic Powered UChip, at Ibang Mga ARMbasic Powered SBC: 3 Mga Hakbang
Teksto sa Pagsasalita Mag-click sa isang ARMbasic Powered UChip, at Ibang Mga ARMbasic Powered SBC: Intro: Magandang araw. Ang pangalan ko ay Tod. Ako ay isang propesyonal sa aerospace at pagtatanggol na medyo isang geek din sa puso. Inspirasyon: Pagbati mula sa panahon ng dial-up BBS, 8-bit Microcontrollers, Kaypro / Commodore / Tandy / TI-994A mga personal na computer, kapag R
Home Automation Hakbang sa Hakbang Gamit ang Wemos D1 Mini Sa Disenyo ng PCB: 4 na Hakbang
Home Automation Hakbang sa Hakbang Gamit ang Wemos D1 Mini Gamit ang Disenyo ng PCB: Home Automation Hakbang by Hakbang gamit ang Wemos D1 Mini na may PCB DesignAng ilang linggo pabalik ay nag-publish kami ng isang tutorial na "Home Automation na gumagamit ng Raspberry Pi" sa rootsaid.com na mahusay na natanggap sa mga hobbyist at mga estudyante sa kolehiyo. Pagkatapos ay dumating ang isa sa aming mga miyembro
Clock Powered Solar Powered Motor: 5 Hakbang (na may Mga Larawan)
Solar Powered Motorcycle Dial Clock: Mayroon akong tacho dial na natira mula sa aking dating motorsiklo, nang palitan ko ang mechanical rev counter ng isang elektronikong panel (iyon ay isa pang proyekto!) At hindi ko nais na itapon ito. Ang mga bagay na ito ay dinisenyo upang maging backlit kapag ang mga ilaw ng bisikleta ay