„akytės” linijos sekimui

robotuko akys   Kaip jau rašiau – linijos sekimui naudojame IR (infraraudonųjų spindulių) "akytes" (daviklius). Mes pasitarėm ir aš eilinį kart nusprendžiau ( "mi pasovetovalis' i ja reshil…") – naudojam 2 moduliukus iš viso 4 daviklius linijos padėčiai nustatyti (2 kanalų infraraudonųjų spindulių linijos sekimo sensorius).

Sumontuoti jie atrodo taip:

Komparatorius su šviesos diodų indikacija

Bendras vaizdas

Patys UV davikliai (4 suporuoti UV siųstuvai-imtuvai)

p.s. nesijuokit – jungčių kištukai išlupti iš senų kompų, todel ant jų dar likė užrašai "HDD LED", "SPEAKER" ir t.t. ateity padarysim lipdukus kad sumarkiruot visas jungteles ir nepasimest laikui begant 🙂

Ratai, ratai, rateliukai…

robotuko ratai   Ratai ratai rateliukai sukas rieda nuo kalniuko… Aha, vaikystes eilėraštukas. 🙂 Pagaliau. Išlaukus ilgus 2 mėnesius jie atvažiavo. Rašiau apie važiuoklės pasirinkimą ir tada jau turėjau vikšriukus, o dabar jau turime ir ratukus, reduktorius prie jų ir po varikliuką prie kiekvieno rato.

   Ratų dydžiui palyginti pridėjau šalia ir vikšrinę – ne tokie tie ratai ir maži 🙂

   Turėtų gautis kažkas panašaus į šitą

Arduino + MAX7219 + Led matrica 8×8

Seniai jau darytas projektas tik niekaip negalėjau (nesugebėjau) aprašyti jo. Kilo idėja Arduino pajungti prie šviesos diodų matricos panaudojant MAX7219 Led valdiklį (draiverį). Kas įdomausia – į vieną eilę 3 valdymo laidais galima pajungti iki 8 tokių modulių. Gaunama 8×64 taškų eilutė.

Pati schema elementari, plokštė gavosi 6cmx6cm

programos kodas:

#include „LedControl.h“
int devices = 3; //moduliu skaicius
LedControl lc = LedControl (10, 12, 11, devices);

unsigned long delaytime = 50;
int row;
int col;
int address;

void setup (){
	for (int address = 0; address < devices; address++){
		lc.shutdown (address, false);
		lc.setIntensity (address, 12);
		lc.clearDisplay (address);}
	}

void clr_disp (int dev){
	delay (1000);
	for (address = 0; address < dev; address++){
		lc.clearDisplay (address);}
	}

void fill_pixel (int dev){
	for (row = 0; row < 8; row++){
		for (address = 0; address < dev; address++){
			for (col = 0; col < 8; col++){
				delay (delaytime);
				lc.setLed (address, row, col, true);}
			}
		}
	}

void fill_col_right (int dev, int b){
	for (address = 0; address < dev; address++){
		for (col = 0; col < 8; col++){
			delay (delaytime);
			lc.setColumn (address, col, b);}
		}
	}

void fill_col_left (int dev, int b){
	for (address = dev-1; address >= 0; address--){
		for (col = 7; col >= 0; col--;){
			delay (delaytime);
			lc.setColumn (address, col, b);}
		}
	}

void fill_row_down (int dev, int b){
	for (row = 0; row < 8; row++){
		for (address = 0; address < dev; address++){
			lc.setRow (address, row, b);}
			delay (delaytime);
		}
	}

void fill_row_up (int dev, int b){
	for (row = 7; row >= 0; row--;){
		for( address = 0; address < dev; address++){
			lc.setRow (address, row, b);}
			delay (delaytime);
		}
	}

void loop (){
	clr_disp (devices);
	fill_col_right (devices, 255);
	fill_row_down (devices, 0);
	fill_row_up (devices, 255);
	fill_col_left (devices, 0);
	}

 

ir gabalėlis youtubo

Arduino termometras

   Jau ilgą laiką norėjau Arduino pagalba pasidaryti paprasčiausią termometrą, nes žiemą kambaryje nėra labai šilta, bet kiek tos šilumos – neaišku.

   Pasinaudojau visagaliu Google ir pradėjau ieškoti tinkamų komponentų, kurių nėra daug. Reikia tik Arduino valdiklio, na aš turiu Duemilanove. Dar reikia laidų jungimui, bei vieno svarbaus komponento – temperatūros daviklio LM335, pas mane LM335Z, kuris kainavo 3,5 lito.

   Daviklį galima nusipirkti www.lemona.lt, www.evita.lt ar pasidairyti www.rcl.lt.

   Vos nepamiršau, dar reikės 2kO varžos, 10 vienetų kainuoja nuo 0,5 iki 1 lito, cia žiūrint kur ir kaip pirksi.

   Visus komponentus sujungiame pagal duotą schemą:

     Arduino 5V –> prie varžos–> vidurinė daviklio koja

     Arduino GND –> nuo kairės pusės trečia daviklio koja

     Arduino Analog Input 0 –> vidurinė daviklio koja

arduino-lm335-temperaturos-sensorius

O šį kodą užkraunu į Arduino:

 

int lm335 = 0;
void setup (){
	Serial.begin (9600);
	}
	
void loop(){
	double val = analogRead (lm335);
	double voltage = val * 5.0 / 1024;
	int temp = voltage * 100 - 273.15;
	Serial.println (temp);
	delay (100);
	}

 

Gaunamas rezultatas, kurį galima pamatyti per Serial Monitor:

arduino-lm335-temperaturos-sensorius-serial-monitor

Štai tiek šiam kartui, jei rasiu laiko parašysiu dar kokį bandymą. Jungimo schema daryta su Fritzing programėle.

Autorius: knyslius

Arduino – jungiam prie PC

   Arduino pajungimui prie kompiuterio reikės USB kabelio. Jei tai Uno ar Duemilanove modeliai – tinka standartinis "A-B" tipo. Jei tai Nano – "A – Mini-B".

   Visų pirma parsisiunčiam iš arduino.cc programinę įrangą su tvarkyklėmis. Svetainėje Arduino Software – naujausia versija. Išarchyvuojame parsisiūstus failus diske, kad ir į C:\arduino. Jungiam USB kabelį prie kompiuterio ir Arduino.

Pirmas pajungimas – reikalingos tvarkyklės (draiveriai).

uno-install-001

Nurodome kelią iki tvarkyklių, pvz c:\arduino\drivers ir

uno-install-002

Diegiame tvarkykles ir baigiame

uno-install-003

Turime USB Com porto emuliatoriaus tvarkykles. Arduino pajungtas prie kompiuterio.