In dorinta de a reincepe proiectul "The Arduino Blog", m-am gandit sa incep cu o plimbare cu ghid prin parcul Arduino
De la postul urmator, voi relua ora tipica 21:21 de postare si voi incerca sa continui ce am inceput.
Translate
joi, 3 ianuarie 2013
duminică, 4 noiembrie 2012
Arduino Brick Handmade
Am ajuns la concluzia ca pentru a obtine cele mai bune rezultate in proiectelele nostre, avem nevoie de componente care fac contact foarte bine; ceea ce am observat ca pe breadboard nu se intampla. Contactul ferm si usurinta in utilizare sunt doua dintre avantajele brickurilor. Chiar daca lucram pe breadboard, un brick se comporta mai bine decat senzorul simplu.
Acest post isi propune sa arate pas cu pas construirea unui brick ce are la baza un senzor de temperatura LM35. Inainte de orice trebuie sa cautam un datasheet pentru acest integrat. Un datasheet il putem accesa aici . In datasheet observam ca acest senzor are mai multe moduri de operare: masurare temperatura 0-150 grade Celsius, -55-150 grade Celsius sau temperatura in grade Farenheit. Pe brick se pot realiza circuite individuale pentru fiecare mod de operare; modul de operare fiind dat de pinii folositi. Pentru a simplifica lucrurile, brick-ul nostru va implementa modul de baza; in care integratul este alimentat la 5V si acesta scoate pe iesire 10mV pt fiecare grad Celsius.
Pasii de urmat:
Ei bine, dupa ce am urmat pasii de mai sus, am obtinut un PCB pentru brick-ul nostru. Nu a mai ramas decat sa lipim senzorul si pinii de conexiune si avem un Brick Handmade :).
Acest post isi propune sa arate pas cu pas construirea unui brick ce are la baza un senzor de temperatura LM35. Inainte de orice trebuie sa cautam un datasheet pentru acest integrat. Un datasheet il putem accesa aici . In datasheet observam ca acest senzor are mai multe moduri de operare: masurare temperatura 0-150 grade Celsius, -55-150 grade Celsius sau temperatura in grade Farenheit. Pe brick se pot realiza circuite individuale pentru fiecare mod de operare; modul de operare fiind dat de pinii folositi. Pentru a simplifica lucrurile, brick-ul nostru va implementa modul de baza; in care integratul este alimentat la 5V si acesta scoate pe iesire 10mV pt fiecare grad Celsius.
Pasii de urmat:
- Decuparea placii pe care vom desena circuitul la dimensiunea dorita
- Planificarea pozitiei pieselor si marcarea locurilor de conxiune
- Gaurirea placii in punctele de conexiune
- Finisarea gaurilor si degresarea cu alcool izopropilic a placutei
- Trasarea folosind un marker permanent(negru si albastru sigur merge, rosu nu am incercat) a conexiunilor avand grija deosebita sa nu atingem cu mana placuta. Este bine liniile sa fie trasate de mai multe ori(2 sau 3) pentru a asigura un contact bun.
- Scufundarea placutei in clorura ferica (se gaseste la magazin ~5 lei) - durata acestui pas nu este standard, esentialul este ca tot cuprul care nu ne este necesar sa se dizolve. Clorura ferica trebuie pusa intr-un recipient din material plastic, deoarece ataca metalul. Ideal ar fi sa fie evitat contactul direct cu aceasta substanta prin utilizarea manusilor sau lipind placuta cu bada izolatoare pe partea care nu ne intereseaza(daca are doar o fata cu cupru) sau folosind pensete din material plastic. Dupa realizarea PCB-ului, clorura ferica poate fi refolosita.
- Recuperarea placutei din solutia de clorura ferica, curatarea markerului (eu am folosit acetona) si verificarea circuitelor obtinute folosind multimetrul. In cazul unor scurtcircuite se remediaza erorile folosind un cutter (se taie pur si simplu suprafata de cupru sa nu mai faca contact).
![]() |
| Pasii 1, 2, 3, 4, 5, 6 |
sâmbătă, 24 decembrie 2011
Interactiune Arduino - User
Exista mai multe moduri in care Arduino poate interactiona cu userul. Acest post va prezenta cateva dintre ele:
void setup(){
pinMode(13,OUTPUT);
Serial.begin(9600);
Serial.println("Welcome to");
Serial.println("The Arduino Blog");
digitalWrite(13, HIGH);
}
void loop(){
}
Dupa ce il urcam pe Arduino, in partea dreapta a IDE-ului avem Serial Monitor (incercuit cu rosu). Il deschidem, daca nu apare nimic (desi ar trebui) apasam butonul Reset de pe Arduino. Cand ledul de pe pinul 13 se aprinde, ar trebui sa obtinem ceva asemanator cu screen-shot-ul de deasupra.
A doilea si al treilea mediu de afisare este un ecran LCD cu 2 randuri si 16 caractere/rand. Desi in esenta sunt acelasi mediu, voi prezenta doua moduri de a-l folosi.
Pentru realizarea programului, avem nevoie de o librarie, "LiquidCrystal.h", care trebuie inclusa in programul nostru. Aceasta librarie permite afisarea pe orice ecran care foloseste un driver compatibil cu Hitachi HD44780; acestea pot fi identificate dupa conectorul cu 16 pini (evident al ecranului).
In poza de deasupra, sunt prezentate legaturile necesare pentru a pune in functiune ecranul. Conexiunile sunt urmatoarele:
LCD RS -> digital pin 12
LCD Enable -> digital pin 11
LCD D4 -> digital pin 5
LCD D5 -> digital pin 4
LCD D6 -> digital pin 3
LCD D7 -> digital pin 2.
Pentru a putea regla intensitatea literelor, legam si un potentiometru ca in figura.
Urmeaza programul care trebuie scris:
// include the library code:
#include<LiquidCrystal.h >
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
lcd.setCursor(2,0);
lcd.print("The Arduino");
lcd.setCursor(6,1);
lcd.print("Blog");
}
void loop() {
}
Programul afiseaza pur si simplu pe ecran "The Arduino Blog". Am realizat si eu montajul si l-am pus la treaba:
Inchei acest post pentru ca a ajuns Mos Craciun si trebuie sa-l intampin. Voi continua intr-un post ulterior discutia despre afisarea pe un ecran LCD ce are un modul IIC si mai multe detalii despre diferitele functii ale bibliotecii LiquidCrystal; aceasta scurta prezentare ofera si alte posibilitati de proiectele.
Urez tuturor cititorilor un Craciun Fericit alaturi de cei dragi!
- Comunicarea pe computer prin Serial; Arduino va afisa mesaje ce pot fi vazute cu Serial Monitor
- Afisarea pe un ecran LCD 1602 (16 caractere si 2 randuri)
- Afisarea pe un ecran echipat cu un modul IIC. Personal nu pot spune foarte multe despre acest IIC, dar exista foarte multe resurse disponibile pe Internet. Cateva informatii, nu foarte lamuritoare aici.
void setup(){
pinMode(13,OUTPUT);
Serial.begin(9600);
Serial.println("Welcome to");
Serial.println("The Arduino Blog");
digitalWrite(13, HIGH);
}
void loop(){
}
![]() |
| Rezultatul programului prezentat |
A doilea si al treilea mediu de afisare este un ecran LCD cu 2 randuri si 16 caractere/rand. Desi in esenta sunt acelasi mediu, voi prezenta doua moduri de a-l folosi.
![]() |
| Conexiunile Arduino - ecran |
In poza de deasupra, sunt prezentate legaturile necesare pentru a pune in functiune ecranul. Conexiunile sunt urmatoarele:
LCD RS -> digital pin 12
LCD Enable -> digital pin 11
LCD D4 -> digital pin 5
LCD D5 -> digital pin 4
LCD D6 -> digital pin 3
LCD D7 -> digital pin 2.
Pentru a putea regla intensitatea literelor, legam si un potentiometru ca in figura.
Urmeaza programul care trebuie scris:
// include the library code:
#include
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
lcd.setCursor(2,0);
lcd.print("The Arduino");
lcd.setCursor(6,1);
lcd.print("Blog");
}
void loop() {
}
Programul afiseaza pur si simplu pe ecran "The Arduino Blog". Am realizat si eu montajul si l-am pus la treaba:
| Montajul realizat pentru ecranul LCD |
Inchei acest post pentru ca a ajuns Mos Craciun si trebuie sa-l intampin. Voi continua intr-un post ulterior discutia despre afisarea pe un ecran LCD ce are un modul IIC si mai multe detalii despre diferitele functii ale bibliotecii LiquidCrystal; aceasta scurta prezentare ofera si alte posibilitati de proiectele.
Urez tuturor cititorilor un Craciun Fericit alaturi de cei dragi!
Abonați-vă la:
Postări (Atom)


