Pages: 1 ... 6 7 [8] 9   Go Down
Author Topic: Aide arduino + MIO283QT2  (Read 10141 times)
0 Members and 1 Guest are viewing this topic.
Draguignan (Var)
Offline Offline
Jr. Member
**
Karma: 0
Posts: 71
Arduino, voila une bonne invention...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Jean François excuse moi si je n'ai pas donné suite a ton exemple a titre d'exercice concernant le carré de 100 de coté, j'avais preparé ton exemple que j'avais égaré et que je viens de retrouver, donc j'ai bien un rectangle de couleur bleu en haut et de couleur marron en bas, avec comme ligne mediane des deux rectangles.

Voici le code que j'ai adopté selon ton exemple:

lcd.fillRect(0, 0, 319, 120, RGB(0,0,255)); // trace un rectangle plein bleu
lcd.fillRect(0, 120, 319, 239, RGB(152,52,2)); // trace un rectangle plein marron

J'essaye (sans succés) de faire incliner cette ligne a gauche ou a droite avec le MMA7260 mais je ne sais pas comment faire, as tu une idée lumineuse ?
Je crois qu'il fallait passer tout simplement par de la trigo..
Logged

Forum Moderator
Geneva
Offline Offline
Faraday Member
*****
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma solution est purement graphique, ce qui la rend plus simple que de passer par de la trigo  smiley-lol

Tu fais un carré bleu, avec en son centre une ligne brune.

Ensuite tu modifies ta ligne avec cette exemple (à modifier pour ton écran):

Code:
roll = int(valeur du capteur)-valeur du capteur au repos ;
   int roll_L = 250+roll; // extrémité gauche de la ligne
   int roll_R = 250-roll; // extrémité droite de la ligne

line(0, roll_L, 399, roll_R);  //dessine la ligne d'horizon
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Draguignan (Var)
Offline Offline
Jr. Member
**
Karma: 0
Posts: 71
Arduino, voila une bonne invention...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Je vais essayer ce code, je te tiens au courant..
Logged

Draguignan (Var)
Offline Offline
Jr. Member
**
Karma: 0
Posts: 71
Arduino, voila une bonne invention...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Voila, j'ai inseré ton bout de code dans cet ensemnble, mais j'ai une erreur de compilation, visiblement il ne reconnais pas la commande "line". Est ce que tu penses que cela va fonctionner ?

Horizon_Artificiel.cpp: In function 'void loop()':
Horizon_Artificiel:28: error: 'line' cannot be used as a function


#include <MI0283QT2.h>

MI0283QT2 lcd;

void setup()
{
  lcd.init(4);
  lcd.clear(COLOR_WHITE);
 

lcd.fillRect(0, 0, 319, 120, RGB(0,0,255)); // trace un rectangle plein bleu
lcd.fillRect(0, 120, 319, 239, RGB(152,52,2)); // trace un rectangle plein marron

}

int roll;

int repos = 337; // valeur roulis au repos exemple au pif
int roll_L = 337 + roll; // extrémité gauche de la ligne
int roll_R = 337 - roll; // extrémité droite de la ligne
//roll = int(valeur du capteur)-valeur du capteur au repos ;


void loop()
{
roll = analogRead(A0) - repos; // valeur du roulie en sorti du capteur
int roll_L = 337 + roll; // extrémité gauche de la ligne
int roll_R = 337 - roll; // extrémité droite de la ligne
line(0, roll_L, 1023, roll_R);  //dessine la ligne d'horizon
}
« Last Edit: June 30, 2011, 12:35:27 pm by Alfred Ingrassia » Logged

Forum Moderator
Geneva
Offline Offline
Faraday Member
*****
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

il faut adapter pour ton écran...

Code:
line(0, roll_L, 399, roll_R);

deviendra :

Code:
drawLine(0, roll_L, 399, roll_R);

Ou un truc du genre...
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Draguignan (Var)
Offline Offline
Jr. Member
**
Karma: 0
Posts: 71
Arduino, voila une bonne invention...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Idem, meme erreur, j'avais deja essayé...

Je pense selon la doc du lcd qu'il faut mettre sous cette forme la..

drawLine(x0, y0, x1, y1, color)

J'ai donc ajouté:
#define BLACK 0x000000
et
lcd.drawLine(0, roll_L, 337, roll_R, BLACK);

Miracle j'ai bien une ligne qui bouge, mais elle n'est pas au bon endroit....
« Last Edit: June 30, 2011, 01:12:04 pm by Alfred Ingrassia » Logged

Forum Moderator
Geneva
Offline Offline
Faraday Member
*****
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Un bonne nouvelle... suit elle les mouvements de ton capteur ?

Elle est ou trop haut ou trop bas....

chez moi c'est pareille, et j'ai corrigé de cette façon :

Quote
line(0, roll_L-50, 399, roll_R-50);  //dessine la ligne d'horizon
« Last Edit: June 30, 2011, 02:01:12 pm by Jean-François » Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Draguignan (Var)
Offline Offline
Jr. Member
**
Karma: 0
Posts: 71
Arduino, voila une bonne invention...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai corrigé la ligne, elle semble suivre le sens du capteur, mais elle fonctionne par saccades et affiche une multitude de lignes, je pense qu'il faut afficher la ligne actuelle, effacer la ligne et afficher la ligne suivante (selon ma logique)..tu me corrige si je me trompe
Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai corrigé la ligne, elle semble suivre le sens du capteur, mais elle fonctionne par saccades et affiche une multitude de lignes, je pense qu'il faut afficher la ligne actuelle, effacer la ligne et afficher la ligne suivante (selon ma logique)..tu me corrige si je me trompe

Tu dois tracer une ligne au point précédant pour éviter un clear complet de l'écran, exemple:
Code:
#include <MI0283QT2.h>

MI0283QT2 lcd;

void setup()
{
  lcd.init(4);
  lcd.clear(COLOR_WHITE);
  

lcd.fillRect(0, 0, 319, 120, RGB(0,0,255)); // trace un rectangle plein bleu
lcd.fillRect(0, 120, 319, 239, RGB(152,52,2)); // trace un rectangle plein marron

}

int roll;

int repos = 337; // valeur roulis au repos exemple au pif
int roll_L = 337 + roll; // extrémité gauche de la ligne
int roll_R = 337 - roll; // extrémité droite de la ligne
//roll = int(valeur du capteur)-valeur du capteur au repos ;
int beforeX = 0;
int beforeY = 0;

void loop()
{
roll = analogRead(A0) - repos; // valeur du roulie en sorti du capteur
int roll_L = 337 + roll; // extrémité gauche de la ligne
int roll_R = 337 - roll; // extrémité droite de la ligne
lcd.line(0, beforeX, 399, beforeY);  //efface l'ancienne ligne d'horizon
lcd.line(0, roll_L-50, 399, roll_R-50);  //dessine la ligne d'horizon
beforeX = roll_L-50;
beforeY = roll_R-50;
}
« Last Edit: June 30, 2011, 02:50:10 pm by skywodd » Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Draguignan (Var)
Offline Offline
Jr. Member
**
Karma: 0
Posts: 71
Arduino, voila une bonne invention...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

OK Jean François je te laisse car je dois preparer mon planning pour demain, j'essayerais le code demain, la bonne soirée a toi et encore merci pour le coup de main, je commence a comprendre un peu le fonctionnement general...

Amitiées Fred
Logged

Forum Moderator
Geneva
Offline Offline
Faraday Member
*****
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

C'est sur que sans avoir l'écran sous les yeux c'est difficile pour moi d'apprécier...  smiley-mr-green

Merci Skywodd pour le coup de main  smiley-wink


Est ce que :

Code:
line(0, beforeX, 399, beforeY);  //efface l'ancienne ligne d'horizon
line(0, roll_L-50, 399, roll_R-50);  //dessine la ligne d'horizon

ne devrait pas être :

Code:
lcd.drawLine(0, beforeX, 399, beforeY,BLEU);  //efface l'ancienne ligne d'horizon
lcd.drawLine(0, roll_L-50, 399, roll_R-50,BLACK);  //dessine la ligne d'horizon


?
« Last Edit: June 30, 2011, 02:05:07 pm by Jean-François » Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Est ce que :

Code:
line(0, beforeX, 399, beforeY);  //efface l'ancienne ligne d'horizon
line(0, roll_L-50, 399, roll_R-50);  //dessine la ligne d'horizon

ne devrait pas être :

Code:
lcd.drawLine(0, beforeX, 399, beforeY,BLEU);  //efface l'ancienne ligne d'horizon
lcd.drawLine(0, roll_L-50, 399, roll_R-50,BLACK);  //dessine la ligne d'horizon


Ho la boulette ! Mais oui bien sur (/facepalm), désolé j'ai passé 6 heures sur un casse google pour gagner un chromebook j'ai le cerveau en marmelade.
Post édité, désolé.
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Draguignan (Var)
Offline Offline
Jr. Member
**
Karma: 0
Posts: 71
Arduino, voila une bonne invention...
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut Skywodd, je changerais ces lignes demain, par contre normalement la ligne sur un horizon artificiel doit rester fixe, c'est la jonction du carré bleu(ciel) et du carré marron (sol) qui doit bouger...A propos connais tu PYXIS ?
« Last Edit: July 01, 2011, 01:15:54 pm by Alfred Ingrassia » Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Salut Skywodd, je changerais ces lignes demain, par contre normalement la ligne sur un horizon artificiel doit rester fixe, c'est la jonction du carré bleu(ciel) et du carré marron (sol) qui doit bouger...
ça sort de mes capacité en math là ^^" je regarderai ça de plus prés.

A propos connais tu PYXIS ?
Heuu pyxis ? Pyxis Os ?
-> http://www.skewworks.com/pyxis/ ?
Si c'est lui oui je connais.
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Forum Moderator
Geneva
Offline Offline
Faraday Member
*****
Karma: 30
Posts: 3231
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

par contre normalement la ligne sur un horizon artificiel doit rester fixe, c'est la jonction du carré bleu(ciel) et du carré marron (sol) qui doit bouger

On va y venir...
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Pages: 1 ... 6 7 [8] 9   Go Up
Jump to: