ATTiny-RAT, ATTINY aangedreven mini lightfollower (3 / 3 stap)

Stap 3: Software


1e van alle downloaden en installeren ADAFRUIT Neopixel Library

Hier is mijn code met enkele grote beschrijvingen (Ik voegde ook de schets-bestand). Ik didn´t commentaar elke stap, omdat ik denk dat het isn´t nodig.

Uploaden van de schets op uw ATTiny85 en veel plezier met je nieuwe speeltje

Ideeën voor "persoonlijkheid" functie + misschien code-voorbeelden zijn zeer welkom :-)

Als er vragen, voel je vrij om vragen.

Ik hoop dat u genoten van mijn korte instructable en de kleine reis in de wereld van ATTINYs.

 /* ATTINY85-Rata simple ATTINY85 powered lightfollowing robot. Version 2.0, by Auer Markus */#include <avr/power.h>#include <Adafruit_NeoPixel.h>//motors #define LMOTOR 0 #define RMOTOR 1 //LEDs #define PIXELPIN 2 #define NUMPIXEL 3 //LDRs #define LLDR A2 #define RLDR A3//otherint emo = 0; float calib; boolean emostate; long oldmillis; //define NeopixelsAdafruit_NeoPixel PIXEL = Adafruit_NeoPixel(NUMPIXEL, PIXELPIN, NEO_GRB + NEO_KHZ800);void setup() { //upscale clock else you will encounter some timingproblems (the neopixel lib is written for 16MHz) #if defined (__AVR_ATtiny85__) if (F_CPU == 16000000) clock_prescale_set(clock_div_1); #endif //PINMODE pinMode(LMOTOR, OUTPUT); pinMode(RMOTOR, OUTPUT); pinMode(LLDR, INPUT); pinMode(LLDR, INPUT); //initialize pixels PIXEL.begin(); PIXEL.show(); delay(500); //startsequence for(int i=0;ivoid loop() { if(lightfollow() == 1) { left(); } else if(lightfollow() == 2) { right(); } else if(lightfollow() == 0) { forward(); } emotion(); }int lightfollow() { int treshold = 14; int result = 0; float left = 0; float right = 0; int samples = 1; //read LDRs for (int j = 0; j<samples; j++){ left = left + analogRead(LLDR); right = right + (analogRead(RLDR)*calib); }//calculate the result (which direction is the light coming from?) if((left/samples) > ((right/samples)+treshold)) {result = 2;} else if((left/samples) < ((right/samples)-treshold)) {result = 1;} else {result = 0;} return result; } 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(); }void left() { //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(); } void right() { //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(); }//this is for further experiments, trying to give this one a little personality :-) i´m testing what could be able to do, but no good ideas yet. void emotion() { int emotimer = 2500; int duration = random(250,750); if (millis() - oldmillis > emotimer) { oldmillis = millis(); emo = random(1,4); } if (millis() - oldmillis > duration) { emostate = !emostate; } if (emostate == true) { switch (emo) { case 1: PIXEL.setPixelColor(1, PIXEL.Color((255),(255),(255))); PIXEL.show(); break; case 2: PIXEL.setPixelColor(1, PIXEL.Color((255),(0),(0))); PIXEL.show(); break; case 3: PIXEL.setPixelColor(1, PIXEL.Color((0),(255),(0))); PIXEL.show(); break; default: PIXEL.setPixelColor(1, PIXEL.Color(random(0,255),random(0,255),random(0,255))); PIXEL.show(); break; } } else { PIXEL.setPixelColor(1, PIXEL.Color(25,0,0)); PIXEL.show(); } } 

Gerelateerde Artikelen

Rat-val aangedreven voertuig

Rat-val aangedreven voertuig

In mijn engineering klas, we waren verdeeld in teams en belast met het project van het creëren van rat trap aangedreven voertuigen. We kregen een tijd van ongeveer twee weken. We hadden toen twee wedstrijden tussen de andere teams.De eerste was een t
ATTiny aangedreven Arduino projecten - ik maakte het op TechShop

ATTiny aangedreven Arduino projecten - ik maakte het op TechShop

Arduino is een geweldig platform. Geen sprake. Maar wat als ik je vertelde dat je zou kunnen je hele board nemen en het comprimeert met klein pakket. En ik bedoel echt klein. De chip in de afbeelding is een ATTiny84, en dat is de grote versie. Dus al
Arduino aangedreven mini verkeer signaal - controleren van uw werkplaats!

Arduino aangedreven mini verkeer signaal - controleren van uw werkplaats!

Bouwde ik een kleine gadget voor het uitvoeren van een signaal van het verkeer in het kantoor voor een snelle status om te zien hoe we doen in ons ticketsysteem.Vereist:-RepairShopr.com-account (gratis)-Teleduino-account (gratis)-Arduino + ethernet-s
Verspilde olie aangedreven Mini en goedkoop achtertuin en kamp kachel

Verspilde olie aangedreven Mini en goedkoop achtertuin en kamp kachel

In dit instructable, ik zal u tonen hoe te maken van een goedkope en draagbare kachel, zoals een BioLite kachel, die wordt aangedreven door de verspilde plantaardige olie. U kunt deze kachel gebruiken in de achtertuin, op de veranda, zelfs het dragen
Kaars aangedreven mini voedsel dehydrator

Kaars aangedreven mini voedsel dehydrator

Dit is een kleine draagbare voedsel dehydrator die compatibel is met kaarsenStap 1: benodigdheden je moet1. klei pot2. een kleine pannenlap3. wat draad4.a hamer5. iets met een punt6. sommige kaarsen7. twee metalen kommenStap 2: Hoe maak je het Droogr
Hoe maak je een Oust aangedreven mini spud gun

Hoe maak je een Oust aangedreven mini spud gun

u patatoe stukken kan schieten op je zus wanneer uw boos op haarStap 1: Duw... thumbtacks in de container ongeveer een centimeter uit elkaar duwenStap 2: aansluiten hook van de draden van de sparker op de thumbtacks (ongelooflijk droevig over het bee
Office stationaire Warfare - hoge aangedreven Mini Water Rocket from Marker Pen

Office stationaire Warfare - hoge aangedreven Mini Water Rocket from Marker Pen

een van de eerste om te bouwen van The Worlds kleinste Water Rocket. Het is zo klein dat je het past in je zak, launcher en alle! Maak indruk op uw vrienden en familie met deze nette en goedkope hoge Powered miniatuur Water Rocket.Ik heb deze raket g
Cloud nachtlampje W / ATTiny geanimeerde

Cloud nachtlampje W / ATTiny geanimeerde

Dit Instructable toont u hoe te maken van een handige Arduino (ATTiny) aangedreven geanimeerde nacht licht. Dit ontwerp maakt gebruik van goedkope LED strips in 3 afzonderlijke circuits. De 'zon' LEDs blijven constant, terwijl de 2 'cloud' LEDs langz
Altoids mini batterij aangedreven ventilator

Altoids mini batterij aangedreven ventilator

dit is mijn zelfgemaakte batterij aangedreven mini fanStap 1: Stap 1: materialenHete lijmpistoolSchaarAltoids vak... (Ik heb gebruikt een ander vak)een stuk karton1 x AA batterijschakelaarEen kleine motor (1.5V-3v)een penElektrische kabeleen stuk pap
Maak je eigen zonne-energie aangedreven led string lichten.  (max 5 dollar)

Maak je eigen zonne-energie aangedreven led string lichten. (max 5 dollar)

Maken van een fundamentele zonne-aangedreven tekenreeks van led verlichting is niet te moeilijk.  Dit instructable vereist geen kennis van elektronica en geen programmeertaal.Wat waren zullen doen is wat oude batterij aangedreven mini lampen upgraden
Steampunk USB mini lantaarn

Steampunk USB mini lantaarn

dit Instructable zal u tonen hoe om te schakelen van een USB computer-lamp en een lantaarn-stijl puntenslijper gegoten in een Steampunk USB aangedreven mini lantaarn.Dit project werd gedeeltelijk geïnspireerd door de prachtige Instructable: mini USB
Mini-droogijs mist Machine

Mini-droogijs mist Machine

Bent u bezig met een feest? Nodig voor het instellen van enkele rekwisieten voor Halloween? Over te zetten op een toneelstuk op de lokale school of kerk? Vervolgens u mijn vriend behoefte een Dry-Ice aangedreven Mini mist Machine!En ik ga u laten zie
Hoe maak je een zonne-aangedreven ventilator!

Hoe maak je een zonne-aangedreven ventilator!

(''Hooray! Het eindelijk gebeurd. Het is een beetje laat in de wedstrijd, maar we hopen dat het goed!'' )Dit project is wat we zijn het invoeren voor de wedstrijd Go Green. Het is een koele zonne-aangedreven mini fan. Het idee is dat als je een fan z
"Rat Pack" plank

"Rat Pack" plank

Uw vrouw u bellen een rat pack?  Mine doet.  Wordt in het leger en de altijd in beweging helpt niet mijn zaak.  Niet willen mijn schatten om te eindigen in de Prullenbak terug heb ik besloten om dit schap.  Ik had twee criteria voor mijn plank om te