Tutoriel 3 : Comment programmer une carte Ardupilot ? (Partie 1)

Carte Ardupilot

Cette semaine, nous ne quittons pas le monde d’Arduino et stoppons notre attention sur la carte Ardupilot. La carte Ardupilot est un projet open source basé sur Arduino, qui était destiné aux UAV (ces drones aériens à quatre hélices auxquels ressemble l’AR-Drone).

La première version d’Ardupilot était basée sur une thermopile, un dispositif électronique qui convertit l’énergie thermique en énergie électrique. Ce système lui permettait de déterminer un horizon hypothétique par la mesure de la différence entre la température du sol et du ciel. Ce système fut ensuite remplacé par une centrale d’attitude IMU (Inertial measurement unit), bien plus efficace grâce à la combinaison d’accéléromètres, de gyroscopes et de magnétomètres.

Bref, aujourd’hui cette carte a tellement vu sa communauté de développeurs augmenter qu’on peut l’appliquer à d’autres appareils comme les voiliers (suivez mon regard). Nous allons ici expliquer comment la programmer. Les tutoriels peuvent être améliorer au cours du temps, donc ne vous inquiétez pas des zones incomplètes s’il en reste encore.

Pour la programmer, suivre les étapes du tutoriel Arduino de la semaine dernière jusqu’à l’Etape IV et poursuivre ici.

V – Configurer Eclipse pour Ardupilot.

La carte Ardupilot apporte de nombreux avantages supplémentaires par rapport à la carte Mega ADK simple. Parmi ces avantages, il y a le nombre de capteurs exploitables : Gyromètres, accéléromètres, magnétomètres, capteur de pression et GPS optionnel.

A savoir 1 : La configuration de base de la Ardupilot est la même que pour la Mega ADK. Eclipse ne fait pas de différence entre les deux cartes. Les configurations supplémentaires dont nous allons parler ici correspondent à l’importation de bibliothèques dédiées Ardupilot.

A savoir 2 : Contrairement à la Mega ADK, l’Ardupilot nécessite un branchement supplémentaire pour être alimentée.

V.1) Télécharger le logiciel Git.

Git est ce que l’on appelle un gestionnaire de configuration. Il permet aux développeurs de travailler en collaboration sur les sources logicielles. L’avantage de télécharger les bibliothèques ardupilot avec Git est le fait que leurs mises à jour seront très simples à faire par la suite.
Téléchargez Git ICI .

Procédez ensuite à l’installation. Cliquez sur « Next ».
Git

Cliquez sur « Next ».
Git2

Cliquez sur « Next ».
Git3

Cliquez sur « Next ».
Git4

(La fenêtre suivante n’apparaît pas au même moment de l’installation selon les versions de Git)
message5[1]

Cliquez sur « Next ».
Git5

Cliquez sur « Next ».
Git6

Cliquez sur « Next ».
Git7

Cliquez sur « Finish ».
Git8

Lancez maintenant « Git GUI ».
Git-GUI

Cliquez sur « cloner un dépôt existant ».
GitGUI2

V.2) Télécharger la bibliothèque Ardupilot.

Rentrez le texte comme illustré ci-dessous. (souvenez-vous à quoi correspond le dossier CompilArduino dont nous avons parlé plus tôt dans ce tutoriel 😉 ).
Attention, ne pas créer le dossier « Git » car le logiciel veut absoluement le créer lui-même !
Git9

Patientez… (cette opération peut être très longue donc ne vous inquiétez pas si rien ne change dans l’affichage)
Git10

Au bout de 10 minutes avec une bonne connexion, des choses ont commencé à changer.
Git11

Au bout de 11 minutes, le téléchargement était terminé et nous avions accès à l’interface Git. Pour vérifier que tout est bien chargé, vous pouvez cliquer sur « Dépôt->Parcourir l’arborescence de Master ». Le Master est la branche principal qui recense toutes les modifications qui ont été validées par l’équipe de développeurs. Les autres branches sont des parts de développement qui n’ont pas encore été validées, ou des versions parallèles du développement.

Git12

Nos bibliothèques Ardupilot sont désormais importées, mais comment faire le lien avec Eclipse une fois de plus ?

D’abord, toujours dans le logiciel Git, cliquez sur « Branche->Créer ».

BrancheCreer

Inscrivez un nom de branche et cliquez sur « Créer » comme illustré ci-dessous.

CreerBranche3

V.3) Configuration supplémentaire d’Eclipse par rapport à la Mega ADK.

Dans Eclipse, cliquez sur « Window->Preferences ».

WindowPreferences

Allez dans la section « Arduino->Arduino ».
PreferencesArduinoArduino

Remplacez le « private path » que vous aviez configuré pour la Mega ADK par le lien vers les bibliothèques Ardupilot qui se trouvent dans le dossier Git. Cliquez ensuite sur « ok ».

GitLibraries

Avec le deuxième bouton de la souris, cliquez sur le dossier du projet dans la colonne « Project Explorer ». Puis cliquez sur « Import… ».
Import

Sélectionner « Import Arduino Libraries in the current project ».
ImportArduinoLibraries

A ce moment là, vous êtes devant une liste découpée en 2 parties : Les bibliothèques Arduino d’origine « Arduino Libs », et les bibliothèques Ardupilot « personal libs ».
Vous sélectionnez celles dont vous avez besoin en fonction de ce sur quoi vous voulez travailler.

SelectTheArduinoLib

VI – Programme d’asservissement sur Ardupilot (ACM).

Dans notre cas, nous avons sélectionné les bibliothèques « APM_RC » et « Arduino_Mega_ISR_Registry ».

En cours d’écriture…

Tutoriel 2 : Comment programmer une carte Arduino ? (Partie 1)

Schéma-matériel

Shy Roboticiennes, Shy Roboticiens,

Cette semaine débute la série de tutoriels de la carte Arduino. Cette fameuse carte dont tout le monde parle et dont la communauté grandit chaque jour, est une carte électronique dont les plans ont été publiés en licence libre il y a quelques années déjà, et dont la programmation a largement été simplifiée grâce à ses nombreuses bibliothèques. Cette phrase fera hurler les puristes : Une fois l’interface de développement choisie et configurée, l’utiliser devient un véritable jeu d’enfant !

Aujourd’hui distribuée sous différentes formes et différents prix pour s’adapter aux besoins des acheteurs, on y retrouve en général des entrées/Sorties analogiques, des ports PWM, ports USB, ports de communication RS232, etc. Cette carte était destinée à la programmation multimédia interactive en vue de spectacles ou d’animations artistiques, elle est désormais adoptée par la robotique !

On retiendra deux façons de programmer ces cartes : Via l’interface Processing (inspirée de Wiring1), ou via le logiciel de développement Eclipse que nous préférons car il laisse une plus grande liberté dans les développements.

Dans ce tutoriel, nous allons expliquer comment installer en configurer Eclipse IDE sous Windows 7 pour programmer les cartes Ardupilot et Arduino Mega ADK. La plupart des procédures que nous allons décrire peuvent également aider les Shy Lecteurs restés sous Windows XP utilisant d’autres types de cartes Arduino.
Et oui, nous n’utilisons pas qu’Ubuntu chez Shy Robotics !

Si nous voulons nous situer sur « La représentation d’un robot d’après Shy Robotics », les blocs que nous exploiteront seront :
– La station de conception et de développement : Ce sera l’ordinateur sur lequel nous ferons nos développements.
– Le calculateur, pour les calculs de bas niveau : La carte Arduino.
– L’alimentation électrique : Nous alimentons la station de conception et de développement et la carte Arduino.
– Les données échangées : La station de développement communique avec la carte Arduino via un câble USB.

Représentation d'un robot d'après Shy Robotics et positionnement du tutoriel (explications ici)
Représentation d’un robot d’après Shy Robotics et positionnement du tutoriel (explications ici)

I – Installer l’interface de développement Eclipse IDE.

I.0) Télécharger et installer la machine Java

Si vous n’avez pas installé java, le logiciel Ecplise ne pourra pas s’ouvrir sur votre ordinateur.
La procédure est donc de télécharger et d’installer la machine virtuelle java.

Télécharger Java sur java.com.
Télécharger Java sur java.com.

Une fois l’installation terminée, ajoutez l’adresse de java.exe dans la variable d’environnement « path ». (vous pouvez agrandir l’image ci-dessous pour voir la procédure sous Windows 7)

ajouter java au path

I.1) Télécharger Eclipse

Avant de développer sur la carte Arduino, il vous faudra télécharger l’interface de développement Eclipse IDE pour le langage C++. (Prenez la version 64 bits si votre PC est récent). Sachez que ce programme ne s’installe pas. Vous pourrez directement lancer le fichier exécutable qui se trouve dans le dossier que vous aurez téléchargé et décompressé. Choisissez donc bien l’emplacement de téléchargement. Pour éviter tout problème, il est conseiller de télécharger le fichier à la racine de votre disque dur. Par exemple, sur « D:\ ».

Eclipse-téléchargement

Une fois le téléchargement terminé, décompressez le dossier.

Extraire

Nous allons maintenant installer les extensions qui permettent à Eclipse de converser avec les cartes Arduino (d’après http://www.baeyens.it/eclipse/Install.html).

I.2) Téléchargez le compilateur Arduino

Dans le dossier d’Eclipse que vous avez téléchargé et décompressé, créez un répertoire « CompilArduino ».

CompilArduino

Téléchargez sur « http://arduino.cc/en/Main/Software », la version « Windows » du logiciel d’Arduino dans le dossier « CompilArduino ».

Telecharger-Arduino

CompilArduinoD

Décompressez le fichier « .zip ».

I.3) Installer les extensions Arduino sous Eclipse

– Lancez le programme Eclipse (eclipse.exe). Il vous demande alors un nom d’espace de travail (« workspace »). C’est dans cet espace que sera enregistrée toutes vos configurations. Pour ma part, je l’ai nommé « workspaceTuto ».

Lancer-Eclipse

Il est possible que les deux boites de dialogues illustrées ci-dessous apparaissent à votre écran. Cochez leurs cases et cliquez sur « ok ».

Dialog

Une fois ces deux fenêtres quittées.

– Quittez l’onglet de bienvenue d’Eclipse.
– Cliquez sur le menu « help », puis « install new software ». Entrez « http://www.baeyens.it/eclipse/update » dans la ligne « Work with » puis cliquez sur « Add… ». Ajoutez le nom comme illustré ci-dessous puis validez. Décochez « group items by category ».

Install-New-SoftWare

Cochez « Arduino Eclipse Extensions » puis cliquez sur « Next ».

Install

Cliquez sur « Next ».

Install2

Cochez « I accept the terms of the licence agreement ». Ceci signifie que vous respectez le contexte d’utilisation des extensions. Dans un cadre commercial, il vous faudrait y prêter plus d’attention. Cliquez enfin sur « Finish ».

Install3

Patientez, cliquez sur « ok » dans la fenêtre de dialogue « Security Warning » qui s’affiche, puis sur « Yes » dans la fenêtre de dialogue « Software Updates ».

Install4

Ouvrez à nouveau l’espace de travail dans lequel vous avez choisi de travailler en répondant correctement dans la boîte de dialogue qui apparaît.

Workspace-Launcher

I.4) Configurer les extensions Arduino sous Eclipse

– Ouvrez la fenêtre de préférences en passant par le menu « windows->preferences ».

Preferences

– Ouvrir la section « Arduino » et remplir comme l’image ci-dessous en utilisant l’emplacement du dossier Arduino que vous aviez choisi. Souvenez-vous de l’emplacement du dossier « CompilArduino » et ajoutez la suite du chemin vers le dossier contenant le « arduino.exe ». (« …\CompilArduino\arduino-1.0.3-windows\arduino-1.0.3. »)

Install5

Cliquez sur « ok » pour sauvegarder les préférences. Vous avez désormais un IDE Eclipse configuré pour Arduino !

Voici deux captures d’écran de réglages des préférences qui peuvent beaucoup vous simplifier la vie par la suite si vous les recopiez :

– Dans la section « general->workspace », cochez la sauvegarde automatique avant construction « Save automatically before build ».

preferences1

– Dans la section « C/C++ », à la ligne d’édition titrée « Files to index up-front », écrivez le chemin vers le fichier « Arduino.h. (« …\CompilArduino\arduino-1.0.3-windows\arduino-1.0.3\hardware\arduino\cores\arduino\Arduino.h »). Pas d’inquiétude si la ligne illustrée ci-dessous n’existe pas… Cela m’est également arrivé et tout fonctionne quand même très bien !

preferences2

II – Créer un nouveau projet Arduino sous Eclipse.

– Cliquez sur le menu « File->New->Other… ». Sélectionnez « Arduino->New Arduino Sketch » puis cliquez sur « Next ».

NewArduinoSketch

Nommez votre projet et « Next ».

Clignotuto

A cette étape, il vous faut connecter votre carte Arduino au PC en USB. (Elle est alimentée par l’USB) Nous avons connecté notre Mega ADK qui correspond à une configuration « Board » « Arduino Mega 2560 or Mega ADK ».

Sous Windows 7 :
– Cliquez sur « Démarrer » puis sur « Ordinateur » avec le deuxième bouton de la souris. Cliquez ensuite sur « Propriétés->gestionnaire de périphériques ».
Gestionnaire-de-périphériques

Sous Windows XP :
– Même procédure mais sur « Poste de travail ».

ComputerProprietes

– Regardez le numéro de COM qui est attribué à votre carte Arduino. En l’occurrence ici, nous sommes sur le COM3.
– Cela vous permet d’écrire « COM3 » à la ligne « Port » dans la boîte de dialogue que vous avez laissé ouverte sous Eclipse.

ConfigArdu

– Cliquez sur « Finish ».

Vous pouvez désormais voir votre projet créé dans la colone « Project Explorer ».
Project-Explorer

C’est dans le fichier « .cpp » dans le dossier que vous allez maintenant pouvoir travailler ! Cliquez deux fois sur le nom du fichier « .cpp ».

ClignotutoCpp

Vous constatez l’existence de deux fonctions :
– Setup : Fonction d’initialisation de la carte. Elle vous permet de choisir les paramètres d’initialisation de la carte Arduino.
– Loop : Boucle infinie exécutée après l’initialisation. C’est là que l’intelligence sera codée.

Nous sommes maintenant prêts à programmer ! Youhouuuu !

Résumé vidéo ici :

arduino serial demo from Shy Robotics on Vimeo.

III – Faire clignoter une Diode Electro Luminescente (DEL).

Recopiez le code ci-dessous dans le fichier .cpp dont nous parlions précédemment.


#include "Clignotuto.h"

// Fonction d'initialisation de la carte
void setup()
{
	 // La pate 13 a une diode connectée sur la plupart des Cartes Arduino.
	 pinMode(13, OUTPUT);
}

// Boucle infinie
void loop()
{
	digitalWrite(13, HIGH);   // Allumage de la diode
	delay(500);              // Attente de une demi seconde
	digitalWrite(13, LOW);    // Estinction de la diode
	delay(1000);              // Attente de 1 seconde
}

Avec le second bouton de la souris, cliquez sur le dossier du projet dans la colonne « Project Explorer », puis sur « Build Project ».

Build-Project

Patientez…

PatientezBuild

Votre projet est compilé, il ne reste plus qu’à le charger sur la carte Arduino en cliquant sur l’icone « AVR » dans la barre d’outils d’Eclipse.

AVR-icon

Si tout s’est bien passé, l’onglet « Console » de Eclipse vous affiche le message suivant :

AVRDude

Si vous regardez votre carte Arduino, une diode clignote désormais. Sur la Mega ADK, c’est la diode orange à côté du « L ».

ClignotementDEL

IV – Contrôler un servomoteur.

Il faut d’abord importer la bibliothèque arduino adaptée au servomoteur servo.h, en cliquant avec le deuxième bouton de la souris sur le dossier du « Project Explorer » puis sur « Import ».

Import

Sélectionnez « Import Arduino libraries in the current project » puis cliquez sur « Next ».

ImportArduinoLibraries

Sélectionnez la bibliothèque dont vous avez besoin. En l’occurence ici « Servo », puis cliquez sur « Next ».

ServoListLib

Cliquez sur « Finish ».

SelectLib2

Branchez le servomoteur avec la patte rouge sur l’alimentation, la patte noire sur la masse, et la patte jaune sur l’entrée PWM (c’est la consigne). Ici, on a choisi la patte PWM n°6 pour envoyer les ordres au servo.

TutoArduino

Déclarez la bibliothèque utilisée dans votre code en ajoutant « #include « Servo.h » » comme suit.


#include "Clignotuto.h"
#include "servo.h"

int pos = 0;
Servo myservo;

// Fonction d'initialisation de la carte
void setup()
{
	 myservo.attach(6); // Connexion de la patte PWM n°8

}

// Boucle infinie
void loop()
{
	for(pos = 1; pos < 180; pos += 3)  		 // Boucle qui permet de passer d'un angle de 0° à 180° avec un pas de 3°
	{
		    myservo.write(pos);              // Envoie l'ordre de position au servo
		    delay(500);                      // Attente de 500ms
	}

	for(pos = 180; pos>=1; pos-=3)     		  // Boucle qui permet de passer d'un angle de 180° à 0° avec un pas de 3°
	{
		    myservo.write(pos);              //  Envoie l'ordre de position au servo
		    delay(500);                      //  Attente de 500ms
	}

}

Voilà pour ce premier tutoriel de programmation de carte Arduino. En espérant qu’il vous ai bien aidé !

Arduino et le monde du libre, une intelligence collective qui s'instaure en robotique…

Voici une petite conférence de TED en anglais qui évoque l’instauration du monde du libre dans les nouvelles technologies, dont la robotique. Le conférencier s’appuie sur l’essort d’Arduino pour construire son argumentaire.

Et voici le texte de la vidéo pour ceux qui souhaitent le lire.

 » So a few weeks ago, a friend of mine gave this toy car to his 8-year-old son. But instead of going into a store and buying one like we do normally, he went to this website and he downloaded a file, and then he printed it on this printer. So this idea that you can manufacture objects digitally using these machines is something that The Economist magazine defined as the Third Industrial Revolution.

Actually, I argue that there is another revolution going on, and it’s the one that has to do with open-source hardware and the maker’s movement, because the printer that my friend used to print the toy is actually open-source. So you go to the same website, you can download all the files that you need in order to make that printer: the construction files, the hardware, the software, all the instruction is there. And also this is part of a large community where there are thousands of people around the world that are actually making these kinds of printers, and there’s a lot of innovation happening because it’s all open-source. You don’t need anybody’s permission to create something great. And that space is like the personal computer in 1976, like the Apples with the other companies are fighting, and we will see in a few years, there will be the Apple of this kind of market come out.

Well, there’s also another interesting thing. I said the electronics are open-source, because at the heart of this printer is something that I’m really attached to: these Arduino boards, the motherboard that sort of powers this printer, is a project I’ve been working on for the past seven years. It’s an open-source project. I worked with these friends of mine that I have here. So the five of us, two Americans, two Italians and a Spaniard, we — (Laughter) You know, it’s a worldwide project. (Laughter) So we came together in this design institute called the Interaction Design Institute Ivrea, which was teaching interaction design, this idea that you can take design from the simple shape of an object and you can move it forward to design the way you interact with things. Well, when you design an object that’s supposed to interact with a human being, if you make a foam model of a mobile phone, it doesn’t make any sense. You have to have something that actually interacts with people. So, we worked on Arduino and a lot of other projects there to create platforms that would be simple for our students to use, so that our students could just build things that worked, but they don’t have five years to become an electronics engineer. We have one month.

So how do I make something that even a kid can use? And actually, with Arduino, we have kids like Sylvia that you see here, that actually make projects with Arduino. I have 11-year-old kids stop me and show me stuff they built for Arduino that’s really scary to see the capabilities that kids have when you give them the tools.

So let’s look at what happens when you make a tool that anybody can just pick up and build something quickly, so one of the examples that I like to sort of kick off this discussion is this example of this cat feeder. The gentleman who made this project had two cats. One was sick and the other one was healthy, so he had to make sure they ate the proper food. So he made this thing that recognizes the cat from a chip mounted inside on the collar of the cat, and opens the door and the cat can eat the food. This is made by recycling an old CD player that you can get from an old computer, some cardboard, tape, couple of sensors, a few blinking LEDs, and then suddenly you have a tool. You build something that you cannot find on the market. And I like this phrase: « Scratch your own itch. » If you have an idea, you just go and you make it. This is the equivalent of sketching on paper done with electronics.

So one of the features that I think is important about our work is that our hardware, on top of being made with love in Italy — as you can see from the back of the circuit — (Laughter) is that it’s open, so we publish all the design files for the circuit online, so you can download it and you can actually use it to make something, or to modify, to learn. You know, when I was learning about programming, I learned by looking at other people’s code, or looking at other people’s circuits in magazines. And this is a good way to learn, by looking at other people’s work. So the different elements of the project are all open, so the hardware is released with a Creative Commons license. So, you know, I like this idea that hardware becomes like a piece of culture that you share and you build upon, like it was a song or a poem with Creative Commons. Or, the software is GPL, so it’s open-source as well. The documentation and the hands-on teaching methodology is also open-source and released as the Creative Commons. Just the name is protected so that we can make sure that we can tell people what is Arduino and what isn’t.

Now, Arduino itself is made of a lot of different open-source components that maybe individually are hard to use for a 12-year-old kid, so Arduino wraps everything together into a mashup of open-source technologies where we try to give them the best user experience to get something done quickly.

So you have situations like this, where some people in Chile decided to make their own boards instead of buying them, to organize a workshop and to save money. Or there are companies that make their own variations of Arduino that fit in a certain market, and there’s probably, maybe like a 150 of them or something at the moment. This one is made by a company called Adafruit, which is run by this woman called Limor Fried, also known as Ladyada, who is one of the heroes of the open-source hardware movement and the maker movement. So, this idea that you have a new, sort of turbo-charged DIY community that believes in open-source, in collaboration, collaborates online, collaborates in different spaces. There is this magazine called Make that sort of gathered all these people and sort of put them together as a community, and you see a very technical project explained in a very simple language, beautifully typeset. Or you have websites, like this one, like Instructables, where people actually teach each other about anything. So this one is about Arduino projects, the page you see on the screen, but effectively here you can learn how to make a cake and everything else. So let’s look at some projects.

So this one is a quadcopter. It’s a small model helicopter. In a way, it’s a toy, no? And so this one was military technology a few years ago, and now it’s open-source, easy to use, you can buy it online. DIY Drones is the community; they do this thing called ArduCopter. But then somebody actually launched this start-up called Matternet, where they figured out that you could use this to actually transport things from one village to another in Africa, and the fact that this was easy to find, open-source, easy to hack, enabled them to prototype their company really quickly.

Or, other projects. Matt Richardson: I’m getting a little sick of hearing about the same people on TV over and over and over again, so I decided to do something about it. This Arduino project, which I call the Enough Already, will mute the TV anytime any of these over-exposed personalities is mentioned. (Laughter) I’ll show you how I made it. (Applause) MB: Check this out. MR: Our producers caught up with Kim Kardashian earlier today to find out what she was planning on wearing to her — MB: Eh? (Laughter) MR: It should do a pretty good job of protecting our ears from having to hear about the details of Kim Kardashian’s wedding. MB: Okay. So, you know, again, what is interesting here is that Matt found this module that lets Arduino process TV signals, he found some code written by somebody else that generates infrared signals for the TV, put it together and then created this great project.

It’s also used, Arduino’s used, in serious places like, you know, the Large Hadron Collider. There’s some Arduino balls collecting data and sort of measuring some parameters. Or it’s used for — (Music) So this is a musical interface built by a student from Italy, and he’s now turning this into a product. Because it was a student project becoming a product. Or it can be used to make an assistive device. This is a glove that understands the sign language and transforms the gestures you make into sounds and writes the words that you’re signing on a display. And again, this is made of all different parts you can find on all the websites that sell Arduino-compatible parts, and you assemble it into a project. Or this is a project from the ITP part of NYU, where they met with this boy who has a severe disability, cannot play with the PS3, so they built this device that allows the kid to play baseball although he has limited movement capability.

Or you can find it in arts projects. So this is the txtBomber. So you put a message into this device and then you roll it on the wall, and it basically has all these solenoids pressing the buttons on spray cans, so you just pull it over a wall and it just writes on the wall all the political messages. So, yeah. (Applause) Then we have this plant here. This is called Botanicalls, because there’s an Arduino ball with a Wi-Fi module in the plant, and it’s measuring the well-being of the plant, and it’s creating a Twitter account where you can actually interact with the plant. (Laughter) So, you know, this plant will start to say, « This is really hot, » or there’s a lot of, you know, « I need water right now. » (Laughter) So it just gives a personality to your plant. Or this is something that twitters when the baby inside the belly of a pregnant woman kicks. (Laughter) Or this is a 14-year-old kid in Chile who made a system that detects earthquakes and publishes on Twitter. He has 280,000 followers. He’s 14 and he anticipated a governmental project by one year. (Applause) Or again, another project where, by analyzing the Twitter feed of a family, you can basically point where they are, like in the « Harry Potter » movie. So you can find out everything about this project on the website. Or somebody made a chair that twitters when somebody farts. (Laughter) It’s interesting how, in 2009, Gizmodo basically defined, said that this project actually gives a meaning to Twitter, so it was — a lot changed in between. (Laughter)

So very serious project. When the Fukushima disaster happened, a bunch of people in Japan, they realized that the information that the government was giving wasn’t really open and really reliable, so they built this Geiger counter, plus Arduino, plus network interface. They made 100 of them and gave them to people around Japan, and essentially the data that they gathered gets published on this website called Cosm, another website they built, so you can actually get reliable real-time information from the field, and you can get unbiased information. Or this machine here, it’s from the DIY bio movement, and it’s one of the steps that you need in order to process DNA, and again, it’s completely open-source from the ground up. Or you have students in developing countries making replicas of scientific instruments that cost a lot of money to make. Actually they just build them themselves for a lot less using Arduino and a few parts. This is a pH probe.

Or you get kids, like these kids, they’re from Spain. They learned how to program and to make robots when they were probably, like, 11, and then they started to use Arduino to make these robots that play football. They became world champions by making an Arduino-based robot. And so when we had to make our own educational robot, we just went to them and said, you know, « You design it, because you know exactly what is needed to make a great robot that excites kids. » Not me. I’m an old guy. What am I supposed to excite, huh? (Laughter) But as I — in terms of educational assets. (Laughter)

There’s also companies like Google that are using the technology to create interfaces between mobile phones, tablets and the real world. So the Accessory Development Kit from Google is open-source and based on Arduino, as opposed to the one from Apple which is closed-source, NDA, sign your life to Apple. Here you are. There’s a giant maze, and Joey’s sitting there, and the maze is moving when you tilt the tablet.

Also, I come from Italy, and the design is important in Italy, and yet very conservative. So we worked with a design studio called Habits, in Milan, to make this mirror, which is completely open-source. This doubles also as an iPod speaker. So the idea is that the hardware, the software, the design of the object, the fabrication, everything about this project is open-source and you can make it yourself. So we want other designers to pick this up and learn how to make great devices, to learn how to make interactive products by starting from something real.

But when you have this idea, you know, what happens to all these ideas? There’s, like, thousands of ideas that I — You know, it would take seven hours for me to do all the presentations. I will not take all the seven hours. Thank you. But let’s start from this example: So, the group of people that started this company called Pebble, they prototyped a watch that communicates via Bluetooth with your phone, and you can display information on it. And they prototyped with an old LCD screen from a Nokia mobile phone and an Arduino. And then, when they had a final project, they actually went to Kickstarter and they were asking for 100,000 dollars to make a few of them to sell. They got 10 million dollars. They got a completely fully funded start-up, and they don’t have to, you know, get VCs involved or anything, just excite the people with their great project.

The last project I want to show you is this: It’s called ArduSat. It’s currently on Kickstarter, so if you want to contribute, please do it. It’s a satellite that goes into space, which is probably the least open-source thing you can imagine, and it contains an Arduino connected to a bunch of sensors. So if you know how to use Arduino, you can actually upload your experiments into this satellite and run them. So imagine, if you as a high school can have the satellite for a week and do satellite space experiments like that.

So, as I said, there’s lots of examples, and I’m going to stop here. And I just want to thank the Arduino community for being the best, and just every day making lots of projects. Thank you. (Applause)

(Applause)

And thanks to the community.

Chris Anderson: Massimo, you told me earlier today that you had no idea, of course, that it would take off like this.

MB: No.

CA: I mean, how must you feel when you read this stuff and you see what you’ve unlocked?

MB: Well, it’s the work of a lot of people, so we as a community are enabling people to make great stuff, and I just feel overwhelmed. It’s just, it’s difficult to describe this. Every morning, I wake up and I look at all the stuff that Google Alerts sends me, and it’s just amazing. It’s just going into every field that you can imagine.

CA: Thank you so much. (Applause)

(Applause)  »

Source :
TED

Les débuts du voilier de Shy Robotics

Cela fait déjà plus d’un mois que le projet ShyBoat a débuté, et nous avons déjà bien avancé !
Pour le moment, nous nous sommes concentrés sur deux pôles majeurs : La structure mécanique et l’intelligence embarquée.
L' »intelligence embarquée » est composée de l’électronique, l’informatique et les algorithmes implémentés pour notre voilier autonome.

La structure mécanique


Après un tour des nombreux sites Internet de passionnés, notre oeil s’est porté sur les plans d’un voilier nommé « Sony Ericson » proposés par l’organisation Velarc à l’échelle 1:18.

Nous les avons imprimés puis collés sur des panneaux de fibre MDH 6mm d’épaisseur (120*60mm). Il ne restait plus qu’à faire le découpage de ces panneaux en suivant bien les traits.

Je sais… les découpages ne ressemblent pas réellement à ceux d’une coque de voilier ! En fait, avant de réaliser la coque, nous devons en réaliser le master (le moule du moule de la coque 🙂 ). Le travail décrit ici est la réalisation du master.

Nous avons vissé les formes obtenues le long d’une planche d’aggloméré basique.

Le long de ces formes, nous avons collé de fines lattes. Pour que la colle tienne, vous pouvez constater que nous avons du ruser quelques peu.

Et voilà où nous en sommes aujourd’hui.

D’ici quelques semaines, nous pourrons poster les premières photos du master terminé. Souhaitez nous bonne chance pour réussir du premier coup ! 🙂

L’intelligence embarquée

Côté « intelligence embarquée », après une petite étude de l’environnement et des actions à mener pour guider notre navire, nous avons défini l’ensemble des fonctionnalités que nous souhaitions développer pour le prototype 1.

De là, nous avons choisi une liste de composants répondant à nos attentes. Les trois solutions ci-dessous ont retenu notre attention.
___________________________

Comparaison des fonctionnalités
ArduPilot Mega kit + mag ArduPilot Mega 2.0 Lisa/M
Alimentation 5V-15V 5V 5V-16V
Centrale Inertielle 3 Mags, 3 Gyros, 3 Accels 3 Mags, 3 Gyros, 3 Accels 3 Mags, 3 Gyros, 3 Accels
Pression Statique / altimetre 25cm Statique / altimetre 10cm statique / altimetre 25cm
GPS 10Hz MT3329 10Hz MT3329 extra ublox LEA-5H/6H
Nombre de sortie servo-moteur 8 8 7
Interface récepteur modélisme 8 entrée PPM (signal servo) 8 UART (spectrum) / PPM
Tension logique 5V 5V 3.3V / 5V
Tension disponible et puissance 5V (1.5A ? linear) input = 5V, 3.3V 500mA 5V 250mA / 3.3V 500mA (both linear)
Micro-contrôleur principal ATMEGA1280 8bit / 16MHz 128kB flash, 8kB RAM ATMEGA1280 8bit / 16MHz 128kB flash, 8kB RAM STM32F105RC 32-bit Cortex M3/ 72MHz 256kB flash, 64kB RAM
Interfaces externe 4 UART, 1 SPI, 1 I2C, 14 analog 4 UART, 1 SPI, 1 I2C, 14 analog 3 UART, 1 SPI, 1 I2C, 1 CAN, 7 Analog
Langage C / C++ C / C++ C
Programmation USB USB USB (v2) / (JTAG v1) (+$80)
Prix $255.00 + $44.90 $199.00 $250.00 + $80
Disponibilité Now 6-12 weeks Now
Licence Hard CC-BY-SA CC-BY-SA CC-BY-SA
Licence Soft GPL GPL GPL
Documentation wiki wiki wiki

___________________________

Choisir une base autour de laquelle une communauté s’est formée faisait partie de notre volonté. C’est pourquoi le kit Ardupilote Mega basé sur une carte Arduino, est celui que nous utiliserons.

Il offre l’avantage d’inclure un système GPS, un capteur de pression, une centrale d’attitude, des sorties servomoteurs, et bien d’autres choses intéressantes. Nous détaillerons leurs utilisation lorsque nous les mettrons en place.
Pour communiquer avec le ShyBoat, nous utiliserons la technologie sans fil XBee qui exploite le protocole IEEE 802.15.4.

En parallèle du développement de l’électronique, il nous faut maintenant penser à la protection de notre matériel électronique à l’aide de connecteurs étanches. Il est l’heure d’envisager un partenariat…

Prochaines nouvelles d’ici un mois ! 🙂

Un simulateur de vaisseau spacial Viper inspiré de Battlestar Galactica !

Un groupe de passionnés de technologies travaille actuellement sur un simulateur de Mark VII Viper, ce vaisseau inventé par la série télévisée Battlestar Galactica.
Pour cela, ils ont choisi de recycler la cabine de pilotage d’un avion Piper PA-28.

Ils utilisent une carte Arduino pour contrôler leur système dont on voit le premier test filmé en version miniature ici :

La vidéo suivante montre le passage du miniature à une taille plus abordable pour un être humain :

Certains nous prennent pour des fous, d’autres tentent d’autres exploits, mais une chose est certaine : La robotique grandit grâce à ses passionnés ! 🙂

Source : Kotaku

TRRSTAN, transformez votre téléphone en robot avec une plateforme Arduino !

Plus la peine de mettre les mains dans le cambouis pour faire un robot ! Désormais, n’importe quel informaticien ayant une notion de l’exploitation de l’information numérique peut créer son propre robot ! 🙂

Connectez deux servomoteurs à une carte Arduino, reliez votre téléphone sous Android à cette même carte, et le tour est joué ! Le reste du travail consiste à gérer les communications entre les composants, le téléphone et la télécommande. Tout cela se fait en écrivant un programme pour le téléphone et un autre pour la carte électronique Arduino.

Le projet TRRSTAN qui utilise cette méthode vous permet d’envoyer des commandes via Google Chat, un explorateur web ou une télécommande Wii. L’information est ensuite transmise en analogique via la prise jack.

Si l’idée vous intéresse, allez donc voir le projet équivalent de Google ! 🙂

Sources :
Make
Arduino